How to Read a Swap Transaction on Etherscan Like a Pro
You read a swap on Etherscan by checking four things in order: the token transfers in the Logs, the actual price you got versus the quoted price, the fee tier, and the transaction status. Everything else - the method called, the router contract, the gas price - is either background noise or a trap for the unwary. This page walks you through the transaction view line by line, so you can tell a clean swap from a bot-riddled one, a fair price from a bad fill, and a successful trade from a failed one that still cost you gas.
The transaction overview: what you see first
When you open a transaction on Etherscan, the top section gives you a summary. The key fields are:
- Transaction Hash: The unique ID. Ignore it for analysis.
- Status: Green checkmark means success. Red "Fail" with a warning icon means the swap reverted.
- Block: The block number and timestamp. Useful for checking if the swap happened during a congestion spike.
- From / To: These are the contracts involved, not necessarily you. The "From" is the router (like Uniswap's SwapRouter or an aggregator), and "To" is the token contract or another router.
- Value: Almost always 0 ETH here, because the actual token amounts are in the Logs section.
The single most important thing in this summary is the Status field. If it says "Success," the swap went through. If it says "Fail," the transaction was reverted, but you still paid gas. That is not a bug; it is how Ethereum works. A failed swap is a paid lesson in what went wrong.
Step 1: Read the Logs (The Real Story)
Scroll down to the Logs section. This is where the token transfers live. You are looking for Transfer events, usually emitted by the ERC-20 token contracts. Here is the pattern:
- From the router to you: One
Transferevent shows the output token moving from the router contract to your wallet address. That is your received amount. - From you (via router) to the pool: Another
Transferevent shows the input token moving from your wallet to the pool contract. That is what you paid. - Fee transfers: If the pool charges a fee, you might see an extra
Transferto a fee collector. That is normal on some tokens but rare on standard DEX pairs.
Do not guess from the token symbol. Verify the contract address for each token in the Logs by clicking through to the token page. A token symbol like "USDC" could be a fake. The contract address is the only truth.
Step 2: Calculate the Actual Price (The Fill)
The Logs give you raw numbers. To get the actual price you paid, divide the output amount by the input amount. For example, if you spent 1 ETH and received 3,000 USDC, your effective price is 3,000 USDC per ETH.
Then compare that to the quoted price you saw on the DEX interface before you clicked "Swap." If the final price is worse than the quote, that difference is slippage. It might be from:
- Price impact: The pool moved against you because your trade was large relative to its liquidity.
- Sandwich attack: A bot saw your transaction in the mempool, bought ahead of you, and sold after you, pocketing the difference.
You can check for a sandwich by looking at the transaction's position in the block. If your swap is immediately preceded and followed by trades on the same pair, and the price in the middle is worse than the trades around it, you were likely front-run. The Logs will show the pool's reserves changing in that order.
Step 3: Identify the Fee Tier (And Whether You Overpaid)
DEX pools have different fee tiers (e.g., 0.05%, 0.30%, 1.00%). The fee is taken from your input amount before the swap is priced. The Logs might not explicitly show the fee, but you can infer it.
Look at the pair contract that the router interacted with. On the pair's page on Etherscan, you will see the reserves and the fee tier. If the pool charges 1% and you swapped a small amount, the fee might be negligible. But for large swaps, a 1% fee versus 0.05% is a big difference.
You can also check the Method ID in the transaction's "Input Data" section. A common method for a direct swap is 0x38ed1739 (for swapExactTokensForTokens on older routers) or 0x414bf389 (for exactInputSingle on Uniswap V3). The method name tells you which router version was used, which in turn tells you the standard fee structure of that router.
Step 4: Check the Gas Price and Your Costs
Gas is not a fee to the DEX; it is a payment to the network for including your transaction. In the Transaction Details section, you will see:
- Gas Limit: The maximum units of gas your transaction could consume.
- Gas Used by Transaction: The actual units consumed. For a simple swap, this is usually between 150,000 and 300,000.
- Gas Price: The amount you paid per unit of gas, in Gwei.
- Transaction Fee: The total cost (Gas Used × Gas Price).
A high gas price does not mean a bad swap; it means you paid for speed. A low gas price might mean your transaction sat in the mempool for a long time, and by the time it was mined, the price had moved. If the status is "Success" but the received amount is noticeably lower than the minimum you set, check the block timestamp. A long wait often explains a bad fill.
Step 5: Spot the Red Flags (What a Bad Swap Looks Like)
You do not need to be a forensic accountant to spot problems. Look for these:
- A token transfer to an address you do not recognize: If the Logs show a
Transferto a random contract, you might be interacting with a malicious token or a honeypot. Legitimate swaps only move tokens between you, the router, and the pool. - A "Fail" status with a reason like "TransferHelper: TRANSFER_FROM_FAILED": This usually means you did not approve the router to spend your tokens, or your allowance was too low. The transaction reverted, but you still paid gas.
- A
Transferevent with avalueof 0: Some tokens emit zero-value transfers for accounting or rebasing logic. This is not necessarily a scam, but it is worth checking if the token contract is verified and has a known reputation.
What to Ignore (The Noise)
Do not get distracted by the Input Data section unless you are debugging. It is a long hex string that encodes the function call. The human-readable version is usually shown by Etherscan if the contract is verified, but you do not need it to assess the swap.
Do not obsess over the Nonce field, the Position in Block, or the Timestamp unless you are investigating a sandwich attack. Those matter for deep chain analysis, not for checking a single swap.
Do not assume that a well-known router address is safe. Always verify the router contract is the one you intended to use. A phishing site can direct you to a fake router that forwards your transaction to a malicious contract.
The Bottom Line
Reading a swap on Etherscan is a habit, not a skill. You check the status, read the Logs, calculate the effective price, note the fee tier, and verify the gas cost. Do that four or five times on real transactions, and you will spot the unusual within seconds. The goal is not to catch every bot or every bad fee. It is to know exactly what you got for your money, and to recognize when a "successful" swap was quietly worse than it should have been. That knowledge is worth more than any chart or price prediction.
Not financial advice. milkshakeswap.finance publishes market data and general information about MilkshakeSwap Token. 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.