Why does a token payment show 0 ETH on a block explorer?
Sending a token means asking the token's smart contract to move it, so the transaction goes to the contract and usually carries 0 ETH.1,2 The contract records the move in an event log called Transfer, and the explorer turns that log into a readable amount by dividing the raw number by 10 to the power of the token's decimals.3,4,5
A token send is a contract call
An ERC-20 token is a smart contract.6 The contract itself keeps track of who holds how many tokens: each balance is part of the contract's own storage.6
So when you send tokens, your wallet sends a transaction to the token's contract, asking it to run its transfer function.1 Blockscout describes the usual pattern: from a wallet, to the token contract, 0 ETH, with a function call in the input data.2
That's why the real example in lesson 2 showed a value of 0 ETH, while its "Interacted With (To)" line named the SHIB token contract.7 The tokens appear in a separate section of the page.7,2
The Transfer event
The ERC-20 standard says a token contract must fire a Transfer event whenever tokens move, even zero tokens.3 The event holds three things: from, to and value.3
Events are how smart contracts record what happened while they ran, so that apps outside the chain can read it.4,8 Explorers show them on a Logs tab of the transaction page.4,2
Each log has three parts, as Ethereum's JSON-RPC interface describes it:9
- Address: the contract that wrote the log.9
- Topics: up to four indexed values. The first, Topic0, is a hash of the event's name and input types, so it identifies which event this is.9,4
- Data: the values that are not indexed.9,4
In ERC-20's Transfer event, from and to are indexed and value is not.3 So the two addresses sit in the topics, and the amount sits in the data.3,4
Who wrote the log matters
A log is only as good as the contract that wrote it. ethereum.org warns that Transfer events are produced by the token contract, so a scammer can write a contract that produces them at will.6
So a Transfer log proves one thing: the contract at that address said tokens moved. Always check the log's address. Lesson 5 shows how to check that a contract is the real token.6,9
Decimals: from raw number to readable amount
Smart contracts only work with whole numbers.5 So a token stores a big whole number, and its decimals setting says where the decimal point goes.5,3 Decimals only changes how the amount is shown.5
To get the amount people see, divide the raw number by 10 to the power of decimals.5
| Decimals | Divide by | Example |
|---|---|---|
| 6 | 1,000,000 | Etherscan's example: a raw 600,856,457 (0x23d05789) is 600.856457 USDT.1 |
| 8 | 100,000,000 | ERC-20's own example of 8 decimals.3 |
| 18 | 1 followed by 18 zeros | OpenZeppelin's default, the same as ether.5 |
The real SHIB transfer from lesson 2 shows the same maths. Its log's data holds 53,812,600,975 followed by 18 zeros. SHIB has 18 decimals, so that is 53,812,600,975 SHIB, exactly what Etherscan shows.7,10
- Readable amount = raw number ÷ 10^decimals.
- 6 decimals: 3,000,000,000 ÷ 1,000,000 = 3,000.
- 8 decimals: 150,000,000 ÷ 100,000,000 = 1.5.
Internal transactions are something else
A smart contract can also move ETH itself, as part of a transaction someone else started. Explorers call this an internal transaction.11,12 Etherscan lists these on a separate "Internal Txns" tab.11
Explorers keep these three kinds of movement apart, often on separate tabs:13,12
| What you see | What it is |
|---|---|
| A normal transaction | Signed and sent by an account, with any ETH in its value field.14,2 |
| An internal transaction | ETH moved by contract code, not a direct transfer.15 |
| A token transfer | Tokens moved inside a token contract, read from its Transfer log.12,3 |
This can matter for exchanges. Etherscan notes that some exchanges only spot deposits on the normal transactions tab, so ETH sent through a contract may not be credited without a manual request.16
- Understanding Transaction Input Data. Etherscan Information Center, 2 May 2023, updated 21 June 2026.
- Transaction Fields Reference: Hash, Gas, Logs, State. Blockscout documentation.
- ERC-20: Token Standard. Ethereum Improvement Proposals (Fabian Vogelsteller, Vitalik Buterin), created 19 November 2015, status Final.
- Event Logs. Etherscan Information Center, 21 September 2023, updated 22 September 2026.
- ERC-20. OpenZeppelin Contracts 5.x documentation.
- How to identify scam tokens. ethereum.org guide, page updated 6 June 2026.
- Transaction details page for a token transfer, 6 December 2021 (tx 0x4f5ef12b…9de4). Etherscan, transaction of 6 December 2021, page read 22 October 2026.
- Anatomy of smart contracts. ethereum.org developer docs, page updated 12 June 2026.
- JSON-RPC API. ethereum.org developer docs, page updated 28 June 2026.
- Token page for SHIBA INU (SHIB). Etherscan, page read 22 October 2026.
- Understanding an Ethereum Transaction. Etherscan Information Center, 24 August 2020, updated 21 June 2026.
- User FAQs. Blockscout documentation.
- Explore an EOA Address on Etherscan. Etherscan Information Center, 31 December 2019, updated 21 June 2026.
- Transactions. ethereum.org developer docs, page updated 7 October 2026.
- What is an Ethereum Address?. Etherscan Information Center, 10 December 2019, updated 21 June 2026.
- Transaction marked “Success”, but I can’t see my funds. Why?. Etherscan Information Center, 9 January 2020, updated 21 June 2026.
General education built from the publicly available sources listed above. Not financial, legal, tax or investment advice. Naming a company, project or regulator is not an endorsement either way. Last checked 2026-10-22. Terms and disclaimer.