APIs introduction
Ethereum node API
- Getting started | Ethereum
- Enable Debug & Trace APIs for your Ethereum Node
- Ethereum API Postman Collection
- Blocks info | Ethereum
- Transactions info | Ethereum
- Executing transactions | Ethereum
- Debug and Trace | Ethereum
- Chain info | Ethereum
- Gas data | Ethereum
- Accounts info | Ethereum
- Logs & events | Ethereum
- Client information | Ethereum
- Filter handling | Ethereum
- Subscriptions | Ethereum
Ethereum Beacon Chain API
- Getting tarted | Beacon Chain
- Beacon Chain configuration info
- Beacon Chain events
- Beacon Chain validators info
- Beacon Chain state
Polygon node API
- Getting started | Polygon
- Blocks Info | Polygon
- Transactions info | Polygon
- Executing transactions | Polygon
- Debug & Trace | Polygon
- Chain info | Polygon
- Gas data | Polygon
- Accounts info | Polygon
- Logs & events | Polygon
- Filter handling | Polygon
- Client information | Polygon
- Subscriptions | Polygon
BNB node API
- Getting started | BNB Chain
- Endpoints
Base node API
- Getting started | Base
- Endpoints
Avalanche node API
- Getting started | Avalanche
- Blocks Info | Avalanche
- Transactions info | Avalanche
- Executing transactions | Avalanche
- Debug & Trace | Avalanche
- Chain info | Avalanche
- Gas data | Avalanche
- Accounts info | Avalanche
- Logs & events | Avalanche
- Filter handling | Avalanche
- Client information | Avalanche
- Subscriptions | Avalanche
TON node API
- Getting started | TON
- Getting started | TON
- GETgetAddressInformation | TON v2
- GETgetExtendedAddressInformation | TON v2
- GETgetWalletInformation | TON v2
- GETgetTransactions | TON v2
- GETgetAddressBalance | TON v2
- GETgetAddressState | TON v2
- GETpackAddress | TON v2
- GETunpackAddress | TON v2
- GETgetTokenData | TON v2
- GETdetectAddress | TON v2
- GETgetMasterchainInfo | TON v2
- GETgetMasterchainBlockSignatures | TON v2
- GETgetShardBlockProof | TON v2
- GETgetConsensusBlock | TON v2
- GETlookupBlock | TON v2
- GETshards | TON v2
- GETgetBlockTransactions | TON v2
- GETgetBlockTransactionsExt | TON v2
- GETgetBlockHeader | TON v2
- GETtryLocateTx | TON v2
- GETtryLocateResultTx | TON v2
- GETtryLocateSourceTx | TON v2
- GETgetConfigParam | TON v2
- POSTrunGetMethod | TON v2
- GETmasterchainInfo | TON v3
- GETblocks | TON v3
- GETmasterchainBlockShardState | TON v3
- GETaddressBook | TON v3
- GETmasterchainBlockShards | TON v3
- GETtransactions | TON v3
- GETtransactionsByMasterchainBlock | TON v3
- GETtransactionsByMessage | TON v3
- GETadjacentTransactions | TON v3
- GETmessages | TON v3
- GETnft/collections | TON v3
- GETnft/items | TON v3
- GETnft/transfers | TON v3
- GETjetton/masters | TON v3
- GETjetton/wallets | TON v3
- GETjetton/transfers | TON v3
- GETjetton/burns | TON v3
- POSTrunGetMethod | TON v3
- POSTestimateFee | TON v3
- GETaccount | TON v3
- GETwallet | TON v3
Arbitrum node API
- Getting Started | Arbitrum
- Blocks info | Arbitrum
- Transactions info | Arbitrum
- Executing transactions | Arbitrum
- Debug & Trace | Arbitrum
- Chain info | Arbitrum
- Gas data | Arbitrum
- Accounts info | Arbitrum
- Logs & events | Arbitrum
- Filter handling | Arbitrum
- Client information | Arbitrum
- Subscriptions | Arbitrum
Zksync node API
- Getting started | ZKsync
- Getting started | ZKsync
- POSTzks_L1ChainId | zkSync Era
- POSTzks_estimateFee | zkSync Era
- POSTzks_estimateGasL1ToL2 | zkSync Era
- POSTzks_getAllAccountBalances | zkSync Era
- POSTzks_getBlockDetails | zkSync Era
- POSTzks_getBridgeContracts | zkSync Era
- POSTzks_getBytecodeByHash | zkSync Era
- POSTzks_getL1BatchBlockRange | zkSync Era
- POSTzks_getL1BatchDetails | zkSync Era
- POSTzks_getL2ToL1LogProof | zkSync Era
- POSTzks_getMainContract | zkSync Era
- POSTzks_getRawBlockTransactions | zkSync Era
- POSTzks_getTestnetPaymaster | zkSync Era
- POSTzks_getTransactionDetails | zkSync Era
- POSTzks_L1BatchNumber | zkSync Era
Polygon zkEVM node API
- Getting started
- zkEVM methods | Polygon zkEVM
- POSTeth_blockNumber | zkEVM
- POSTeth_getBlockByNumber | zkEVM
- POSTeth_getBlockByHash | zkEVM
- POSTeth_getBlockTransactionCountByNumber | zkEVM
- POSTeth_getBlockTransactionCountByHash | zkEVM
- POSTeth_newBlockFilter | zkEVM
- POSTeth_getTransactionByHash | zkEVM
- POSTeth_getTransactionReceipt | zkEVM
- POSTeth_getTransactionByBlockNumberAndIndex | zkEVM
- POSTeth_getTransactionByBlockHashAndIndex | zkEVM
- POSTeth_newPendingTransactionFilter | zkEVM
- POSTeth_call | zkEVM
- POSTeth_sendRawTransaction | zkEVM
- POSTeth_getBalance | zkEVM
- POSTeth_getCode | zkEVM
- POSTeth_getStorageAt | zkEVM
- POSTeth_getTransactionCount | zkEVM
- POSTeth_chainId | zkEVM
- POSTeth_syncing | zkEVM
- POSTweb3_clientVersion | zkEVM
- POSTeth_estimateGas | zkEVM
- POSTeth_gasPrice | zkEVM
- POSTeth_getLogs | zkEVM
- POSTeth_newFilter | zkEVM
- POSTeth_getFilterChanges | zkEVM
- POSTeth_uninstallFilter | zkEVM
Optimism node API
- Getting started | Optimism
- POSTeth_blockNumber | Optimism
- POSTeth_getBlockByHash | Optimism
- POSTeth_getBlockByNumber | Optimism
- POSTeth_getBlockTransactionCountByHash | Optimism
- POSTeth_getBlockTransactionCountByNumber | Optimism
- POSTeth_getUncleCountByBlockHash | Optimism
- POSTeth_getUncleCountByBlockNumber | Optimism
- POSTeth_getBlockReceipts | Optimism
- POSTeth_chainId | Optimism
- POSTeth_syncing | Optimism
- POSTeth_call | Optimism
- POSTeth_estimateGas | Optimism
- POSTeth_createAccessList | Optimism
- POSTeth_gasPrice | Optimism
- POSTeth_feeHistory | Optimism
- POSTeth_newFilter | Optimism
- POSTeth_newBlockFilter | Optimism
- POSTeth_uninstallFilter | Optimism
- POSTeth_getFilterChanges | Optimism
- POSTeth_getFilterLogs | Optimism
- POSTeth_getLogs | Optimism
- POSTeth_getBalance | Optimism
- POSTeth_getStorageAt | Optimism
- POSTeth_getTransactionCount | Optimism
- POSTeth_getCode | Optimism
- POSTeth_getProof | Optimism
- POSTeth_getTransactionByHash | Optimism
- POSTeth_getRawTransactionByHash | Optimism
- POSTeth_getTransactionByBlockHashAndIndex | Optimism
- POSTeth_getRawTransactionByBlockHashAndIndex | Optimism
- POSTeth_getTransactionByBlockNumberAndIndex | Optimism
- POSTeth_getRawTransactionByBlockNumberAndIndex | Optimism
- POSTeth_getTransactionReceipt | Optimism
- eth_subscribe newHeads | Optimism
- eth_subscribe logs | Optimism
- eth_unsubscribe | Optimism
- POSTeth_maxPriorityFeePerGas | Optimism
- POSTeth_sendRawTransaction | Optimism
- POSTweb3_clientVersion | Optimism
- POSTweb3_sha3 | Optimism
- POSTnet_listening | Optimism
- POSTeth_callMany | Optimism
- POSTdebug_getModifiedAccountsByNumber | Optimism
- POSTdebug_getModifiedAccountsByHash | Optimism
- POSTdebug_storageRangeAt | Optimism
- POSTdebug_traceBlockByHash | Optimism
- POSTdebug_traceBlockByNumber | Optimism
- POSTdebug_traceTransaction | Optimism
- POSTdebug_traceCall | Optimism
- POSTdebug_traceCallMany | Optimism
Aurora node API
- Getting started | Aurora
- POSTeth_blockNumber | Aurora
- POSTeth_getBlockByNumber | Aurora
- POSTeth_getBlockByHash | Aurora
- POSTeth_getBlockTransactionCountByNumber | Aurora
- POSTeth_getBlockTransactionCountByHash | Aurora
- POSTeth_newBlockFilter | Aurora
- POSTeth_getTransactionByHash | Aurora
- POSTeth_getTransactionReceipt | Aurora
- POSTeth_getTransactionByBlockNumberAndIndex | Aurora
- POSTeth_getTransactionByBlockHashAndIndex | Aurora
- POSTeth_newPendingTransactionFilter | Aurora
- POSTeth_call | Aurora
- POSTeth_sendRawTransaction | Aurora
- POSTeth_getBalance | Aurora
- POSTeth_getCode | Aurora
- POSTeth_getStorageAt | Aurora
- POSTeth_getTransactionCount | Aurora
- POSTeth_chainId | Aurora
- POSTeth_syncing | Aurora
- POSTweb3_clientVersion | Aurora
- POSTnet_listening | Aurora
- POSTnet_peerCount | Aurora
- POSTeth_estimateGas | Aurora
- POSTeth_gasPrice | Aurora
- POSTeth_getLogs | Aurora
- POSTeth_newFilter | Aurora
- POSTeth_getFilterChanges | Aurora
- POSTeth_uninstallFilter | Aurora
Solana node API
- Getting started | Solana
- POSTgetAccountInfo | Solana
- POSTgetBalance | Solana
- POSTgetBlockHeight | Solana
- POSTgetBlock | Solana
- POSTgetBlockProduction | Solana
- POSTgetBlockCommitment | Solana
- POSTgetBlocks | Solana
- POSTgetBlocksWithLimit | Solana
- POSTgetBlockTime | Solana
- POSTgetClusterNodes | Solana
- POSTgetEpochInfo | Solana
- POSTgetEpochSchedule | Solana
- POSTgetFeeForMessage | Solana
- POSTgetFirstAvailableBlock | Solana
- POSTgetGenesisHash | Solana
- POSTgetHighestSnapshotSlot | Solana
- POSTgetIdentity | Solana
- POSTgetInflationGovernor | Solana
- POSTgetInflationRate | Solana
- POSTgetInflationReward | Solana
- POSTgetLatestBlockhash | Solana
- POSTgetLeaderSchedule | Solana
- POSTgetMaxRetransmitSlot | Solana
- POSTgetMaxShredInsertSlot | Solana
- POSTgetMinimumBalanceForRentExemption | Solana
- POSTgetMultipleAccounts | Solana
- POSTgetProgramAccounts | Solana
- POSTgetRecentBlockhash | Solana
- POSTgetRecentPerformanceSamples | Solana
- POSTgetRecentPrioritizationFees | Solana
- POSTgetSignaturesForAddress | Solana
- POSTgetSignatureStatuses | Solana
- POSTgetSlot | Solana
- POSTgetSlotLeader | Solana
- POSTgetStakeActivation | Solana
- POSTgetStakeMinimumDelegation | Solana
- POSTgetSupply | Solana
- POSTgetTokenAccountBalance | Solana
- POSTgetTokenAccountsByOwner | Solana
- POSTgetTokenLargestAccounts | Solana
- POSTgetLargestAccounts | Solana
- POSTgetTransaction | Solana
- POSTisBlockhashValid | Solana
- POSTsimulateTransaction | Solana
- logsSubscribe | Solana
- logsUnsubscribe | Solana
- blockSubscribe | Solana
- blockUnsubscribe | Solana
- accountSubscribe | Solana
- accountUnsubscribe | Solana
- programSubscribe | Solana
- programUnsubscribe | Solana
- rootSubscribe | Solana
- rootUnsubscribe | Solana
- signatureSubscribe | Solana
- signatureUnsubscribe | Solana
- slotSubscribe | Solana
- slotUnsubscribe | Solana
- slotsUpdatesSubscribe | Solana
- slotsUpdatesUnsubscribe | Solana
Ronin node API
- Getting started | Ronin
- POSTeth_blockNumber | Ronin
- POSTeth_getBlockByHash | Ronin
- POSTeth_getBlockByNumber | Ronin
- POSTeth_getBlockTransactionCountByHash | Ronin
- POSTeth_getBlockTransactionCountByNumber | Ronin
- POSTeth_newBlockFilter | Ronin
- POSTeth_getTransactionByHash | Ronin
- POSTeth_getTransactionReceipt | Ronin
- POSTeth_getTransactionByBlockHashAndIndex | Ronin
- POSTeth_getTransactionByBlockNumberAndIndex | Ronin
- POSTeth_getFilterChanges | Ronin
- POSTeth_call | Ronin
- POSTeth_sendRawTransaction | Ronin
- POSTdebug_traceBlockByHash | Ronin
- POSTdebug_traceBlockByNumber | Ronin
- POSTdebug_traceTransaction | Ronin
- POSTdebug_traceCall | Ronin
- POSTeth_chainId | Ronin
- POSTeth_syncing | Ronin
- POSTeth_estimateGas | Ronin
- POSTeth_gasPrice | Ronin
- POSTeth_maxPriorityFeePerGas | Ronin
- POSTeth_getTransactionCount | Ronin
- POSTeth_getBalance | Ronin
- POSTeth_getCode | Ronin
- POSTeth_getStorageAt | Ronin
- POSTeth_getLogs | Ronin
- POSTeth_newFilter | Ronin
- POSTweb3_clientVersion | Ronin
- POSTnet_listening | Ronin
- POSTnet_peerCount | Ronin
- POSTeth_getFilterChanges | Ronin
- POSTeth_uninstallFilter | Ronin
- eth_subscribe ("newHeads") | Ronin
- eth_subscribe("newPendingTransactions") | Ronin
- eth_subscribe ("logs") | Ronin
- eth_unsubscribe | Ronin
Gnosis Chain node API
- Getting started | Gnosis
- Beacon Chain | Gnosis
- Blocks info | Gnosis
- Transactions info | Gnosis
- Executing transactions | Gnosis
- Chain info | Gnosis
- Gas data | Gnosis
- Accounts info | Gnosis
- Logs & events | Gnosis
- Filter handling | Gnosis
- Client information | Gnosis
- Subscriptions | Gnosis
Cronos node API
- Getting started | Cronos
- POSTeth_blockNumber | Cronos
- POSTeth_getBlockByNumber | Cronos
- POSTeth_getBlockByHash | Cronos
- POSTeth_getBlockTransactionCountByNumber | Cronos
- POSTeth_getBlockTransactionCountByHash | Cronos
- POSTeth_newBlockFilter | Cronos
- POSTeth_getTransactionByHash | Cronos
- POSTeth_getTransactionReceipt | Cronos
- POSTeth_getTransactionByBlockNumberAndIndex | Cronos
- POSTeth_getTransactionByBlockHashAndIndex | Cronos
- POSTeth_newPendingTransactionFilter | Cronos
- POSTeth_call | Cronos
- POSTeth_sendRawTransaction | Cronos
- POSTeth_getBalance | Cronos
- POSTeth_getCode | Cronos
- POSTeth_getStorageAt | Cronos
- POSTeth_getProof | Cronos
- POSTeth_getTransactionCount | Cronos
- POSTeth_chainId | Cronos
- POSTeth_syncing | Cronos
- POSTweb3_clientVersion | Cronos
- POSTnet_listening | Cronos
- POSTnet_peerCount | Cronos
- POSTeth_estimateGas | Cronos
- POSTeth_gasPrice | Cronos
- POSTeth_maxPriorityFeePerGas | Cronos
- POSTeth_getLogs | Cronos
- POSTeth_newFilter | Cronos
- POSTeth_getFilterChanges | Cronos
- POSTeth_uninstallFilter | Cronos
Fantom node API
- Getting started | Fantom
- POSTeth_blockNumber | Fantom
- POSTeth_getBlockByNumber | Fantom
- POSTeth_getBlockByHash | Fantom
- POSTeth_getBlockTransactionCountByNumber | Fantom
- POSTeth_getBlockTransactionCountByHash | Fantom
- POSTeth_newBlockFilter | Fantom
- POSTeth_getTransactionByHash | Fantom
- POSTeth_getTransactionReceipt | Fantom
- POSTeth_getTransactionByBlockNumberAndIndex | Fantom
- POSTeth_getTransactionByBlockHashAndIndex | Fantom
- POSTeth_newPendingTransactionFilter | Fantom
- POSTeth_call | Fantom
- POSTeth_sendRawTransaction | Fantom
- POSTeth_getBalance | Fantom
- POSTeth_getCode | Fantom
- POSTeth_getStorageAt | Fantom
- POSTeth_getProof | Fantom
- POSTeth_getTransactionCount | Fantom
- POSTeth_chainId | Fantom
- POSTeth_syncing | Fantom
- POSTweb3_clientVersion | Fantom
- POSTnet_listening | Fantom
- POSTnet_peerCount | Fantom
- POSTeth_estimateGas | Fantom
- POSTeth_gasPrice | Fantom
- POSTeth_maxPriorityFeePerGas | Fantom
- POSTeth_getLogs | Fantom
- POSTeth_newFilter | Fantom
- POSTeth_getFilterChanges | Fantom
- POSTeth_uninstallFilter | Fantom
- Custom JS tracer | Fantom
- debug traceBlockByHash | Fantom Chain
- debug traceBlockByNumber | Fantom
- debug traceTransaction | Fantom
- trace block | Fantom
- trace transaction | Fantom
- trace filter | Fantom
- trace get | Fantom
Bitcoin node API
- Bitcoin API reference
- Bitcoin API Postman collection
- POSTgetbestblockhash | Bitcoin
- POSTgetblock | Bitcoin
- POSTgetblockchaininfo | Bitcoin
- POSTgetblockfilter | Bitcoin
- POSTgetblockhash | Bitcoin
- POSTgetblockheader | Bitcoin
- POSTgetblockstats | Bitcoin
- POSTgetchaintips | Bitcoin
- POSTgetchaintxstats | Bitcoin
- POSTgetdifficulty | Bitcoin
- POSTgetmempoolancestors | Bitcoin
- POSTgetmempooldescendants | Bitcoin
- POSTgetmempoolentry | Bitcoin
- POSTgetmempoolinfo | Bitcoin
- POSTgetrawmempool | Bitcoin
- POSTgettxoutsetinfo | Bitcoin
- POSTgettxout | Bitcoin
- POSTverifychain | Bitcoin
- POSTgettxoutproof | Bitcoin
- POSTpreciousblock | Bitcoin
- POSTverifytxoutproof | Bitcoin
- POSTuptime | Bitcoin
- POSTgetmemoryinfo | Bitcoin
- POSTgetrpcinfo | Bitcoin
- POSTgetblocktemplate | Bitcoin
- POSTgetmininginfo | Bitcoin
- POSTgetnetworkhashps | Bitcoin
- POSTprioritisetransaction | Bitcoin
- POSTgetpeerinfo | Bitcoin
- POSTgetnetworkinfo | Bitcoin
- POSTgetconnectioncount | Bitcoin
- POSTgetnettotals | Bitcoin
- POSTlistbanned | Bitcoin
- POSTping | Bitcoin
- POSTgetnodeaddresses | Bitcoin
- POSTdecodescript | Bitcoin
- POSTdecoderawtransaction | Bitcoin
- POSTgetrawtransaction | Bitcoin
- POSTestimatesmartfee | Bitcoin
- POSTvalidateaddress | Bitcoin
Starknet node API
- Getting started | Starknet
- POSTstarknet_call | Starknet
- POSTstarknet_estimateFee | Starknet
- POSTstarknet_estimateMessageFee | Starknet
- POSTstarknet_simulateTransactions | Starknet
- POSTstarknet_traceBlockTransactions | Starknet
- POSTstarknet_getClassHashAt | Starknet
- POSTstarknet_getNonce | Starknet
- POSTstarknet_getStorageAt | Starknet
- POSTstarknet_getTransactionByBlockIdAndIndex | Starknet
- POSTstarknet_getTransactionByHash | Starknet
- POSTstarknet_getClassAt | Starknet
Chainstack platform API
- Getting started
- Quick tutorial
- Organization
- Project
- Network
- Node
- Marketplace
- IPFS storage
- Faucet
debug_traceTransaction | Optimism
curl --request POST \
--url https://optimism-mainnet.core.chainstack.com/efb0a5eccd2caa5135eb54eba6f7f300 \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"id": 1,
"params": [
"0x2f6ff16a96580e1d51b91314c1bdf9339f2f7ce0e7a22228bbc65f419dd7be51"
]
}'
{
"jsonrpc": "<string>",
"id": 123,
"result": {
"structLogs": [
{}
],
"gas": 123,
"returnValue": "<string>",
"gasUsed": 123,
"failed": true
}
}
The debug_traceTransaction
RPC method retrieves a detailed execution trace of a transaction, identified by the transaction’s hash. This method is crucial for developers and analysts who need to understand the execution flow of a transaction, including all the operations (opcodes) executed, gas usage, and the transaction’s outcome.
Get you own node endpoint today
Start for free and get your app to production levels immediately. No credit card required.
You can sign up with your GitHub, X, Google, or Microsoft account.
Request
To use debug_traceTransaction
, send a POST request with a JSON RPC call in the body.
Parameters
- Transaction Hash (
string
): The hash of the transaction to trace.
Response
The response includes a detailed execution trace of the transaction, providing insights into each step of the transaction’s execution.
- result (
object
): The detailed execution trace, including:- structLogs (
array
): An array of execution steps (opcodes) taken by the transaction. - gas (
integer
): The gas provided by the transaction. - returnValue (
string
): The return value of the transaction, if any. - gasUsed (
integer
): The total gas used by the transaction. - failed (
boolean
): Indicates whether the transaction failed.
- structLogs (
Use case
The debug_traceTransaction
method is essential for:
- Developers debugging smart contract interactions.
- Analysts conducting forensic analysis of transactions.
- Tools and services that provide insights into Ethereum Virtual Machine (EVM) execution.
Body
Response
The detailed execution trace of the transaction.
An array of execution steps (opcodes) taken by the transaction.
The gas provided by the transaction.
The return value of the transaction, if any.
The total gas used by the transaction.
Indicates whether the transaction failed.
Was this page helpful?
curl --request POST \
--url https://optimism-mainnet.core.chainstack.com/efb0a5eccd2caa5135eb54eba6f7f300 \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"id": 1,
"params": [
"0x2f6ff16a96580e1d51b91314c1bdf9339f2f7ce0e7a22228bbc65f419dd7be51"
]
}'
{
"jsonrpc": "<string>",
"id": 123,
"result": {
"structLogs": [
{}
],
"gas": 123,
"returnValue": "<string>",
"gasUsed": 123,
"failed": true
}
}