Advanced guide

Reading an on-chain transaction: gas, fees and finality

A block explorer page contains everything you need to know about a transfer, if you know which fields matter. A field-by-field walk-through.

By Mara KovačReviewed 8 min read

Start with the identifiers

Every transaction has a hash, a unique identifier derived from its contents. It is the reference you give to a counterparty or a support desk, and the thing you paste into a block explorer. Alongside it you will see a status, the block number the transaction was included in, and a timestamp.

Status deserves a careful read. On Ethereum and similar networks a transaction can be included in a block and still fail, for instance because a contract rejected it or it ran out of gas. A failed transaction changes nothing except that the sender pays the fee. Pending means the transaction has been broadcast but not yet included; it is sitting in the mempool, the waiting area from which block producers select transactions.

From, to and value

The from field is the account that signed the transaction. The to field is either another account or a contract. The value field shows how much of the network's native asset, such as ether, moved directly between them.

This is where many misreadings begin. A token transfer or a swap on a decentralised exchange is a call to a contract, so the value field often reads zero even when thousands of dollars of tokens changed hands. To see what happened, look at the token transfers section and the event logs, which record what the contract emitted as it ran. The input data field contains the function that was called and its arguments; explorers decode it when the contract's source code has been verified.

The nonce

Each Ethereum account numbers its transactions sequentially with a nonce. Transactions must be processed in nonce order, so one stuck transaction with a low fee blocks everything behind it. The standard fix is to send a replacement with the same nonce and a higher fee. Bitcoin works differently: it has no account nonces, and transactions spend specific previous outputs instead.

Gas: limit, used and price

Gas measures computational work. Every operation has a fixed gas cost; a plain ether transfer costs 21,000 gas, while a complex contract interaction can use several hundred thousand.

  • Gas limit is the maximum the sender is willing to consume. It is a safety ceiling, not a bid.
  • Gas used is what the transaction actually consumed. Unused gas is not charged.
  • If execution hits the limit before finishing, the transaction fails and the gas consumed up to that point is still paid for.

Prices are quoted in gwei, one billionth of an ether. Since the EIP-1559 upgrade in 2021, the price per unit of gas has two parts. The base fee is set by the protocol and moves up or down with each block depending on how full the previous one was; it is burned, meaning removed from supply, rather than paid to anyone. The priority fee, or tip, goes to the block producer and is the part that buys faster inclusion when the network is busy.

The total fee is therefore gas used multiplied by the sum of base fee and priority fee. Senders also set a maximum fee per gas they will tolerate; if the base fee at inclusion is lower, they pay the lower figure. A transfer using 21,000 gas at a combined 20 gwei costs 420,000 gwei, or 0.00042 ether.

Bitcoin's version is simpler. The fee is the difference between a transaction's inputs and outputs, and what matters to miners is the fee rate in satoshis per virtual byte, since block space is the scarce resource.

On layer 2 networks, explorers usually break the fee into an execution component and a separate charge for posting data back to layer 1.

Confirmations and finality

Inclusion in a block is the beginning of settlement, not the end.

On Bitcoin, finality is probabilistic. Each additional block built on top of yours makes a reorganisation that removes it exponentially less likely. Six confirmations, about an hour, is a long-standing convention for larger payments, though recipients set their own thresholds according to the amount at risk.

Ethereum under proof of stake adds explicit finality. Time is divided into 12-second slots grouped into epochs of 32 slots. Once validators holding at least two-thirds of staked ether have attested across two successive epochs, a block is finalised, which under normal conditions takes about 13 minutes. Reverting a finalised block would require a large share of all stake to be destroyed through slashing. Explorers label blocks as finalised once this happens, and exchanges typically wait for some number of confirmations or for finality before crediting deposits.

A short checklist

When you need to verify a payment or investigate a claim, read the page in this order: status, the to address and whether it is a contract, token transfers and logs, the fee paid, and finally the confirmation or finality state. Those five items answer most questions about what happened and whether it can still be undone.

Keep learning

All guides

Latest stories

All stories

Worth a look

All guides

Case studies

All case studies