Blockchain & Web3 explorers

Transaction Decoder

See what an EVM transaction actually did: call, events, token transfers, fee, finality.

Try an example: Decode an ERC-20 transfer (offline) · Custom signature with a tuple (offline)

How it works

Looks up a transaction on Ethereum, Base, Arbitrum, OP Mainnet, Polygon, Avalanche or BNB Chain straight from a public RPC node and decodes it locally: the function called (from the verified ABI on Sourcify, a built-in table or the signature database), every event log, ERC-20 token transfers with symbols and decimals, gas fee, status and finality. Works offline for raw calldata too.

  • Raw data comes from public JSON-RPC nodes: eth_getTransactionByHash, eth_getTransactionReceipt, eth_getBlockByNumber (timestamp, "finalized" tag) and eth_blockNumber.
  • Function: the first 4 bytes (selector) are matched against, in order, your signature/ABI, the verified ABI of the called contract on Sourcify, a built-in table of common functions, then the Sourcify signature database. The first candidate that ABI-decodes cleanly is used; other candidates are listed (selector collisions exist).
  • Events: topic0 is matched the same way. Without a verified ABI, the first (topics − 1) parameters are assumed to be indexed (flagged as indexingAssumed).
  • Token transfers: Transfer(address,address,uint256) logs with exactly 3 topics (ERC-20; ERC-721 has 4); symbol() and decimals() are read with eth_call.
  • Fake-token check: transfers of a token whose symbol is USDT/USDC/WETH/DAI but whose contract is not the official one on that chain are flagged.
  • Finality: "finalized" if the block is at or below the chain's "finalized" block tag; otherwise "unfinalized" with the confirmation count; "unknown" if the node does not support the tag.

For scripts and AI agents

  • JSON API: POST https://transactiondecoder.usefulweb.site/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://transactiondecoder.usefulweb.site/mcp · tool name transaction_decoder
Example request
curl -s -X POST https://transactiondecoder.usefulweb.site/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{"mode":"calldata","chain":"ethereum","calldata":"0xa9059cbb0000000000000000000000005aaeb6053f3e94c9b9a09f33669435e7ef1beaed00000000000000000000000000000000000000000000000000000000004c4b40"}'

Related tools

Feedback