# getAccountInfo Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/er/getAccountInfo pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getAccountInfo.json POST / Get AccountInfo for a single account. # getBlockhashForAccounts Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/er/getBlockhashForAccounts pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getBlockhashForAccounts.json POST / Get blockhash for multiple account addresses. # getDelegationStatus Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/er/getDelegationStatus pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getDelegationStatus.json POST / Get delegation status for a single account from Magic Router. # getIdentity Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/er/getIdentity pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getIdentity.json POST / Get the identity information of the current ER Validator # getRoutes Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/er/getRoutes pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getRoutes.json POST / Get available ephemeral rollup nodes from the Magic Router # getSignatureStatuses Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/er/getSignatureStatuses pages/ephemeral-rollups-ers/api-reference/er/openapi/openapi-getSignatureStatuses.json POST / Returns the confirmation status for one or more signatures # Introduction Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/er/introduction MagicBlock Router API documentation ## Overview The MagicBlock Router API is a JSON-RPC API that implements almost all standard Solana RPC methods and adds router-specific methods. It simplifies multi-node setups by handling node selection and routing behind a single endpoint. It can be used to retrieve delegation status for accounts and identify the closest node for request execution. For example, `getBlockhashForAccounts` returns a blockhash from the appropriate node based on the provided accounts and their delegation status. **Mainnet URL:** `https://router.magicblock.app` **Devnet URL:** `https://devnet-router.magicblock.app` **API Version:** 2.0 ## Main Operations ### Network Information * [**Get Routes**](/pages/ephemeral-rollups-ers/api-reference/er/getRoutes) - Query available routing information * [**Get Identity**](/pages/ephemeral-rollups-ers/api-reference/er/getIdentity) - Retrieve identity information ### Account Operations * [**Get Account Info**](/pages/ephemeral-rollups-ers/api-reference/er/getAccountInfo) - Fetch account information * [**Get Blockhash For Accounts**](/pages/ephemeral-rollups-ers/api-reference/er/getBlockhashForAccounts) - Get blockhash for specific accounts ### Status & Delegation * [**Get Signature Statuses**](/pages/ephemeral-rollups-ers/api-reference/er/getSignatureStatuses) - Check transaction signature statuses * [**Get Delegation Status**](/pages/ephemeral-rollups-ers/api-reference/er/getDelegationStatus) - Query delegation information ## Key Features * **Solana RPC Coverage** - Implements almost all standard Solana RPC methods through the router * **Router-Specific Methods** - Adds methods such as `getBlockhashForAccounts` and `getDelegationStatus` * **Simplified Multi-Node Setup** - Use one router endpoint instead of manually managing multiple node endpoints * **Fast Route Query** - Efficiently determine routing paths for transactions * **Account State** - Access current account information and balances * **Transaction Tracking** - Monitor transaction status and confirmation * **Delegation Queries** - Check delegation relationships through the router ## Use Cases * Retrieve account balances and state * Check transaction confirmation status * Query route information for transaction routing * Verify delegation configurations * Avoid manual multi-node endpoint management # getAccountInfo Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getAccountInfo pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getAccountInfo.json POST / Returns all information associated with an account of provided Pubkey. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "method": "getAccountInfo", "jsonrpc": "2.0", "params": [ "5RgeA5P8bRaynJovch3zQURfJxXL3QK2JYg1YamSvyLb", { "encoding": "base64" } ], "id": 0 }' ``` # getBalance Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getBalance pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBalance.json POST / Solana JSON-RPC method getBalance. # getBlock Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getBlock pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlock.json POST / Returns identity and transaction information about a confirmed block in the ledger. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getBlock", "params": [ 378967388, { "commitment": "finalized", "encoding": "json", "transactionDetails": "full", "maxSupportedTransactionVersion": 0, "rewards": false } ] }' ``` # getBlockCommitment Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getBlockCommitment pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlockCommitment.json POST / Returns commitment for particular block. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getBlockCommitment", "params": [ 5 ] }' ``` # getBlockHeight Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getBlockHeight pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlockHeight.json POST / Returns the current block height of the node. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getBlockHeight", "params": [ { "commitment": "finalized" } ] }' ``` # getBlockTime Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getBlockTime pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlockTime.json POST / Returns the estimated production time of a block. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getBlockTime", "params": [ 5 ] }' ``` # getBlocks Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getBlocks pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlocks.json POST / Returns a list of confirmed blocks between two slots. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getBlocks", "params": [ 5, 10, { "commitment": "finalized" } ] }' ``` # getBlocksWithLimit Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getBlocksWithLimit pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getBlocksWithLimit.json POST / Returns a list of confirmed blocks starting at the given slot for a given limit. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getBlocksWithLimit", "params": [ 5, 3 ] }' ``` # getFirstAvailableBlock Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getFirstAvailableBlock pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getFirstAvailableBlock.json POST / Solana JSON-RPC method getFirstAvailableBlock. # getGenesisHash Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getGenesisHash pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getGenesisHash.json POST / Solana JSON-RPC method getGenesisHash. # getHealth Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getHealth pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getHealth.json POST / Solana JSON-RPC method getHealth. # getIdentity Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getIdentity pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getIdentity.json POST / Solana JSON-RPC method getIdentity. # getLargestAccounts Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getLargestAccounts pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getLargestAccounts.json POST / Returns the 20 largest accounts, by lamport balance. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getLargestAccounts", "params": [ { "commitment": "finalized" } ] }' ``` # getLatestBlockhash Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getLatestBlockhash pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getLatestBlockhash.json POST / Returns the latest blockhash. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getLatestBlockhash", "params": [ { "commitment": "processed" } ] }' ``` # getLeaderSchedule Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getLeaderSchedule pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getLeaderSchedule.json POST / Returns the leader schedule for an epoch. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getLeaderSchedule", "params": [ null, { "commitment": "processed", "identity": "dv2eQHeP4RFrJZ6UeiZWoc3XTtmtZCUKxxCApCDcRNV" } ] }' ``` # getMinimumBalanceForRentExemption Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getMinimumBalanceForRentExemption pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getMinimumBalanceForRentExemption.json POST / Returns minimum balance required to make account rent exempt. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getMinimumBalanceForRentExemption", "params": [ 50, { "commitment": "processed" } ] }' ``` # getMultipleAccounts Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getMultipleAccounts pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getMultipleAccounts.json POST / Returns the account information for a list of Pubkeys. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getMultipleAccounts", "params": [ [ "vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg", "4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA" ], { "encoding": "base58", "commitment": "finalized" } ] }' ``` # getProgramAccounts Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getProgramAccounts pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getProgramAccounts.json POST / Returns all accounts owned by the provided program Pubkey. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getProgramAccounts", "params": [ "4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T", { "commitment": "finalized", "filters": [ { "dataSize": 17 }, { "memcmp": { "offset": 4, "bytes": "3Mc6vR" } } ] } ] }' ``` # getRecentPerformanceSamples Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getRecentPerformanceSamples pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getRecentPerformanceSamples.json POST / Returns a list of recent performance samples, in reverse slot order. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getRecentPerformanceSamples", "params": [ 2 ] }' ``` # getSignatureStatuses Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getSignatureStatuses pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getSignatureStatuses.json POST / Returns the statuses of a list of signatures. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getSignatureStatuses", "params": [ [ "4cdd1oX7cfVALfr26tP52BZ6cSzrgnNGtYD7BFhm6FFeZV5sPTnRvg6NRn8yC6DbEikXcrNChBM5vVJnTgKhGhVu" ], { "searchTransactionHistory": true } ] }' ``` # getSignaturesForAddress Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getSignaturesForAddress pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getSignaturesForAddress.json POST / Returns signatures for confirmed transactions that include the given address. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getSignaturesForAddress", "params": [ "Vote111111111111111111111111111111111111111", { "commitment": "finalized", "limit": 1 } ] }' ``` # getSlot Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getSlot pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getSlot.json POST / Returns the slot that has reached the given or default commitment level. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getSlot", "params": [ { "commitment": "finalized" } ] }' ``` # getTokenAccountBalance Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getTokenAccountBalance pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTokenAccountBalance.json POST / Returns the token balance of an SPL Token account. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getTokenAccountBalance", "params": [ "7fUAJdStEuGbc3sM84cKRL6yYaaSstyLSU4ve5oovLS7", { "commitment": "finalized" } ] }' ``` # getTokenAccountsByDelegate Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getTokenAccountsByDelegate pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTokenAccountsByDelegate.json POST / Returns all SPL Token accounts by approved Delegate. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getTokenAccountsByDelegate", "params": [ "4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T", { "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { "commitment": "finalized", "encoding": "jsonParsed" } ] }' ``` # getTokenAccountsByOwner Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getTokenAccountsByOwner pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTokenAccountsByOwner.json POST / Returns all SPL Token accounts by token owner. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getTokenAccountsByOwner", "params": [ "A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd", { "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" }, { "commitment": "finalized", "encoding": "jsonParsed" } ] }' ``` # getTokenLargestAccounts Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getTokenLargestAccounts pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTokenLargestAccounts.json POST / Returns the 20 largest accounts of a particular SPL Token type. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getTokenLargestAccounts", "params": [ "3wyAj7Rt1TWVPZVteFJPLa26JmLvdb1CAKEFZm3NY75E", { "commitment": "finalized" } ] }' ``` # getTokenSupply Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getTokenSupply pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTokenSupply.json POST / Returns the total supply of an SPL Token type. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getTokenSupply", "params": [ "3wyAj7Rt1TWVPZVteFJPLa26JmLvdb1CAKEFZm3NY75E", { "commitment": "finalized" } ] }' ``` # getTransaction Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getTransaction pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTransaction.json POST / Returns transaction details for a confirmed transaction. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getTransaction", "params": [ "4ReKprwf3WdLHRrzp4ctPWNBsQDPL3VZz3zMmoZfcGJMJCHh5Vq937mPdyxhCbw54wNnA6hZ7KfNpQdpt13yY7A9", { "commitment": "confirmed", "maxSupportedTransactionVersion": 0, "encoding": "json" } ] }' ``` # getTransactionCount Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getTransactionCount pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getTransactionCount.json POST / Returns the current transaction count from the ledger. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "getTransactionCount", "params": [ { "commitment": "finalized" } ] }' ``` # getVersion Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/getVersion pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-getVersion.json POST / Solana JSON-RPC method getVersion. # RPC API Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/introduction Solana JSON-RPC HTTP methods on MagicBlock devnet RPC endpoints. This section documents the Solana JSON-RPC HTTP method catalog on MagicBlock endpoints: **Devnet:** * `https://devnet-as.magicblock.app/` * `https://devnet-us.magicblock.app/` * `https://devnet-eu.magicblock.app/` * `https://devnet-tee.magicblock.app/` **Mainnet:** * `https://as.magicblock.app/` * `https://us.magicblock.app/` * `https://eu.magicblock.app/` * `https://mainnet-tee.magicblock.app/` The method catalog is aligned with Solana RPC HTTP methods: * [Solana RPC HTTP Methods](https://solana.com/docs/rpc/http) TEE RPC endpoints may require an authentication token for certain methods. See [Authorization guide](/pages/private-ephemeral-rollups-pers/how-to-guide/quickstart#4-authorize) for details. # isBlockhashValid Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/isBlockhashValid pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-isBlockhashValid.json POST / Returns whether a blockhash is still valid or not. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "isBlockhashValid", "params": [ "J7rBdM6AecPDEZp8aPq5iPSNKVkU5Q76F3oAV4eW5wsW", { "commitment": "processed" } ] }' ``` # sendTransaction Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/sendTransaction pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-sendTransaction.json POST / Submits a signed transaction to the cluster for processing. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "sendTransaction", "params": [ "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFggS8w9snUts67BSh3EqKpXLUm5UMHfD7ZBe9GhARjbNQMLJ1QD3Spr6oMTBU6EhdB4RD8CP2xUxr2u3d6fos36PD98XS6oX8TQjLpsMwncs5DAMiD4nNnR8NBfyghGCWvCVifVwvA8B8TJxE1aiyiv2L429BCWfyzAme5sZW8rDb14NeCQHhZbtNqfXhcp2tAnaAT" ] }' ``` # simulateTransaction Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/api-reference/rpc/simulateTransaction pages/ephemeral-rollups-ers/api-reference/rpc/openapi/openapi-rpc-simulateTransaction.json POST / Simulate sending a transaction. ```bash cURL theme={null} curl --request POST \ --url https://devnet-as.magicblock.app/ \ --header 'Content-Type: application/json' \ --data '{ "jsonrpc": "2.0", "id": 1, "method": "simulateTransaction", "params": [ "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEEjNmKiZGiOtSZ+g0//wH5kEQo3+UzictY+KlLV8hjXcs44M/Xnr+1SlZsqS6cFMQc46yj9PIsxqkycxJmXT+veJjIvefX4nhY9rY+B5qreeqTHu4mG6Xtxr5udn4MN8PnBt324e51j94YQl285GzN2rYa/E2DuQ0n/r35KNihi/zamQ6EeyeeVDvPVgUO2W3Lgt9hT+CfyqHvIa11egFPCgEDAwIBAAkDZAAAAAAAAAA=", { "commitment": "confirmed", "encoding": "base64", "replaceRecentBlockhash": true } ] }' ``` # Anchor Example Source: https://docs.magicblock.gg/pages/ephemeral-rollups-ers/how-to-guide/anchor Learn how to write a simple Anchor program that increments a counter on Solana