How to trace token transfers separately from native ETH transfers
On most block explorers, including Etherscan, native ETH and tokens live in entirely different parts of the transaction record. That structure is not arbitrary - it reflects how Ethereum works under the hood.
Native ETH transfers use the transaction’s top-level value field. When you send 0.5 ETH to an address, that amount appears directly in the main data/simulate-transaction-before-signing/">transaction details. It is part of the transaction envelope, not tucked into logs.
Token transfers are different. An ERC-20 token does not move inside the transaction value. Instead, the token contract emits an event - a Transfer log - that records the sender, receiver and amount. The block explorer reads those logs and displays them in a separate section. The transaction’s own value field stays at zero if no ETH moved with it.
You can verify this yourself on any token transfer. Look at the transaction on Etherscan. The top section shows the native ETH sent. Below that, a box labeled “Token Transfers” lists the token movements. These two numbers can be completely unrelated.
Where to find each type
On Etherscan, the main transaction page has multiple tabs. The default “Transaction Details” tab shows the native ETH transfer in the value line. That tab also lists the gas cost and any contract interaction.
For token transfers, use the dedicated “Token Transfers” tab. It aggregates every ERC-20 Transfer event that was emitted during that transaction. A single transaction can contain dozens of token transfers - for example, when a DEX swap routes through multiple pools. Each swap emits its own event.
For internal ETH transfers - such as when a smart contract forwards ETH to another contract - look at the “Internal Transactions” tab. These are not native ETH sends in the same sense. They are calls triggered by the contract’s execution, captured as CALL operations in the EVM trace. Etherscan reconstructs them as a separate list.
Internal ETH transfers are not governed by the transaction’s value field either. A contract can split incoming ETH and forward fractions. The trace records each sub-transfer. The main transaction value may show only a single number.
Why the separation matters
If you are auditing a transaction, mixing these categories leads to errors. Suppose a transaction shows 1 ETH in the value field but also displays five token transfers under the Token Transfers tab. The native ETH moved once. The tokens moved five separate times. Each event is independent.
Another common mistake: assuming a token transfer is an ETH transfer. You cannot pay gas with a token. Gas is always paid in native ETH. A transaction that moves thousands of USDC might still have zero ETH in the value field if the sender already has ETH for gas.
The Internal Transactions tab is especially useful for contract interactions. Many DeFi protocols forward ETH between contracts. The main transaction shows only the initial sender and the contract. The internal tab reveals the full chain of custody.
Practical workflow for checking
Open the transaction on Etherscan. Immediately check the top-right of the main details pane. If the value line shows 0 ETH, no native transfer occurred. Then click the Token Transfers tab. You will see a table of token movements with contract addresses and amounts.
If you suspect ETH moved between contracts that are not the sender or receiver, open the Internal Transations tab. It lists each internal call, including ETH transfers. This tab also helps identify gas-wasting patterns - unnecessary internal sends that increase costs.
You can combine this with the event log viewer from the related article on filtering event logs. The Token Transfers tab is essentially a filtered view of those logs. But the raw logs give you finer control - you can filter by indexed parameters such as sender or receiver.
A note on what this cannot show
Token transfers from the transaction’s own events - which cover most ERC-20 and ERC-721 tokens - are captured. Some exotic token standards or NFTs that use custom event signatures may not appear. The block explorer only recognizes standard Transfer events.
Also note: the Internal Transactions tab is based on the EVM trace. If the node or explorer limits trace depth, some deep internal transfers may be missed. This is rare but possible for highly nested contract calls.
Separating these three categories - native ETH, token events and internal ETH - is the foundation of reading any transaction accurately. Once you understand the structure, you stop confusing the value field with the event logs. They are separate systems that happen to appear on the same page.
Not financial advice. basiliskawakens.xyz publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.