Reading an EVM Transaction
concept
Core idea
An EVM transaction has a fixed anatomy, but the native value field is rarely the whole story, most fund movement on EVM is ERC-20 token transfers that appear only in logs, and value transfers triggered inside contract execution (internal transactions) are not top-level and must be derived from traces. Read a transaction page in a consistent order so nothing important is missed, including data hidden below the obvious transfer fields.
Components
Anatomy of an EVM transaction:
- from / to: sending EOA and target address (contract or EOA).
- value: native coin transferred (ETH, BNB, MATIC…).
- input / data: calldata: the encoded function call and its arguments.
- gas: gas limit, price, priority fee.
- nonce: sender’s transaction counter.
- logs: events emitted during execution, indexed and queryable.
- internal transactions: value transfers triggered inside contract execution; not first-class transactions, must be derived from traces.
Internal transactions specifically: when a contract calls another contract, the resulting value transfer is internal and does not appear as a top-level transaction. Etherscan shows them under the “Internal Txns” tab; Phalcon and Tenderly render the full call tree. Without tracing internals, it is easy to lose native-coin movements routed through contracts.
Reading the explorer page (step by step):
- Top: read the transaction hash, block, and exact timestamp.
- Middle: read the from address, the to address, the value, and the gas fee.
- Identify the asset and the contract it interacted with (for example the USDT contract for a Tether transfer).
- Check the logs for extra data such as an address on another blockchain.
- If nothing useful is in the logs, check the input data at the bottom. A value of
0xmeans a plain transfer; anything else is a smart-contract interaction worth decoding. - Use the decode input data option to turn raw input into readable destination and amount fields.
- Open the Internal Txns tab to catch native-coin movement routed through contracts.
When to use
On every transaction page, especially when a smart-contract interaction is involved and the headline transfer does not tell the whole story. Read the log stream and internal txns, not just the top-level call and value.
Avoid when
Do not conclude no funds moved just because the value field is zero; ERC-20 movement lives in the logs and native movement can hide in internal transactions.
Example
A tx with value = 0 still moved 1,000 USDT, visible only as a Transfer event log emitted by the USDT contract, not in the top-level value field.
Related
Address View vs Contract View on a Block Explorer, Internal Transactions, EVM Event Logs & Decoding Calldata, EVM Multi-Chain Tracing Essentials, Router & Multicall Traffic: Read Swap Events, Exclude MEV