simulateTransaction

Simulate sending a transaction to the network.

🚧

Invalid Example

Due to the nature of this endpoint, our request example is not testable. To test this endpoint please enter in valid parameters.

Parameters

  • transaction (string): The transaction as an encoded string. The transaction must have a valid blockhash but is not required to be signed.
  • object (array): The configuration object with the following fields:
    • skipPreflight (boolean, default: false): If true, skip the preflight transaction checks.
    • preflightCommitment (string, default: finalized): The commitment level to use for preflight. Options include:
      • finalized: The node will query the most recent block confirmed by the supermajority of the cluster as having reached maximum lockout, meaning the cluster has recognized this block as finalized.
      • confirmed: The node will query the most recent block that has been voted on by the supermajority of the cluster.
      • processed: The node will query its most recent block. Note that the block may not be complete.
    • encoding (string): The encoding format for account data. It can be one of base58 (slow), base64, base64+zstd, or jsonParsed.
    • maxRetries (usize): The maximum number of times for the RPC node to retry sending the transaction to the leader. If this parameter is not provided, the RPC node will retry the transaction until it is finalized or until the blockhash expires.
    • minContextSlot (integer): The minimum slot at which the request can be evaluated.

Returns

  • result: Null if the account doesn't exist; otherwise, an RpcResponse JSON object with the following fields:
    • context: An object that contains metadata about the current state of the Solana network at the time the request was processed.
    • apiVersion: The version number.
    • slot: The current slot in the Solana cluster during which the transactions are processed and new blocks are added to the blockchain.
    • err: Error code if the transaction failed or null if the transaction succeeds.
    • logs: An array of log messages the transaction instructions output during execution. Null if simulation failed before the transaction was able to execute (for example, due to an invalid blockhash or signature verification failure).
    • accounts: An array of accounts with the same length as the accounts.addresses array in the request. Null if the account doesn't exist or if err is not null; otherwise, a JSON object containing:
      • lamports: The number of lamports assigned to this account as a u64 (64-bit unsigned integer).
      • owner: The base-58 encoded Pubkey of the program this account has been assigned to.
      • data: The data associated with the account, either as encoded binary data or JSON format {'program': 'state'}, depending on the encoding parameter.
      • executable: A boolean indicating if the account contains a program (and is strictly read-only).
      • rentEpoch: The epoch at which this account will next owe rent, as a u64 (64-bit unsigned integer).
Language
Authorization
Header
Click Try It! to start a request and see the response here!