Anatomy of an ETH transaction: ETH payment moving from wallet to mempool, block builder, validators and finality on Ethereum

Anatomy of an ETH Transaction: Every Step, Every Party

Anatomy of an ETH Transaction: Every Step, Every Party

Disclaimer: This article is for informational and educational purposes only and simplifies underlying technical concepts for clarity. It is not financial, investment, tax or legal advice. Figures for fees, prices and timings are illustrative.

Anatomy of an ETH transaction: this article follows a single, simple payment of 0.1 ETH from one person to another, step by step and second by second, to show how the different Ethereum concepts fit together in practice.

The Scenario

Sara wants to pay her friend Omar 0.1 ETH for a freelance design job.

  1. Sara buys ETH with dollars on a licensed exchange.
  2. She withdraws it to her own self-custody wallet.
  3. She sends 0.1 ETH from her wallet to Omar's wallet on Ethereum's main network.
  4. Omar later moves the ETH to his exchange account and sells it for dollars.

The heart of the article is step 3, the transfer itself. Steps 1, 2, and 4 show how exchanges connect the traditional financial system to Ethereum.

The journey of Sara's money from dollars to ETH and back to dollars Sara's bank USD Sara's exchange buys ETH Sara's wallet self-custody bank transfer withdrawal the 0.1 ETH payment Omar's wallet self-custody Omar's exchange sells ETH Omar's bank USD deposit bank transfer Ethereum transaction (on-chain) bank or exchange records (off-chain)

The journey of Sara's money, from dollars back to dollars, with three Ethereum transactions in the middle.

The figures for fees, prices, and timings in this article are illustrative. They vary with network conditions and change over time.

In This Article, You'll Learn

  • ✓ Who the dozen-plus parties behind a single ETH payment are, and what each one does
  • ✓ How exchanges connect dollars in a bank account to ETH on the blockchain
  • ✓ How a wallet builds, prices and signs a transaction, and why there is no "from" field
  • ✓ How nodes, the mempool, builders, relays and validators get it into a block
  • ✓ What "confirmed" and "final" really mean, and how long each takes
  • ✓ Where the fee goes, what can go wrong, and how a Layer 2 changes the picture

The Cast

A single 0.1 ETH payment touches more than a dozen distinct parties, most of whom Sara will never know about.

The parties involved in a single ETH payment, grouped by role Money in and out (off-chain) Banks Exchanges Regulators Sara's side Sara Wallet app Private key RPC provider The Ethereum network Nodes Execution clients Consensus clients Mempool Making and checking the block Searchers Block builders Relays Block proposer Attesting validators Receiving and looking up Omar Block explorer
PartyWho or what it isRole in this payment
SaraThe senderDecides to pay and approves the transaction
OmarThe receiverProvides his address and receives the ETH
BanksSara's and Omar's banksMove dollars to and from the exchanges
ExchangesLicensed crypto exchangesConvert dollars to ETH and back; hold customers' crypto; send and receive on-chain
Wallet appSoftware such as MetaMask or Rabby on Sara's phone or computerStores her keys, builds and signs the transaction, shows her balance
Private keyA secret number in Sara's walletProduces the digital signature that authorises the payment
RPC providerA company running Ethereum nodes for wallets, such as Infura or AlchemyReceives Sara's signed transaction and answers her wallet's questions about balances and fees
NodesThousands of computers worldwide running Ethereum softwareStore the blockchain, check every transaction, and pass messages along
Execution clientsSoftware such as Geth, Nethermind, Besu, Erigon, or RethTransaction processor, i.e. they run transactions and keep track of balances and contracts
Consensus clientsSoftware such as Prysm, Lighthouse, Teku, Nimbus, or LodestarChain coordinator, i.e. they run proof of stake and track validators, blocks, and votes
MempoolEach node's waiting area for unconfirmed transactionsHolds Sara's transaction until it's included in a block
SearchersTraders running automated botsSpot profit opportunities and send bundles of transactions to builders
Block buildersSpecialist companies that assemble blocksPick and order transactions to make the most valuable block
RelaysTrusted go-betweens for builders and validatorsPass builders' blocks to validators fairly and securely
Block proposerOne validator randomly chosen for the 12-second slotSigns and publishes the block containing Sara's transaction
Attesting validatorsThousands of other validators assigned to vote in that slotCheck the block and vote that it's valid
Block explorerA website such as EtherscanLets Sara and Omar look up the transaction publicly
RegulatorsFinancial regulators in each country, such as securities regulators and central banksSet the rules the exchanges follow, such as identity checks and anti-money laundering controls
Notice that no one in this list can stop or reverse Sara's payment on their own once it's signed and broadcast, though exchanges and RPC providers can decline to handle it. That's the key difference from a bank transfer.

Stage 0: Getting ETH From an Exchange

Before Sara can pay Omar, she needs ETH in her own wallet, and getting it there involves the traditional banking system, a regulated exchange's private records, and one Ethereum transaction.

Opening an Account and Depositing Dollars

  1. Identity checks (KYC). Sara signs up with a licensed exchange. Because regulators require it, she uploads her government ID, takes a selfie for verification, and may answer questions about her income and why she is investing. The exchange screens her against sanctions lists.
  2. Bank transfer. Sara sends $370 from her bank account to the exchange's bank account. Her bank sees a normal transfer to a licensed company.
  3. Credit. When the exchange receives the dollars, it credits Sara's account balance in its own database.

Buying ETH: No Blockchain Involved Yet

Sara places an order to buy ETH. The exchange matches her with a seller in its order book, and her account now shows, say, 0.12 ETH.

Here is a crucial detail: nothing has happened on Ethereum yet. The trade happened entirely inside the exchange's private database. Sara owns a claim on ETH that the exchange holds for her, in wallets it controls. This is the custodial model: the exchange holds the keys.

Behind the scenes, the exchange keeps most customer ETH in heavily secured "cold" storage, often split across multiple keys and approvers, and a smaller amount in "hot" wallets for daily withdrawals. Regulators in many countries require customer assets to be kept separate from the exchange's own funds.

Withdrawing to Her Own Wallet

Sara wants to control her ETH herself, so she withdraws it to her MetaMask address.

  1. Address check. The exchange may ask her to whitelist the address, confirm by email and two-factor authentication, and declare that the wallet is her own. Under the "travel rule" adopted by regulators worldwide, exchanges must collect information about who is on each side of a transfer, and some ask customers to prove they control a self-hosted wallet.
  2. Risk screening. The exchange's compliance software checks that the destination address isn't linked to sanctioned or criminal activity.
  3. The on-chain withdrawal. The exchange's hot wallet sends 0.12 ETH (minus a withdrawal fee) to Sara's address. This is an Ethereum transaction in its own right, going through every step described in the rest of this article, except that the exchange's systems do the signing. Exchanges often send many customers' withdrawals in quick succession or batches.
  4. Arrival. Within a minute or so, the ETH appears in Sara's wallet. She now holds it directly: she controls the keys, and no company can freeze it.
Buying ETH happens in the exchange's database; only the withdrawal touches Ethereum Inside the exchange: its private database (off-chain) Bank deposit $370 arrives Order book trade Sara buys ETH Account balance 0.12 ETH (a claim) On Ethereum (on-chain) Cold storage most customer ETH Hot wallet daily withdrawals Sara's wallet 0.1195 ETH arrives withdrawal request address check + risk screening

Now the main event begins.

Step 1: Getting Omar's Address

The payment starts off-chain, with Omar telling Sara where to send the money, and the wallet quietly checks that the address hasn't been mistyped.

Omar opens his wallet and copies his address, for example 0x8ba1f109551bD432803012645Ac136ddd64DBA72, and sends it to Sara on WhatsApp. Alternatively, he could share an ENS name like omar.eth.

Background: Omar's address was derived from his public key, which was derived from his private key. Omar can share the address freely; it reveals nothing that would let anyone spend his money.
A private key produces a public key, which produces an address; an ENS name points to an address Private key secret, never shared Public key derived from the key Address 0x8ba1…BA72 safe to share one-way one-way omar.eth ENS name ENS lookup (a free read) EIP-55 checksum the upper/lower-case pattern catches typos Each step is easy forwards and practically impossible to reverse.

When Sara pastes the address, her wallet runs two quiet checks:

  • Format check. A valid address is 0x followed by exactly 40 hexadecimal characters: 0–9 and a–f, in upper or lower case.
  • Checksum check. Notice the mix of upper- and lower-case letters in Omar's address. That pattern isn't random: it's calculated from the address itself, under a standard known as EIP-55. If Sara accidentally changes one character, the capitalisation pattern no longer matches, and most wallets warn her.

If Omar had sent omar.eth, Sara's wallet would ask the ENS smart contracts on Ethereum which address that name currently points to, a free "read" that doesn't need a transaction.

Safety moment: this is where address-poisoning scams strike. Scammers send tiny transactions from addresses that look like ones you've used before, hoping you'll copy the wrong one from your history. Sara should copy the address directly from Omar's message and check the first and last several characters.

Step 2: The Wallet Builds the Transaction

When Sara enters "0.1 ETH" and taps Next, her wallet gathers information from the network and assembles a transaction: a small, structured message with about ten fields.

The Wallet Asks the Network Some Questions

Sara's wallet doesn't store the blockchain itself. It sends questions to its RPC provider, a company running full Ethereum nodes, using a standard interface called JSON-RPC:

Sara's wallet asks its RPC provider four questions before building the transaction Sara's wallet RPC provider runs full nodes JSON-RPC requests What is Sara's balance? 0.1195 ETH How many transactions has she sent? 0, so the nonce is 0 What are fees right now? base fee ≈ 0.5 gwei, tip ≈ 0.1 gwei How much gas will this need? 21,000
QuestionWhat the wallet learnsWhy it's needed
What's Sara's balance?0.1195 ETHTo check she can afford the payment plus the fee
How many transactions has Sara sent?0 (this is her first)To set the nonce, her transaction counter
What are recent base fees and tips?Base fee around 0.5 gwei; typical tips around 0.1 gweiTo suggest a fee that gets included quickly
How much gas will this need?21,000A plain ETH transfer to an ordinary account always uses exactly 21,000 gas

The Transaction, Field by Field

FieldValue in Sara's transactionWhat it means
Type2The modern fee format introduced by the 2021 fee reform
Chain ID1Ethereum main network. Stops the transaction being replayed on another network, such as a testnet or Layer 2
Nonce0Sara's transaction counter. Each number can be used only once, so the transaction can't be repeated, and her transactions are processed in order
ToOmar's addressThe recipient
Value100,000,000,000,000,000 wei0.1 ETH, expressed in the smallest unit (1 ETH = 10^18 wei)
DataEmptyA plain payment calls no contract function, so no data is needed
Gas limit21,000The most gas this transaction may use
Max priority fee0.1 gwei per gasThe tip Sara offers the validator
Max fee2 gwei per gasThe most Sara will pay per unit of gas, base fee plus tip. Set well above the current base fee in case it rises
Access listEmptyAn optional advanced field, not needed here

The Affordability Check

The wallet checks that Sara can cover the worst case: value plus gas limit × max fee.

0.1 ETH + (21,000 × 2 gwei) = 0.1 ETH + 0.000042 ETH = 0.100042 ETH

Sara has 0.1195 ETH, so she can afford it.

The Confirmation Screen

The wallet now shows Sara a summary: send 0.1 ETH to 0x8ba1…BA72, on Ethereum, with an estimated network fee. Using today's likely prices:

21,000 gas × (0.5 gwei base fee + 0.1 gwei tip) = 12,600 gwei = 0.0000126 ETH, about $0.04 if ETH is $3,000

Sara's fee: base fee plus tip, capped by a much higher max fee Price per unit of gas (gwei) base fee 0.5 (burned) tip 0.1 unused headroom up to the 2 gwei max fee 0 0.5 1 1.5 2 Actually paid: 21,000 gas × 0.6 gwei = 0.0000126 ETH (about $0.04) Worst case checked up front: 21,000 × 2 gwei = 0.000042 ETH

Many wallets also simulate the transaction first, running it against the current state to preview exactly what will change, and warn if the destination is a known scam address or a contract that can't receive ETH.

Step 3: Signing

When Sara taps Confirm, her wallet uses her private key to sign the transaction, producing a mathematical proof that she authorised exactly this payment, without ever revealing the key.

What Happens Inside the Wallet, in About a Millisecond

  1. Packing. The wallet packs the fields from Step 2 into a compact string of bytes, using a standard encoding format called RLP.
  2. Fingerprinting. It runs those bytes through the Keccak-256 hash function, producing a 32-byte fingerprint. Change even one digit in any field, and the fingerprint becomes completely different.
  3. Signing. It combines the fingerprint with Sara's private key using the ECDSA signature method on the secp256k1 curve, the same cryptography Bitcoin uses. The result is a signature made of three numbers, called r, s, and v (or y-parity).
  4. Assembling. The signature is attached to the transaction. The finished, signed transaction is only about 110 bytes, smaller than this paragraph.
  5. Naming. The signed transaction is hashed again to produce its transaction hash, such as 0x5c50…e4b2. This becomes its permanent ID, which Sara can use to look it up on Etherscan.
How the wallet turns the transaction into a signed transaction and its hash Transaction fields nonce, to, value, fees… RLP encoding compact bytes Keccak-256 hash 32-byte fingerprint ECDSA signature secp256k1 → r, s, v Signed transaction about 110 bytes Transaction hash 0x5c50…e4b2 (its ID) Private key used here, never leaves Sara's device

A Surprising Detail: There's No "From" Field

Look back at the table in Step 2: nowhere does it say "from Sara." That's because the signature itself proves who sent it. Anyone can use the transaction and its signature to mathematically recover the public key that signed it, and from that, Sara's address. The network trusts mathematics, not a label.

Why This Is Secure

  • The private key never leaves Sara's device. Only the signature is sent out.
  • The signature only fits this exact transaction. If an attacker intercepted it and tried to change the recipient or the amount, the signature would no longer match, and every node would reject it.
  • It can't be reused. The nonce (0) means it can only ever happen once, and the chain ID (1) means it only works on Ethereum's main network.

If Sara Used a Hardware Wallet

The unsigned transaction would be sent to the device over USB or Bluetooth. The device would display the recipient, amount, and fee on its own screen, and Sara would press a physical button to approve. The signing happens inside the device's secure chip, so even a computer infected with malware can't get the key, though it could try to trick Sara by showing her a different transaction, which is why she should always check the device's screen.

Steps 4 and 5: Broadcasting and Waiting

Sara's wallet hands the signed transaction to the network, which checks it and spreads it from computer to computer around the world within seconds, where it waits to be picked up for a block.

Step 4: The First Node Checks It

The wallet sends the signed transaction to its RPC provider with a request called eth_sendRawTransaction. The provider's node, running an execution client such as Geth, immediately checks it:

CheckWhat the node verifies
SignatureIt's mathematically valid, and it recovers Sara's address
Chain IDIt's meant for Ethereum's main network
NonceIt matches Sara's next expected number (0); not already used, and no gap
BalanceSara can cover 0.100042 ETH, the value plus the maximum possible fee
GasThe gas limit is at least 21,000, the minimum for any transaction
FeeThe max fee is reasonable compared with the current base fee
Format and sizeThe transaction is correctly encoded and within size limits

If any check fails, the node rejects it immediately and Sara's wallet shows an error, with nothing spent. Here, everything passes. The node replies with the transaction hash, and Sara's wallet shows "Pending."

Spreading Through the Network

Ethereum has no central server. Its nodes are connected in a peer-to-peer network: each node is linked to a few dozen others. The node that received Sara's transaction announces it to its peers. Each peer independently re-checks it, adds it to its own waiting area, and announces it to its own peers. Like news spreading through a crowd, it reaches most of the network's thousands of nodes within a few seconds.

No node simply trusts another. Each one checks everything itself, which is why one dishonest node can't sneak an invalid transaction through.

The transaction spreads peer to peer and waits in each node's mempool ≈1 s ≈2–3 s RPC node Sara's wallet One node's mempool highest tips first tip 2.0 gwei tip 0.8 gwei tip 0.3 gwei tip 0.1 gwei: Sara tip 0.1 gwei tip 0.05 gwei tip 0.01 gwei (may drop)

Step 5: The Mempool

Each node keeps unconfirmed transactions in a waiting area called the mempool, short for memory pool. There's no single, official mempool; each node has its own, though they're usually very similar.

  • Ordering: transactions are generally prioritised by the tip they offer. Sara's 0.1 gwei tip is in line with others, so she's in a good position.
  • Capacity: mempools have limits. In a busy period, very low-fee transactions can be pushed out and dropped.
  • Visibility: the mempool is public. Block explorers, analysts, and automated trading bots can all see Sara's pending transaction. For a simple payment that doesn't matter, but for trades it lets bots "front-run" them. That's why some wallets offer private transaction services that send transactions straight to block builders instead of the public mempool.

For Sara, the wait is usually short: with a normal fee, a transaction is typically included in the next block or two, within about 12 to 24 seconds.

Steps 6 and 7: Choosing a Proposer and Building the Block

Every 12 seconds, proof of stake picks one validator at random to propose the next block, and in most cases that validator buys a ready-made block from a specialist builder, who has included Sara's transaction because her tip makes it worth including.

Step 6: Ethereum's Clock and the Random Choice

Proof of stake runs on a strict clock:

  • Slot: 12 seconds. Each slot has room for one block.
  • Epoch: 32 slots, or 6.4 minutes.
An epoch is 32 slots of 12 seconds; one proposer per slot One epoch = 32 slots = 6.4 minutes 12 s Sara's slot: proposer = validator #482,113 Every slot: one proposer, picked at random (RANDAO), weighted by stake. Every epoch: each validator attests once, so each slot gets its own committee.

For every slot, the consensus layer chooses one proposer at random from all active validators, with the chance weighted by how much ETH each has staked. The randomness comes from a value called RANDAO, which every block proposer contributes to by mixing in its own signature, a value no one else can predict in advance, which makes it very hard for any single validator to control who comes next.

The schedule is known a little in advance, about one epoch ahead, so the chosen validator's software is ready. At the same time, every active validator is assigned to vote (attest) once per epoch, so each slot has its own committee of tens of thousands of validators who will check the block.

Say the proposer chosen for the slot that will include Sara's payment is validator #482,113, run by a staking company on a server in Germany. It doesn't matter where it is; any validator anywhere could be chosen.

Step 7: Building the Block

The proposer has two options:

Option A: build it locally. Its own execution client picks the best-paying transactions from its mempool, up to the block's gas limit, and builds a block.

Option B: buy a block from a builder. Most validators, roughly nine in ten blocks, use software called MEV-Boost, which lets specialist block builders compete to supply the most valuable block.

Here's how option B works, in the seconds before the slot begins:

  1. Searchers scan the mempool for profit opportunities, such as price differences between exchanges, and send bundles of transactions to builders.
  2. Builders combine those bundles with ordinary transactions from the mempool, like Sara's, arranging them to make the block as valuable as possible. Sara's transaction pays a tip, so including it earns money, and there's plenty of space.
  3. Each builder sends its block to a relay with a bid: "I'll pay the proposer this much for including my block."
  4. The relay checks the block is valid and passes only the header and bid to the proposer, keeping the full contents hidden so the proposer can't steal the builder's work.
  5. The proposer picks the highest bid and signs the header, committing to it.
  6. The relay then releases the full block and broadcasts it to the network; the proposer usually publishes it too.
How a block built by a builder reaches the proposer through a relay Mempool Searchers Builder Relay Proposer Network Sara's tx + many others profit bundles full block + bid header + bid only signed header full block published may publish too

The proposer commits to a block before seeing its contents, which protects the builder and keeps the process fair.

What's Inside the Block

The block has two layers, reflecting Ethereum's split since The Merge:

LayerContents
Consensus layer (beacon block)Slot number, proposer's ID, its RANDAO contribution, votes collected from earlier slots, and the proposer's signature
Execution layer (execution payload)The ordered list of transactions, including Sara's, plus the current base fee, gas used, the fee recipient's address, and fingerprints ("roots") of the resulting balances and receipts
A block has a consensus layer wrapping an execution payload Beacon block (consensus layer) • Slot number • Proposer #482,113 • RANDAO contribution • Votes from earlier slots • Proposer's signature Execution payload (execution layer) #87 of 180: Sara's payment • Base fee (0.5 gwei) and gas used • Fee recipient: the builder • State root and receipts root

Sara's transaction might be, say, number 87 of 180 in the block.

A wider concern: a small number of builders now build most blocks, which raises concerns about concentration and censorship. Ethereum researchers are working on upgrades, such as letting validators insist on including certain transactions, to reduce that risk. The next upgrade, Glamsterdam, goes further: it builds the hand-off between proposers and builders into the protocol itself (known as enshrined proposer-builder separation, or ePBS), so validators no longer need to trust relays. It was running on public test networks in October 2026; once it reaches the main network, this step will work somewhat differently.

Step 8: Executing the Transaction

When the block is built, and again on every node that receives it, the execution client runs Sara's transaction step by step, moves the ETH, settles the fee, and records the result.

Inside the Execution, in Order

#What happensSara's transaction
1Re-check signature, nonce, and balanceAll valid
2Work out the effective gas price: the base fee plus the tip, capped at the max fee0.5 + 0.1 = 0.6 gwei, below the 2 gwei cap
3Set aside the fee for the full gas limit from the sender up front21,000 × 0.6 gwei = 0.0000126 ETH set aside
4Increase the sender's nonceSara's nonce goes from 0 to 1, so this transaction can never run again
5Charge the basic cost of a transaction21,000 gas
6Move the value0.1 ETH leaves Sara's account and is added to Omar's
7Run any code at the recipient's addressOmar's address is an ordinary user account, so there's no code to run
8Refund unused gasAll 21,000 gas was used, so nothing to refund
9Burn the base fee21,000 × 0.5 gwei = 0.0000105 ETH destroyed
10Pay the tip21,000 × 0.1 gwei = 0.0000021 ETH to the block's fee recipient
11Write a receiptStatus: success; gas used: 21,000

Two details worth noticing:

  • Step 7 would be different if Omar used a smart wallet. His address would then be a contract account, so its code would run when ETH arrives, using more than 21,000 gas, and Sara's wallet would have estimated a higher gas limit. Since the 2025 Pectra upgrade (EIP-7702), even an ordinary account can have smart-wallet code attached, with the same effect.
  • Plain ETH transfers don't produce event logs. Token transfers do, which is how wallets and explorers track them. For plain ETH, explorers simply read the transaction itself.

Balances Before and After

AccountBeforeAfterChange
Sara0.1195 ETH0.0194874 ETH−0.1000126 ETH (payment plus fee)
Omar0 ETH0.1 ETH+0.1 ETH
Block's fee recipient——+0.0000021 ETH (tip)
Total ETH supply——−0.0000105 ETH (burned)
Balances before and after Sara's transaction runs Sara before 0.1195 ETH Sara after 0.0194874 ETH −0.1000126 Omar +0.1 ETH Fee recipient +0.0000021 ETH tip Burned 0.0000105 ETH removed value: 0.1 ETH tip base fee

Sealing the Result

After all 180 transactions in the block have run, the execution client calculates a single fingerprint of the entire state of Ethereum, every balance and every contract's data, called the state root. It goes in the block header.

Every node that receives the block runs every transaction itself and calculates its own state root. If even one balance differs by one wei, the fingerprints won't match, and the node rejects the block. This is how thousands of independent computers stay in perfect agreement without trusting each other.

In each node, the consensus client passes the block's transactions to the execution client through a connection called the Engine API, essentially asking, "Is this block valid?" The execution client runs it and answers yes or no.

Step 9: Spreading the Block and Voting

The proposer publishes the block at the start of its slot. As soon as nodes receive it, Sara's payment shows as "confirmed," and within seconds tens of thousands of validators check it and vote that it's valid, the first step towards finality.

Inside One 12-second Slot

Time into the slotWhat happens
0 secondsThe proposer signs and publishes the block on Ethereum's consensus network
About 0 to 2 secondsThe block spreads from node to node. Each node checks the proposer was the right one, the signatures are valid, and, through its execution client, that every transaction is valid and the state root matches. Once its node has the block, Sara's wallet can show "Confirmed"
4 secondsThe slot's committee of validators attest: each signs a vote saying "I've checked this block, and it's the latest valid one"
About 8 secondsRandomly chosen aggregators merge the committee's votes into one compact combined signature, so the next proposer can include them efficiently
12 secondsThe next slot begins; a new proposer includes the bundled votes in the next block
Timeline of one 12-second slot spreads, runs → Confirmed 0 s 2 s 4 s 6 s 8 s 10 s 12 s Proposer publishes block Validators attest Aggregators combine votes Next slot: votes included In a block (Confirmed) is not the same as final: finality takes about 15 minutes.

What an Attestation Contains

Each validator's vote does two jobs at once:

  • A vote for the head: "This block is the current tip of the chain." If there were ever two competing blocks, every node would follow the one with the most stake voting for it. This rule is called LMD-GHOST.
  • A vote for checkpoints: a vote linking the most recent justified checkpoint (usually the first block of the previous epoch) to the first block of the current epoch. These checkpoint votes are what lead to finality in the next step. This part is called Casper FFG.

Validators sign with a special type of signature (BLS) that can be combined: thousands of signatures can be merged into one, which is how Ethereum handles so many votes without overwhelming the network.

Sara Sees "Confirmed"

Sara's wallet has been asking its RPC provider, "Is there a receipt for this transaction yet?" Now there is; the receipt exists as soon as the provider's node has received and executed the new block, before the validators have even voted. Her wallet changes from Pending to Confirmed, usually 12 to 24 seconds after she tapped Confirm. Omar's wallet, checking his balance, shows 0.1 ETH arriving.

Technically, the payment is now in a block with strong support but is not yet final. Before finality, a block can in rare cases be replaced if the network briefly disagrees, known as a reorganisation, or reorg. With proof of stake, deep reorgs are extremely unlikely, and a payment with even one confirmation is very safe for everyday amounts.

Step 10: Finality

About 15 minutes after Sara's payment is included, enough validators have voted on the surrounding checkpoints that reversing it would require destroying at least a third of all staked ETH, so it's considered final.

How Finality Works

Finality happens epoch by epoch, using the checkpoint votes from Step 9:

  1. The epoch containing Sara's block ends. Epochs last 32 slots (6.4 minutes), so this takes anywhere from a few seconds to 6.4 minutes. The first block of the next epoch becomes the checkpoint that covers Sara's block, because it comes after it.
  2. Justified: when validators holding at least two-thirds of all staked ETH have voted for that checkpoint, which happens during that next epoch, it becomes justified.
  3. Finalised: when the checkpoint of the epoch after that is also justified, the earlier one becomes finalised, along with every block before it, including Sara's.
Sara's block is finalised when the checkpoint after it is justified and then finalised Epoch N (Sara's block) Epoch N+1 Epoch N+2 Sara's block checkpoint A checkpoint B votes justify A votes justify B, so A is final A is the first block after Sara's, so it covers her payment. about 13 to 19 minutes (typically around 15) ✓ Sara's payment is final

Finality usually arrives two to three epochs, about 13 to 19 minutes (typically around 15), after the block is included.

What "Final" Really Means

To reverse a finalised block, attackers would need validators holding at least a third of all staked ETH to sign conflicting votes. Those votes would be provable cheating, and those validators would be slashed. With over 40 million ETH staked, that's a penalty worth many billions of dollars. This is economic finality: reversal isn't mathematically impossible, but it would be ruinously expensive and obvious to everyone.

Why It Matters in Practice

Different parties wait for different levels of certainty:

WhoTypically waits forWhy
Omar, receiving a small payment1 confirmation (12 to 24 seconds)Very low risk for everyday amounts
A shop or freelancer receiving larger sumsA few confirmationsExtra comfort at little cost
Exchanges crediting depositsOften finality, or a set number of blocks (commonly around 64, roughly 13 minutes)They release funds for trading and withdrawal, so they can't risk a reversal
Bridges and Layer 2sFinalityThey move large sums between networks

Step 11: Who Got Paid, and What Was Burned

Sara paid about four US cents in network fees; most of it was destroyed, a small tip flowed through the builder to the proposer, and validators across the network earned newly issued ETH for securing the block.

Following Sara's 0.0000126 ETH Fee

Where Sara's fee went: 83% burned, 17% tip to builder then proposer Sara's fee 0.0000126 ETH Base fee (83%) 0.0000105 ETH Burned removed from supply Tip (17%) 0.0000021 ETH Builder fee recipient Proposer paid via bid 83% burned 17% tip

About 83% of Sara's fee was burned; the rest became part of the builder's payment to the proposer.

Everyone Who Earned Something From This Block

PartyWhat they receivedSource
ETH holders (indirectly)0.0000105 ETH removed from supply by Sara's transaction aloneThe burned base fee
Block builderAll tips from the block's transactions, plus any profit from arranging the blockUsers' tips and MEV, minus what it paid the proposer
Proposer (validator #482,113)The builder's winning bid, plus a reward of newly created ETH for proposing and for including other validators' votesBuilder payment and protocol issuance
Attesting validatorsSmall rewards of newly created ETH for voting correctly and on timeProtocol issuance
Sync committee validatorsSmall additional rewards for helping lightweight wallets verify the chainProtocol issuance
RelayUsually nothing directly; relays are run as a service—
RPC providerNothing from Sara directly; paid by the wallet company or through its own business modelBusiness arrangements
Sara's exchange (earlier)Trading fee on the purchase, plus a withdrawal feeExchange fees

Penalties That Didn't Happen

If a committee member had been offline at second 4, it would have missed its reward and received a small penalty. If the proposer had signed two different blocks for this slot, it would have been slashed. In Sara's slot, everyone did their job, which is what happens the vast majority of the time.

Step 12: Omar Receives It and Cashes Out

Omar's wallet shows the ETH within seconds; turning it back into dollars means one more Ethereum transaction into his exchange, a wait for finality, and the traditional banking system again.

Omar Checks the Payment

Omar's wallet shows his new 0.1 ETH balance by asking its own RPC provider. He can also paste the transaction hash into Etherscan, which shows every public detail: the block number, the time, Sara's and Omar's addresses, the 0.1 ETH value, the gas used, the base fee burned, the tip, and how many blocks have been added since.

Anyone in the world can see this information. It doesn't show their names, but if someone links an address to a person, for example through an exchange record or a public post, they can see that person's whole history. This is why Ethereum is described as pseudonymous, not anonymous.

Depositing to His Exchange

Omar decides to convert the ETH to dollars.

  1. A deposit address. His exchange gives him a deposit address that is unique to his account, so the exchange can tell whose deposit is whose.
  2. Another transaction. Omar sends his ETH from his wallet to that address. Because the network fee comes out of the same balance, he can't send the full 0.1 ETH: his wallet's "Max" button sends 0.1 ETH minus the fee, about 0.09999 ETH. This new transaction goes through every step in this article again, from building and signing to finality.
  3. Monitoring. The exchange runs its own Ethereum nodes, watching every new block for payments to its customers' deposit addresses. It spots Omar's deposit within seconds.
  4. Waiting for finality. The exchange shows the deposit as "pending" until its required number of confirmations, often around finality, about 13 minutes.
  5. Compliance screening. Blockchain analytics software traces where the ETH came from. It can see that it came from Sara's wallet, which was funded by a licensed exchange, a clean history. If the funds had passed through a sanctioned address or a known hack, the exchange might freeze them and investigate, as anti-money laundering rules require.
  6. Credit. Omar's exchange balance increases by about 0.09999 ETH in its internal database.
  7. Sweeping. Later, the exchange moves the ETH from Omar's deposit address into its own consolidated, secure storage, using yet more on-chain transactions that Omar never sees.
Omar deposits his ETH to an exchange, which waits for finality, screens and credits it Omar's wallet 0.1 ETH Deposit address unique to Omar Exchange nodes spot it in seconds ≈0.09999 ETH watching Wait for finality about 13 minutes Compliance check traces the funds Balance credited ≈0.09999 ETH Sell, then withdraw dollars to his bank Later, behind the scenes the exchange sweeps the ETH to cold storage (more on-chain transactions)

Back to Dollars

  1. Omar sells his ETH on the exchange's order book. Like Sara's purchase, this happens only in the exchange's database, not on Ethereum.
  2. He requests a withdrawal to his bank account.
  3. The exchange sends the dollars by ordinary bank transfer, usually arriving the same day or the next working day.
Omar should keep a record of the payment and the sale. Depending on where he lives, the sale may be taxable, and records also help with banking queries and business accounts.

The Full Timeline at a Glance

From the moment Sara taps Confirm, her payment is visible to Omar in under half a minute and final in about a quarter of an hour.

Timeline of Sara's payment from signing to finality 0 s Sara signs on her device wallet, private key < 1 s RPC node checks it: Pending RPC provider, execution client 1–3 s Spreads to mempools worldwide nodes ≤ 12 s Builders include it; relay offers the block searchers, builders, relays Slot start Proposer publishes the block validator #482,113 +0–2 s Block executed: Confirmed nodes and wallets +4 s Committee attests tens of thousands of validators ≤ 6.4 min Sara's epoch ends all active validators 13–19 min Finalised two-thirds or more of staked ETH Later Omar deposits, sells, withdraws dollars Omar, exchange, banks

The core payment, from Sara's tap to finality.

Approximate time after tapping ConfirmEventMain parties
0 secondsWallet signs the transaction on Sara's deviceSara, wallet, private key
Under 1 secondRPC node checks it and returns the transaction hash; status "Pending"RPC provider, execution client
1 to 3 secondsTransaction spreads to mempools across the networkNodes worldwide
Up to about 12 secondsBuilders include it in candidate blocks; the next slot beginsSearchers, builders, relays
Start of slotProposer signs and publishes the blockValidator #482,113
About 2 seconds into the slotNodes worldwide receive and execute the block; Sara and Omar see "Confirmed"Consensus and execution clients
4 seconds into the slotCommittee validators attestTens of thousands of validators
Within about 6 minutesSara's epoch ends; the next epoch's checkpoint gathers votesAll active validators
About 13 to 19 minutes (typically 15)Sara's block is finalisedTwo-thirds or more of all staked ETH
LaterOmar deposits to his exchange, waits for finality, sells, and withdraws dollarsOmar, exchange, banks

Compare this with an international bank transfer, which might take one to three working days and pass through several correspondent banks, each able to delay or block it.

What Can Go Wrong, and Where

Most problems with a simple payment happen before it reaches the blockchain, in Sara's hands, and many of them can't be undone once the transaction is final.

What can still be fixed before signing, while pending, and after inclusion Before signing Fix anything: address, network, amount, fee Signed, pending Speed up or cancel: same nonce, higher fee In a block Irreversible. Only Omar can send it back tap Confirm included (≈12 s) Most mistakes happen in the first zone. Check everything before tapping Confirm.
StepWhat could go wrongResultPrevention or fix
Stage 0: exchangeWithdrawal held for compliance checks, or the exchange is unlicensed and failsDelay, or loss of funds held at the exchangeUse licensed exchanges; complete verification in advance
Step 1: addressWrong or poisoned address pastedFunds sent to someone else, permanentlyCopy from the original source; check characters; send a small test first
Step 2: buildingWrong network selected, or not enough ETH for the feeFunds on the wrong network, or the wallet refuses to sendCheck the network; keep a small ETH balance for fees
Step 3: signingMalware or a fake wallet app; a tampered screenSara approves something different from what she intendedUse official apps; hardware wallet; check details on the device screen
Step 4: broadcastThe RPC provider is down, or rejects the transactionWallet shows an error; nothing spentRetry, or switch RPC provider
Step 5: mempoolTip too low during a busy periodTransaction stuck as "Pending" for a long time, or droppedSpeed up by resending with the same nonce and a higher fee, or cancel by sending a zero-value transaction to herself with the same nonce and a higher fee
Step 5: mempoolAn earlier transaction from Sara is stuckLater transactions queue behind it, because nonces must be in orderSpeed up or cancel the stuck one first
Steps 6–9: blockA rare short reorgTransaction briefly removed and re-included in a later blockWait for more confirmations for large amounts
Step 8: executionSending to a contract that rejects ETHTransaction fails; ETH stays with Sara, but she still pays the gas usedCheck the recipient before sending
After inclusionSara regrets the payment or sent the wrong amountNo way to reverse itOnly Omar can choose to send it back
The last row is the most important point of all: on Ethereum, nobody, not Sara, not her exchange, not the validators, and not any regulator, can reverse a finalised payment. This finality is what makes Ethereum trustworthy for Omar, and what makes mistakes so costly for Sara.

How It Differs on a Layer 2

If Sara paid Omar on a Layer 2 such as Base instead, the experience would feel almost identical but faster and cheaper, because a single sequencer handles her transaction first and Ethereum's validators only see it later, as part of a batch.

The same payment on Ethereum's main network and on Base, a Layer 2 Ethereum main network Sara Public mempool Builder and relay Block ≈12 s Final ≈15 min Base (a Layer 2) Sara Sequencer run by Coinbase L2 block ≈2 s Batch as blob on Ethereum Final ≈15–30 min Moving ETH back to Ethereum through the official bridge: about 7 days.
StepOn Ethereum's main networkOn Base, a Layer 2
Building and signingChain ID 1Chain ID 8453 (Base); otherwise the same fields and the same signature
BroadcastTo the public mempools of thousands of nodesTo the Layer 2's sequencer, run by Coinbase; there's usually no public mempool
Ordering and inclusionA randomly chosen validator's block, via builders and relaysThe sequencer orders transactions and produces a block every 2 seconds
ConfirmationAbout 12 to 24 secondsAbout 2 seconds, backed by the sequencer's promise
FeeGas × (base fee + tip): about $0.04 in this exampleA small Layer 2 execution fee plus a share of the cost of posting data to Ethereum: often a fraction of a cent
Reaching EthereumDirectlyThe sequencer bundles thousands of transactions and posts them to Ethereum as a blob, usually within minutes
FinalityAbout 13 to 19 minutes (typically 15)Once the batch containing the payment is finalised on Ethereum, roughly 15 to 30 minutes in total
Moving the ETH back to EthereumNot applicableAbout 7 days through the official bridge (optimistic rollup challenge period), or faster through a third-party bridge for a fee
The key insight is that on a Layer 2, Ethereum's validators don't check Sara's payment individually. They include the sequencer's batch in a block like any other transaction, and the rollup's rules, enforced by contracts on Ethereum, protect users if the sequencer misbehaves. Sara gets speed and low fees by trusting the sequencer for a few minutes, and Ethereum for everything after that.

Key Takeaways

  • A simple 0.1 ETH payment involves more than a dozen parties: Sara, Omar, banks, exchanges, a wallet, an RPC provider, thousands of nodes, builders, relays, a proposer, tens of thousands of attesting validators, block explorers, and regulators.
  • Exchanges trade in their own databases; only withdrawals and deposits touch Ethereum, and they go through identity checks, compliance screening, and confirmation waits.
  • The wallet builds a transaction of about ten fields, including the nonce, chain ID, value in wei, gas limit, and fee caps, and checks Sara can afford the worst case.
  • Signing uses Sara's private key to produce a signature that proves she approved exactly this transaction. There's no "from" field: the signature reveals the sender.
  • Nodes check the transaction, spread it peer-to-peer, and hold it in their mempools.
  • Proof of stake randomly picks a proposer each 12-second slot; most blocks are assembled by specialist builders and delivered through relays.
  • Every node executes every transaction: the value moves, the base fee is burned, the tip is paid, the nonce increases, and the state root seals the result.
  • Sara's wallet shows "Confirmed" as soon as the block arrives; validators attest four seconds into the slot, and two to three epochs of votes bring finality after about 15 minutes, backed by billions of dollars of stake.
  • Most mistakes happen before the transaction reaches the chain, and finalised payments can't be reversed by anyone.
  • On a Layer 2, the same transaction is faster and cheaper, with a sequencer in the middle and Ethereum's security behind it.

Sources and Further Reading

Share your love

Leave a Reply

Your email address will not be published. Required fields are marked *