Simulate Solana Transaction
Simulate a Solana transaction to get the address balance changes, state updates, and associated risk analysis.
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.Documentation Index
Fetch the complete documentation index at: https://docs.range.org/llms.txt
Use this file to discover all available pages before exploring further.
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
Prepare a Transaction
@solana/web3.js or any other SDK to construct a base64-encoded or base58-encoded Solana transaction.Submit to the Endpoint
Content-Type: application/json and this JSON body: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
addInstructionoperations 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
| Field | Description |
|---|---|
instruction_groups | Hierarchical view of all instructions with parsed data, program IDs, and stack depth. |
asset_transfers | Detected asset movements (SOL and token transfers) with source, destination, mint, and amount. |
lamport_changes | Balance changes by address showing pre and post-execution balances. |
expected_state_changes | Predicted account-level state updates with formatted details and metadata for UI rendering. |
transaction_risk | Risk analysis containing accounts_risk_score (per-address risk with summary statistics) and exploit_risks_detected. |
returned_data | Data returned by programs during execution. |
logs | Complete transaction execution logs from the Solana runtime. |
transaction_summary | Compute units consumed, fee breakdown (compute fee, prioritization fee, tips), programs invoked, and transaction version. |
error | Failure reason if simulation failed. Other fields may be incomplete when present. |
Fee Confidence
Thetransaction_summary includes a fee confidence indicator:
| Level | Meaning |
|---|---|
| High | Derived from explicit compute budget instructions |
| Medium | Estimated from recent prioritization fees for the locked accounts |
| Low | No data available; fallback logic used |
Authorizations
Use Authorization: Bearer
Body
Encoded raw transaction (base64 or base58)
1"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAMFEJeb5qTc67efsgZI7ONZ7zVxpO4dt1RQdJUXALHbMrqWD8daOMRtjpRGL/NJrFK4+dloWCuEb9yNAU0iiTXfswbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpHONZ7VoBLgT6FCucdRocXofP0KAWG5yF/9MbeM382PbG+nrzvtutOj1l82qryXQxsbvkwtL24OR8pgIDRS9dYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwIDAQMACQQA5AtUAgAAAAIEAQQDAAoNAOQLVAIAAAAGAgIBAAEF"
Encoding type of the transaction
base64, base58 "base64"
Response
The response is of type object.

