> For the complete documentation index, see [llms.txt](https://docs.solanavibestation.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.solanavibestation.com/developers/jito/jito-solana-rpc-methods/simulatebundle.md).

# simulateBundle

## simulateBundle RPC Method

> Simulate a JITO bundle without executing it on the blockchain. This  method allows you to preview the effects of a bundle of transactions before submission, including account state changes and compute unit consumption.<br>

```json
{"openapi":"3.0.3","info":{"title":"Solana RPC API - simulateBundle Method","version":"1.0.0"},"servers":[{"url":"https://public.rpc.solanavibestation.com"},{"url":"https://basic.rpc.solanavibestation.com"},{"url":"https://ultra.rpc.solanavibestation.com"},{"url":"https://elite.rpc.solanavibestation.com"},{"url":"https://epic.rpc.solanavibestation.com"},{"url":"https://basic.swqos.solanavibestation.com"},{"url":"https://ultra.swqos.solanavibestation.com"},{"url":"https://elite.swqos.solanavibestation.com"}],"paths":{"/":{"post":{"summary":"simulateBundle RPC Method","description":"Simulate a JITO bundle without executing it on the blockchain. This  method allows you to preview the effects of a bundle of transactions before submission, including account state changes and compute unit consumption.\n","operationId":"simulateBundle","tags":["Transaction Simulation"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulateBundleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulateBundleResponse"}}}},"401":{"description":"Unauthorized","content":{"text/plain":{"schema":{"type":"string"}}}},"403":{"description":"Forbidden","content":{"text/plain":{"schema":{"type":"string"}}}},"429":{"description":"Too Many Requests","content":{"text/plain":{"schema":{"type":"string"}}}},"500":{"description":"Internal Server Error","content":{"text/plain":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"SimulateBundleRequest":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","description":"JSON-RPC protocol version","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Request identifier that will be returned in the response"},"method":{"type":"string","description":"The RPC method name","enum":["simulateBundle"]},"params":{"type":"array","description":"Method parameters:\n\n1. Bundle simulation configuration object: Contains encoded transactions and simulation options\n","minItems":1,"maxItems":1,"items":{"$ref":"#/components/schemas/BundleSimulationConfig"}}}},"BundleSimulationConfig":{"type":"object","description":"Bundle simulation configuration object","required":["encodedTransactions"],"properties":{"encodedTransactions":{"type":"array","description":"Array of one or more base64-encoded, serialized transactions for simulation.","items":{"type":"string","description":"Base64-encoded serialized transaction."}},"simulationBank":{"type":"string","description":"Optional bank to run the simulation against."},"skipSigVerify":{"type":"boolean","description":"Whether to skip signature verification before simulation."},"replaceRecentBlockhash":{"type":"boolean","description":"Whether to replace the simulated transaction's recent blockhash with the latest blockhash."},"accounts":{"$ref":"#/components/schemas/AccountsConfig"},"preExecutionAccountsConfigs":{"type":"array","description":"Specifies account state configuration before execution.","items":{"$ref":"#/components/schemas/AccountsConfig"}},"postExecutionAccountsConfigs":{"type":"array","description":"Specifies account state configuration after execution.","items":{"$ref":"#/components/schemas/AccountsConfig"}}}},"AccountsConfig":{"type":"object","description":"Configuration for account data to return","properties":{"accountIndex":{"type":"integer","description":"Index of the account in the transaction"},"addresses":{"type":"array","description":"Array of accounts to return, as base-58 encoded strings.","items":{"type":"string"}},"encoding":{"type":"string","description":"Encoding format for account data.","enum":["base58","base64","base64+zstd","jsonParsed"]}}},"SimulateBundleResponse":{"type":"object","description":"RPC response containing the bundle simulation result","required":["jsonrpc","id"],"properties":{"jsonrpc":{"type":"string","description":"JSON-RPC protocol version","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}],"description":"Request identifier matching the original request"},"result":{"$ref":"#/components/schemas/BundleSimulationResult"},"error":{"$ref":"#/components/schemas/RpcError"}}},"BundleSimulationResult":{"type":"object","description":"Result of the simulated bundle","required":["context"],"properties":{"context":{"$ref":"#/components/schemas/RpcContext"},"err":{"type":["object","null"],"description":"Error if the bundle failed, null if successful"},"logs":{"type":["array","null"],"description":"Array of log messages from transaction execution","items":{"type":"string"}},"preExecutionAccounts":{"type":["array","null"],"description":"Account states before bundle execution","items":{"$ref":"#/components/schemas/AccountData"}},"postExecutionAccounts":{"type":["array","null"],"description":"Account states after bundle execution","items":{"$ref":"#/components/schemas/AccountData"}},"unitsConsumed":{"type":"integer","description":"Number of compute budget units consumed during processing."},"returnData":{"$ref":"#/components/schemas/ReturnData"}}},"RpcContext":{"type":"object","description":"Context information for the RPC response","required":["slot"],"properties":{"apiVersion":{"type":"string","description":"The API version"},"slot":{"type":"integer","format":"int64","description":"Slot in which the data was processed"}}},"AccountData":{"type":"object","description":"Account state information","properties":{"lamports":{"type":"integer","format":"int64","description":"Number of lamports assigned to this account"},"owner":{"type":"string","description":"Base-58 encoded Pubkey of the program this account is assigned to."},"data":{"type":"string","description":"Data associated with the account"},"executable":{"type":"boolean","description":"Whether the account contains a program"},"rentEpoch":{"type":"integer","description":"Epoch at which this account will next owe rent"}}},"ReturnData":{"type":"object","description":"Most recent return data generated by an instruction","properties":{"programId":{"type":"string","description":"Program that generated the return data"},"data":{"type":"string","description":"Return data as base-64 encoded binary data"}}},"RpcError":{"type":"object","description":"Standard JSON-RPC error object","required":["code","message"],"properties":{"code":{"type":"integer","description":"Numeric error code following JSON-RPC 2.0 specification:\n- `-32700`: Parse error (malformed JSON)\n- `-32600`: Invalid request (missing required fields)\n- `-32601`: Method not found\n- `-32602`: Invalid params (invalid transaction or configuration)\n- `-32603`: Internal error (simulation failure)\n- `-32005`: Too Many Requests (rate limiting)\n- `-32004`: Node unhealthy (validator not operational)\n- `-32003`: Unauthorized (authentication required)\n"},"message":{"type":"string","description":"Human-readable error message describing the specific issue"},"data":{"type":"object","description":"Additional structured error information (optional)","additionalProperties":true}}}}}}
```
