A block explorer is a web interface over a blockchain's RPC node. Every transaction, contract, and balance is queryable by anyone, but the layout assumes you already know what you're looking at. This walkthrough opens an Etherscan transaction, an address page, a token page, and a contract page, and explains the fields that actually matter when you're verifying a payment, a token, or a smart contract.
If you need a refresher on what an explorer is before continuing, read what is a block explorer. For a comparison of which explorer to use on which chain, see the 2026 explorer comparison.
How can I tell if a transaction succeeded?
Look at the Status row at the top of the transaction page. A green Success badge means the transaction was included in a block and the EVM did not revert. A red Fail badge means the transaction was included and gas was burned, but the state change did not happen. Pending means the transaction is in the mempool but has not been mined.
The transaction hash (tx hash) is the unique 66-character identifier that starts with 0x. Paste any tx hash into Etherscan's search bar to land on its page. The Block field shows which block the transaction was included in, plus how many confirmations have stacked on top of it since. For a low-value transfer, six confirmations is conventional. For a $1M settlement, treasury teams often wait for 30+.
The From and To rows show the sending address and the recipient. If To is a contract address, Etherscan adds a small "Contract" tag and links to the contract's source code page. Value shows the native asset transferred (ETH on Ethereum, MATIC on Polygon). A value of 0 ETH is normal for token transfers, contract calls, and approvals, since those move balances inside ERC-20 contracts rather than the native asset.
Reading the gas section
Gas tells you what the transaction cost and where the cost came from. Three numbers matter: Transaction Fee (total cost in ETH), Gas Price (price per unit of gas), and Gas Used by Transaction (how many units the EVM consumed, shown as a percentage of the gas limit).
Transaction Fee is what the sender actually paid, denominated in ETH and converted to USD at the price at the time of the block. Gas Price is shown in Gwei, where 1 Gwei equals one billionth of an ETH. After EIP-1559, Etherscan also breaks the gas price into Base fee (burned) and Max Priority Fee (paid to the validator), so you can see how much of the fee was tip and how much was protocol-burned.
Gas Used by Transaction tells you how computationally heavy the transaction was. A simple ETH transfer uses 21,000 gas as a protocol minimum (see the Ethereum Yellow Paper for the base cost table). An ERC-20 transfer typically uses 50,000 to 65,000. A Uniswap swap uses 150,000 to 250,000. If Gas Used equals the gas limit (100%), the transaction ran out of gas and reverted, and the Status badge will be Fail.
Token transfers, internal transactions, and logs
Below the gas section, Etherscan exposes three tabs that explain what actually happened inside the transaction: ERC-20 Token Transfers, Internal Txns, and Logs.
ERC-20 Token Transfers lists every token movement triggered by the transaction. Each row shows From, To, the token amount, and the token contract (with logo and symbol). A Uniswap swap of USDC for ETH shows two rows: USDC out from your wallet, and WETH in. A simple stablecoin send to a vendor shows one row.
Internal Txns lists ETH movements that happened inside contract execution. The outer transaction sends ETH to a router; the router forwards it to a pool; the pool returns dust to your wallet. None of these inner moves are their own transactions, but they all change ETH balances and they all show up here. If you sent ETH to a multisig and you don't see it land, check Internal Txns on the multisig's address page.
Logs is the raw event data the contract emitted. Each event has a topic hash (which Etherscan decodes into a name like Transfer or Swap when the contract is verified) and a list of indexed parameters. Logs are how indexers, wallets, and analytics tools learn what a transaction did without having to re-execute it. If something looks wrong on the surface but the explorer says Success, the Logs tab is where the truth lives.
Verifying a contract on the contract page
Click any contract address and Etherscan opens the contract page. The Contract tab has a green checkmark if the source code has been verified, meaning the developer uploaded the Solidity (or Vyper) source and Etherscan recompiled it and confirmed the bytecode matches what's deployed on chain.
Verified source is the baseline trust signal. Unverified contracts can still work, but you have no way to read what they do without disassembling bytecode. For any contract you're going to interact with, treat unverified as a yellow flag and dig deeper before approving.
Inside the Contract tab, the Read Contract sub-tab lets you call view functions for free (no gas, no wallet). This is how you check things like the owner address, the total supply, the paused state, or the proxy implementation address. The Write Contract sub-tab connects your wallet and lets you call state-changing functions directly, which is useful when a dapp's frontend is down but you need to withdraw funds.
For proxy contracts (most modern protocols), Etherscan shows both the proxy and the implementation. Click "Read as Proxy" to see the actual logic. The address you're interacting with stays the proxy, but the code that runs is at the implementation address.
Reading an address page
Address pages are the index for any wallet, contract, or multisig. The header shows the ETH balance, the USD value, and a multichain dropdown so you can flip the same address across Ethereum, Polygon, Arbitrum, and Base.
Below the header, four tabs do most of the work: Transactions, Internal Txns, ERC-20 Token Txns, and ERC-721 Token Txns (NFTs). Transactions lists every outbound and inbound transaction signed by or sent to this address. ERC-20 Token Txns is the most useful tab for finance work, because it shows every stablecoin and token movement in chronological order, which you can export to CSV with one click.
Token holdings appear on the right side of the page. Click the token dropdown to see every ERC-20 with a non-zero balance, plus its USD value. Etherscan pulls prices from CoinGecko, so unlisted or low-liquidity tokens may show no value even when the on-chain balance is real. For NFTs, the NFT Transfers tab shows mints, transfers, and sales for ERC-721 and ERC-1155 collections.
If the address is a contract rather than a wallet, the Contract tab appears alongside Transactions. This is how you can tell at a glance: contracts have source code, wallets don't.
What does a token page tell you?
Click any token symbol in a transaction or holdings list and Etherscan opens the token page. This is the fastest way to sanity-check whether a token is what it claims to be.
The header shows the token name, symbol, contract address, and decimals (almost always 18 for ERC-20s, but USDC and USDT use 6, which trips up first-time integrators). Max Total Supply and Holders sit right below. Holders is a count of every address holding more than zero of the token, and clicking through opens the Holders tab.
The Holders tab is the single best place to evaluate a new token. A legitimate stablecoin like USDC shows millions of holders and a roughly long-tailed distribution. A scam token typically shows fewer than 1,000 holders, with the top 10 wallets controlling 90% or more of the supply. If the deployer wallet still holds 50% of the supply weeks after launch, that's a red flag for rug-pull risk.
The Transfers tab is a live feed of every transfer of that token. If you're integrating a token and want to confirm activity, scroll the feed for a few minutes. Real tokens move constantly. Dead or scam tokens have one big mint event and then near-zero activity.
Putting it together: a real verification workflow
When a customer pays you in stablecoins, the verification path on the explorer takes about 30 seconds. Paste the tx hash into Etherscan, confirm Status is Success, confirm the To address matches your treasury wallet, click the ERC-20 Token Transfers tab, and check that the token contract is the canonical USDC contract (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum mainnet) at the expected amount.
For a new contract you're being asked to interact with, the path is longer. Open the contract page, confirm the source is verified, click Read Contract to check owner and pause state, click Holders on any token it issues to confirm distribution looks healthy, and search the contract address in your browser to see if any audit firm or known-scam tracker has flagged it. None of these steps require a wallet connection. They're all reads.
For programmatic verification at scale (payment confirmations across thousands of transactions per day), you'll want to query the same data through an API rather than scraping the HTML. The same fields documented above are available as REST endpoints. See the block explorer APIs comparison for which provider to use on which chain.
Methodology and sources
This walkthrough was written against the live Etherscan UI as of May 2026. Field names and tab locations were verified against the current production interface. EIP-1559 fee mechanics, ERC-20 standard behavior, and gas-cost rules of thumb come from the official Ethereum and OpenZeppelin docs.

