Skip to main content
POST
Simulate Solana Transaction
Simulate a Solana transaction to analyze its effects and risks before broadcasting it to the network. Returns detailed instruction parsing, asset transfers, balance changes, state predictions, and account risk scoring.

Why Use This API?

  • Pre-Broadcast Validation: Validate a transaction’s execution without committing it to the blockchain.
  • Debugging: Identify issues such as program errors or insufficient balances.
  • Cost Estimation: Assess fees and compute units before broadcasting.
  • Risk Assessment: Identify whether any accounts involved in the transaction are malicious or suspicious.

How to Use

1

Prepare a Transaction

Use @solana/web3.js or any other SDK to construct a base64-encoded or base58-encoded Solana transaction.
2

Submit to the Endpoint

Send a POST request with header Content-Type: application/json and this JSON body:
3

Analyze the Response

Review instruction_groups, asset_transfers, lamport_changes, expected_state_changes, transaction_risk, transaction_summary, and error to understand effects and risks.
Cluster support: devnet, testnet, mainnet-beta

Key Features

  • Instruction Parsing: Automatic parsing for all programs with public IDLs. For programs without public IDLs, we reverse-engineer the instruction format (marked with "reverse_engineered": true).
  • Nested Transaction Decoding: Squads v4 embedded transaction messages and Squads v3 addInstruction operations are automatically decoded and parsed.
  • State Change Predictions: Predicted account and token updates based on simulation.
  • Asset Movement Analysis: Detects token and SOL transfers with source, destination, mint, and amount.
  • Account Risk Scoring: Risk assessment of all involved addresses, including malicious address proximity analysis.
  • Exploit Risk Detection: Identifies potential exploit behaviors such as address poisoning attacks.

Response Breakdown

Fee Confidence

The transaction_summary includes a fee confidence indicator:
Risk analysis is currently performed on the main transaction level. Embedded transactions and instructions in nested instruction data are not currently included in risk scoring.
We continuously add support for new program parsers. If there is a specific program you’d like included, contact us with the request.

Authorizations

X-API-KEY
string
header
required

Authorization method required to allow user to access the api endpoints.

Body

application/json
tx
string
required

Encoded raw transaction (base64 or base58)

Minimum string length: 1
Example:

"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAMFEJeb5qTc67efsgZI7ONZ7zVxpO4dt1RQdJUXALHbMrqWD8daOMRtjpRGL/NJrFK4+dloWCuEb9yNAU0iiTXfswbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpHONZ7VoBLgT6FCucdRocXofP0KAWG5yF/9MbeM382PbG+nrzvtutOj1l82qryXQxsbvkwtL24OR8pgIDRS9dYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIDAQMACQQA5AtUAgAAAAIEAQQDAAoNAOQLVAIAAAAGAgIBAAEF"

encoding_type
enum<string>
required

Encoding type of the transaction

Available options:
base64,
base58
Example:

"base64"

Response

201 - application/json

The response is of type object.

Last modified on June 17, 2026