A blockchain explorer is a public website that shows what a transaction actually did. On Etherscan, paste the transaction hash, then read in order: status, block, sender, the contract it called, the value, the fee, then token transfers, input data and logs. Together those fields tell you whether it worked, what moved and what was authorized. You don't need to connect a wallet to read any of it.
How do you find a transaction?
Every transaction has a transaction hash, a unique ID starting with 0x. Your wallet's activity list usually links to it. Paste the hash into the search bar on Etherscan to open its details page. You can search an address instead to see everything it has done. This works because a blockchain is a public record that anyone can read.
We'll use a real transaction so that you can follow along: this USDC approval from October 27, 2026. We picked it at random. We don't know who sent it, and we're not suggesting anything about the addresses involved.
What does each field on the Overview tab mean?
The Overview tab is the summary, and most questions can be answered from it. Here is the example, field by field. Figures are as displayed on the page, and Etherscan rounds the dollar values.
| Field | Value in the example | What it tells you |
|---|---|---|
| Status | Success | Whether the code ran to completion |
| Block | 26286294 | Which block includes it. The confirmation count beside it rises as new blocks are added |
| Timestamp | Oct-27-2026 07:58:47 PM UTC | When that block was produced |
| Transaction Action | Approve 13,045.35 USDC | Etherscan's plain-English summary. Handy, but check it against the details below |
| From | 0x7cfd98...a3467 | The address that signed and paid for the transaction |
| Interacted With (To) | Circle: USDC Token | The address called. Here it is a smart contract, not a person |
| Value | 0 ETH | The ETH sent directly with the transaction. It does not count tokens |
| Transaction Fee | 0.00000661 ETH (about $0.01) | What the sender paid in total |
| Gas Price | 0.118929797 Gwei | The price per unit of gas actually paid. One gwei is a billionth of an ETH |
| Gas Limit & Usage | 76,118 and 55,582 (73.02%) | The most it could use, and what it used |
| Gas Fees | Base 0.117929797, Max 0.226630706, Max Priority 0.001 Gwei | The network's base fee, the sender's ceiling, and the sender's maximum tip |
| Burnt & Txn Savings | 0.00000655 ETH burnt; 0.00000599 ETH saved | The base fee destroyed, and the amount below the sender's ceiling |
| Txn Type | 2 (EIP-1559) | The transaction format. Type 4 is used for smart-account features |
| Nonce | 3912 | The sender's transaction counter. This address had already sent 3,912 transactions |
| Position In Block | 16 | Where it sat in the block's order |
The fee math is worth checking once, since it demystifies how gas fees work:
- Gas used multiplied by gas price: 55,582 × 0.118929797 gwei = 6,610.36 gwei.
- Convert to ETH by dividing by a billion: 0.00000661 ETH.
- The base fee part is 55,582 × 0.117929797 gwei, which is burned.
- The tip part is 55,582 × 0.001 gwei, which goes to the validator.
Gas prices change constantly. This one, at about 0.12 gwei, was low; on a busy day the same approval would cost far more.
Why does a transaction say "Value: 0" when money moved?
The Value field only counts ETH sent directly by the sender, so it says nothing about tokens or about ETH moved by contracts. A June 2025 transaction shows this well. Its Value is 0 ETH, yet it moved 80.16 WETH and tens of thousands of dollars in USDC and USDT. To see what actually moved, check two other places:
- ERC-20 Tokens Transferred. This section lists token movements. They come from the
Transferevents that the ERC-20 standard requires a token to emit. - Internal Txns tab. This shows ETH moved by contracts during the execution. These aren't separate transactions. They are steps inside this one. Etherscan notes that some exchanges may not credit deposits that arrive this way, so check with your exchange first.
Our example approval has no token transfers at all, because approving moves nothing. It only grants permission. That is exactly why it's dangerous to skim.
Be careful with token names. Anyone can deploy a contract named "USDC", and a contract can emit a Transfer event for its own fake token. Attackers use this in address poisoning, planting lookalike transfers in your history so that you copy the wrong address later. Always check the token's contract address, not its name.
How do you read input data and logs?
Input data is the instruction the sender gave the contract. Etherscan decodes it where it can, and the example shows:
- Function:
approve(address spender, uint256 value) - Method ID:
0x095ea7b3, the first four bytes of a hash of the function's signature - Spender:
0x82dE3FAe...d3047F397, the address being given permission - Value:
13045345327
That value is in the token's smallest unit. USDC uses six decimal places, so it means 13,045.345327 USDC, which matches the action line.
Etherscan warns that on unverified contracts, a displayed function name may not be reliable, and that different functions can share a Method ID.
Logs are the events a contract recorded while running. Apps read them to track what happened. Our example has one, emitted by the USDC contract:
- Topic 0:
0x8c5be1e5..., a hash identifying theApprovalevent - Topic 1: the owner, matching the From address
- Topic 2: the spender, matching the input data
- Data:
0x...309902c2f, which is 13,045,345,327 in hexadecimal
When input data and logs agree, you can be confident about what happened. If the input data is unreadable, the logs often still tell you. Logs can only be trusted as far as the contract that emitted them, so check who emitted each one.
How do you tell failed, pending and dropped apart?
A status label tells you whether the transaction ran and whether you paid.
| Status | In a block? | Fee charged? | What it means |
|---|---|---|---|
| Success | Yes | Yes | Code ran to the end |
| Fail | Yes | Yes | Code reverted, so its changes were undone, but the gas was spent |
| Pending | Not yet | Not yet | Waiting to be included. Later transactions from the same address wait behind it |
| Dropped & Replaced | No | No | Nodes stopped relaying it, or a new transaction took its nonce |
A real failure makes this clear. This USDT transfer from October 27, 2026 shows Fail with "execution reverted", sits in block 26286296, and still cost 0.00000315 ETH for the 26,733 gas it used. No tokens moved.
If yours is pending, Etherscan can't speed it up or cancel it. Your wallet can usually send a replacement with the same nonce and a higher fee.
"Success" has limits too. It means the code ran, not that the outcome is what you wanted. A malicious approval also shows Success. And Success at first only means included in a block. Full finality takes about two epochs in normal conditions, or roughly 13 minutes, which is why exchanges wait for confirmations before crediting deposits.
How do you spot an approval?
An approval lets another address spend your tokens later, with no further action from you. The ERC-20 standard says a spender can withdraw "multiple times, up to" the approved amount. Here is what to look for:
approveorincreaseAllowanceas the method, with a spender and an amount.- A huge amount. An unlimited approval is usually the maximum number, shown in hex as a long run of
fs. That leaves your whole balance of that token exposed. setApprovalForAllon an NFT contract, which hands an operator all your NFTs in that collection.- No transaction at all. Under permit-style approvals, you sign a message off-chain and someone else submits it later, so nothing appears until then. Scammers can abuse this too, which is one reason to learn how wallet drainers operate.
To review your own, Etherscan's token approvals tool lists what you've granted. Reading is free. Revoking is a transaction you sign and pay gas for, so reach the page by typing the address yourself rather than following a link.
The spender in our example has no public name tag on Etherscan. That isn't evidence of anything, as most addresses have none. But if you can't work out who a spender is, don't approve it.
How do you check a contract?
Open the "To" address and look at the details before trusting a name. Using USDC's contract page as a model:
- Compare the address with the issuer's own documentation. Circle publishes this one.
- Look for a public name tag, here "Circle: USDC Token". Etherscan adds these, so they help, but they aren't a safety rating.
- Open the Contract tab. "Source Code Verified" means the published code matches what's deployed. Unverified code is a warning sign.
- Check for a proxy. USDC is labeled a proxy, with "Read as Proxy" tabs. A proxy's logic can be swapped for a new version, so someone holds that power. For USDC it's a known issuer. For an unknown token, it's a red flag.
- Use Read Contract to look up values such as owner or balances. This costs nothing. Leave "Write Contract" alone unless you know what you're signing.
Verified code isn't necessarily safe code. Treat verification as a minimum.
How do other chains' explorers differ?
Each chain has its own explorer, and the same address can mean different things on different chains, so make sure you're on the right one.
| Chain | Common explorer | What's different |
|---|---|---|
| Arbitrum, other layer 2s | Arbiscan and Etherscan-built sites | Very similar layout. Fees also cover posting data to Ethereum |
| Bitcoin | mempool.space | Inputs and outputs replace from and to. Fees are in sat/vB. There are no token logs like Ethereum's |
| Solana | Solscan, Solana Explorer | Transactions contain lists of instructions to programs, and accounts are listed explicitly |
For more practice, our Ethereum hub and transactions hub collect related guides.
Key takeaways
- Read a transaction in order: status, block, from, to, value, fee, then token transfers, input data and logs.
- Value only counts ETH sent directly, so a 0 value can still move large sums of tokens.
- Failed transactions are recorded in a block and still cost gas. Dropped ones never made it and cost nothing.
- Look for
approveandsetApprovalForAll, and treat a huge amount as a warning. Permit signatures may not appear until they're used. - Trust contract addresses over token names, and compare them with the issuer's own documents.
- "Success" only means the code ran. Whether it did what you wanted is for you to check.
Sources
Get the weekly commit
New blockchain deep dives every week.

