Transactions API
Native coin moved inside a transaction
The internal native-coin transfers one EVM transaction made through contract calls, in execution order, each with whether it went through.
/api/external/transaction-analysis/transaction-internal-calls/{chain}/{hash}What it returns
The native-coin transfers one transaction made through internal calls — a contract paying out, forwarding or refunding coin, creating a contract with a balance, or self-destructing — in execution order, each with whether it went through. Only calls that moved value are listed; calls that moved nothing are not. The same amount to the same address can appear twice: those are two separate calls. transaction is null when the chain does not know the hash (never sent, or not mined yet), and internalTransfers is null with it. For a transaction mined in the last 15 minutes with no transfers found, internalTransfers is null too, because the list may not be complete yet; an empty list [] means there were none.
Chains
- BNB Chain BNB
- Ethereum ETH
- Stable STABLE
- Base BASE
- Robinhood Chain RHC
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-internal-calls/BNB/<hash>"
| Parameter | Description |
|---|---|
chainpath · string · required | Ethereum, BNB, Base, Stable or RHC; every other chain returns 400. |
hashpath · 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.
| Field | Type | Description |
|---|---|---|
hash | string | The transaction hash, lowercase. |
transaction | object | null | The transaction, or null when the chain does not know the hash. |
transaction.blockNumber | integer | The block it was mined in. |
transaction.timestamp | integer | Unix seconds of that block. |
transaction.status | string | null | Whether the transaction itself succeeded. A failed transaction moves nothing, whatever its calls report. null when the chain records no status. |
internalTransfers | object[] | null | In execution order. [] when the transaction moved no coin through internal calls; null when it is unknown or too recent to tell. |
internalTransfers[].from | string | The contract that made the call. |
internalTransfers[].to | string | The recipient; on a create, the contract the call created. |
internalTransfers[].valueWei | string | Native coin moved, in wei, as a decimal string. Never zero. |
internalTransfers[].type | string | How the value moved: a call, a contract creation, or a self-destruct paying out its balance. |
internalTransfers[].success | boolean | false when the call reverted — the value then did NOT move. |
internalTransfers[].error | string | null | Why the call reverted, when known, e.g. "Reverted". null on success and when no reason is known. |
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