Transactions API

The full call trace of one transaction

Every call one transaction executed, in order — calls, delegatecalls, staticcalls, creates and self-destructs — with gas, call data, return data and which failed and why. RHC, ETH, OP and SCROLL.

GET/api/external/transaction-analysis/transaction-trace/{chain}/{hash}

What it returns

The call trace of one transaction as a flat list in execution order, depth first: the transaction's own call first (traceAddress [] and depth 0), then every call it made below it — call, delegatecall, staticcall, callcode, create, create2 and selfdestruct — each with its gas, gas used, call data, return data and, when it failed, why. traceAddress is the path in the call tree ([0, 2] is the third call made by the first call). On a create, to is the contract created and input its init code; on a selfdestruct, from is the contract destroyed and to who received its balance. Values are wei and gas as decimal strings. An unknown transaction hash returns 404. RHC, ETH, OP and SCROLL.

Chains

  • Ethereum ETH
  • Robinhood Chain RHC
  • Optimism OP
  • Scroll SCROLL

Request

Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.

curl -H "x-dex-data-key: $DEXDATA_API_KEY" \
  "https://api.dexdata.io/api/external/transaction-analysis/transaction-trace/ETH/<hash>"
Parameters
ParameterDescription
chain

path · string · required

RHC, ETH, OP or SCROLL; every other chain returns 400, because no wired source traces a transaction for it.
hash

path · string · required

The transaction hash: 0x followed by 64 hexadecimal characters. Not a Solana signature (base58) — Solana is not served by this resource.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of The full call trace of one transaction
FieldTypeDescription
hashstringThe transaction asked about, lowercase.
callsobject[]Every call frame in execution order, depth first; the first is the transaction's own call.
calls[].traceAddressinteger[]The path in the call tree: [] is the transaction's own call, [0, 2] the third call made by the first.
calls[].depthintegerThe length of traceAddress.
calls[].typestringThe EVM call kind.
calls[].fromstringThe caller, lowercase; on a selfdestruct, the contract destroyed.
calls[].tostring | nullThe callee, lowercase; on a create the contract created, on a selfdestruct who received its balance. null when there is none (a create that failed).
calls[].valueWeistring | nullNative coin sent, wei. Always null on a delegatecall or staticcall, which cannot send value of their own.
calls[].gasstring | nullGas the call was given. null on a selfdestruct.
calls[].gasUsedstring | nullGas the call used. null when not reported.
calls[].inputstring | nullCall data, lowercase hex; on a create, the init code.
calls[].outputstring | nullReturn data, lowercase hex; on a create, the deployed code. null when there is none.
calls[].errorstring | nullWhy the call failed ("execution reverted", "Reverted", "out of gas", …); null on success.

Start building with DexData today

Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.

Get a free API key