Skip to main content
POST
Request fields accept both camelCase and snake_case. See Request Field Names.
Works on EVM chains and TRON Simulation. For Solana, use Solana Transaction Simulation. chain_id is set on each transaction, not at the top level. Send an integer or a string56 and "56" are both valid. value, gas, gas_price, and block_height each accept several encodings of the same number:
requested_items is required in practice. Omitting the key is rejected with 400 invalid request. Any object works — {"balance_changes": true} is the normal minimum, and even {} is accepted.
Fields that belong to a signed transaction — nonce, type, maxFeePerGas, maxPriorityFeePerGas, accessList, v, r, s, hash, blockNumber — are accepted and ignored. You can POST a wallet’s fully populated transaction object as-is.
The legacy page listed invocation_tree. That field does not exist — use call_graph.

Chain Coverage

Chain coverage for this endpoint is broader than the list used by the analysis endpoints and expands over time. Commonly used values: 1 (Ethereum), 56 (BSC), 137 (Polygon), 42161 (Arbitrum), 728126428 (TRON). An unsupported chain is rejected with 400 invalid request. Contact support to confirm a chain not listed here.

risk_level Scale

Used in involved_addresses_risks.
A reverted transaction is a successful API call. The envelope stays code: "0", status: "ok". Read exec_summary.result_code and results[i].revert to detect the revert. Only infrastructure failures produce non-"0" codes.

Headers

X-API-KEY
string
required

Your HashDit API key

Body

application/json

Transactions to simulate and which result sections to return

evm_transactions
object[]
required

Transactions to simulate, executed in order. Minimum 1. Alias transactions also accepted.

Minimum array length: 1
requested_items
object
required

Selects which sections appear in each result. Effectively required: omitting the key is rejected with 400 invalid request. Any object is accepted, including {}. {"balance_changes": true} is the normal minimum. Unset flags are off.

Response

Successful API call. A reverted transaction still returns code: "0" and status: "ok" — read exec_summary.result_code and results[i].revert.

code
string

API status code. "0" indicates the API call succeeded, including when a transaction reverted.

Example:

"0"

status
string

Request status.

Example:

"ok"

data
object