# 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}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.solanavibestation.com/developers/jito/jito-solana-rpc-methods/simulatebundle.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
