simulateBundle

POSTTransactionsOperator+

Simulates a Jito bundle: up to 20 transactions run in order, each on the state the ones before it left.

Try itSends a real request from your browser to the selected region.
POST
/

simulateBundle runs the transactions of a bundle one after another on the region's current state. Each transaction sees the account changes of the transactions before it. The run stops at the first transaction that fails. Nothing is sent to the network.

The request and the response follow Jito's simulateBundle, so Jito client libraries work unchanged.

PlansOperator and above
FreeNot included
OperatorIncluded
Blade RunnerIncluded
NexusIncluded

Parameters

params is a JSON array, with values in this order: bundle, config.

1bundleobjectrequired

An object with encodedTransactions: 1 to 20 base64-encoded transactions, in bundle order.

Show propertiesProperties
encodedTransactionsstring[]
2configobject

skipSigVerify (default false): skip the signature checks. replaceRecentBlockhash (default false, needs skipSigVerify): run each transaction with the latest blockhash. simulationBank: {"commitment": {"commitment": "processed"}}, confirmed (the default) or finalized, or "tip" for processed. preExecutionAccountsConfigs and postExecutionAccountsConfigs: one entry per transaction, null or {"addresses": [...], "encoding": "base64"}, to return those accounts before or after the transaction runs. transactionEncoding: base64 only.

Result

resultobject

context and value. value.summary is "succeeded", or failed with the error and the signature of the first transaction that failed. value.transactionResults has one entry per transaction that ran: err, logs, unitsConsumed, fee, preBalances, postBalances, the token balances, the requested accounts, returnData, loadedAddresses and, with replaceRecentBlockhash, replacementBlockhash.

Notes

  • The example transactions and blockhash are placeholders.
  • Maximum 20 transactions per call. Base64 only.
  • A transaction that fails comes back with its error, no logs and 0 compute units, the same as Jito's simulateBundle.
  • The state is the region's node state at the requested commitment. A bundle can still fail in a block when its accounts change before it lands. A slot number in simulationBank is not supported.
  • Counts against the plan's bundle limit. Runs in the region and does not use the Jito relay rate.
  • Not accepted in batch requests, and not served on the Neon Zero hostnames. Not included in the Free plan.