magicblock

SKILL.md

MagicBlock Ephemeral Rollups Skill

What this Skill is for

Use this Skill when the user asks for:

  • MagicBlock Ephemeral Rollups integration
  • Delegating/undelegating Solana accounts to ephemeral rollups
  • High-performance, low-latency transaction flows
  • Crank scheduling (recurring automated transactions)
  • VRF (Verifiable Random Function) for provable randomness
  • Dual-connection architecture (base layer + ephemeral rollup)
  • Gaming and real-time app development on Solana

Key Concepts

Ephemeral Rollups enable high-performance, low-latency transactions by temporarily delegating Solana account ownership to an ephemeral rollup. Ideal for gaming, real-time apps, and fast transaction throughput.

Delegation transfers account ownership from your program to the delegation program, allowing the ephemeral rollup to process transactions at ~10-50ms latency vs ~400ms on base layer.

Architecture:

┌─────────────────┐     delegate      ┌─────────────────────┐
│   Base Layer    │ ───────────────►  │  Ephemeral Rollup   │
│    (Solana)     │                   │    (MagicBlock)     │
│                 │  ◄───────────────  │                     │
└─────────────────┘    undelegate     └─────────────────────┘
     ~400ms                                  ~10-50ms

Default stack decisions (opinionated)

  1. Programs: Anchor with ephemeral-rollups-sdk

    • Use ephemeral-rollups-sdk with Anchor features
    • Apply #[ephemeral] macro before #[program]
    • Use #[delegate] and #[commit] macros for delegation contexts
  2. Dual Connections

    • Base layer connection for initialization and delegation
    • Ephemeral rollup connection for operations on delegated accounts
  3. Transaction Routing

    • Delegate transactions → Base Layer
    • Operations on delegated accounts → Ephemeral Rollup
    • Undelegate/commit transactions → Ephemeral Rollup

Operating procedure (how to execute tasks)

1. Classify the operation type

  • Account initialization (base layer)
  • Delegation (base layer)
  • Operations on delegated accounts (ephemeral rollup)
  • Commit state (ephemeral rollup)
  • Undelegation (ephemeral rollup)

2. Pick the right connection

  • Base layer: https://api.devnet.solana.com (or mainnet)
  • Ephemeral rollup: https://devnet.magicblock.app/

3. Implement with MagicBlock-specific correctness

Always be explicit about:

  • Which connection to use for each transaction
  • Delegation status checks before operations
  • PDA seeds matching between delegate call and account definition
  • Using skipPreflight: true for ER transactions
  • Waiting for state propagation after delegate/undelegate

4. Add appropriate features

  • Cranks for recurring automated transactions
  • VRF for verifiable randomness in games/lotteries

5. Deliverables expectations

When you implement changes, provide:

  • Exact files changed + diffs
  • Commands to install/build/test
  • Risk notes for anything touching delegation/signing/state commits

Progressive disclosure (read when needed)

Weekly Installs
22
GitHub Stars
4
First Seen
Jan 26, 2026
Installed on
gemini-cli21
opencode18
amp18
github-copilot18
codex18
kimi-cli18