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.
- Sara buys ETH with dollars on a licensed exchange.
- She withdraws it to her own self-custody wallet.
- She sends 0.1 ETH from her wallet to Omar's wallet on Ethereum's main network.
- 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 back to dollars, with three Ethereum transactions in the middle.
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.
| Party | Who or what it is | Role in this payment |
|---|---|---|
| Sara | The sender | Decides to pay and approves the transaction |
| Omar | The receiver | Provides his address and receives the ETH |
| Banks | Sara's and Omar's banks | Move dollars to and from the exchanges |
| Exchanges | Licensed crypto exchanges | Convert dollars to ETH and back; hold customers' crypto; send and receive on-chain |
| Wallet app | Software such as MetaMask or Rabby on Sara's phone or computer | Stores her keys, builds and signs the transaction, shows her balance |
| Private key | A secret number in Sara's wallet | Produces the digital signature that authorises the payment |
| RPC provider | A company running Ethereum nodes for wallets, such as Infura or Alchemy | Receives Sara's signed transaction and answers her wallet's questions about balances and fees |
| Nodes | Thousands of computers worldwide running Ethereum software | Store the blockchain, check every transaction, and pass messages along |
| Execution clients | Software such as Geth, Nethermind, Besu, Erigon, or Reth | Transaction processor, i.e. they run transactions and keep track of balances and contracts |
| Consensus clients | Software such as Prysm, Lighthouse, Teku, Nimbus, or Lodestar | Chain coordinator, i.e. they run proof of stake and track validators, blocks, and votes |
| Mempool | Each node's waiting area for unconfirmed transactions | Holds Sara's transaction until it's included in a block |
| Searchers | Traders running automated bots | Spot profit opportunities and send bundles of transactions to builders |
| Block builders | Specialist companies that assemble blocks | Pick and order transactions to make the most valuable block |
| Relays | Trusted go-betweens for builders and validators | Pass builders' blocks to validators fairly and securely |
| Block proposer | One validator randomly chosen for the 12-second slot | Signs and publishes the block containing Sara's transaction |
| Attesting validators | Thousands of other validators assigned to vote in that slot | Check the block and vote that it's valid |
| Block explorer | A website such as Etherscan | Lets Sara and Omar look up the transaction publicly |
| Regulators | Financial regulators in each country, such as securities regulators and central banks | Set the rules the exchanges follow, such as identity checks and anti-money laundering controls |
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
- 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.
- 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.
- 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.
- 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.
- Risk screening. The exchange's compliance software checks that the destination address isn't linked to sanctioned or criminal activity.
- 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.
- 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.
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.
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.
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:
| Question | What the wallet learns | Why it's needed |
|---|---|---|
| What's Sara's balance? | 0.1195 ETH | To 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 gwei | To suggest a fee that gets included quickly |
| How much gas will this need? | 21,000 | A plain ETH transfer to an ordinary account always uses exactly 21,000 gas |
The Transaction, Field by Field
| Field | Value in Sara's transaction | What it means |
|---|---|---|
| Type | 2 | The modern fee format introduced by the 2021 fee reform |
| Chain ID | 1 | Ethereum main network. Stops the transaction being replayed on another network, such as a testnet or Layer 2 |
| Nonce | 0 | Sara's transaction counter. Each number can be used only once, so the transaction can't be repeated, and her transactions are processed in order |
| To | Omar's address | The recipient |
| Value | 100,000,000,000,000,000 wei | 0.1 ETH, expressed in the smallest unit (1 ETH = 10^18 wei) |
| Data | Empty | A plain payment calls no contract function, so no data is needed |
| Gas limit | 21,000 | The most gas this transaction may use |
| Max priority fee | 0.1 gwei per gas | The tip Sara offers the validator |
| Max fee | 2 gwei per gas | The most Sara will pay per unit of gas, base fee plus tip. Set well above the current base fee in case it rises |
| Access list | Empty | An 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
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
- Packing. The wallet packs the fields from Step 2 into a compact string of bytes, using a standard encoding format called RLP.
- 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.
- 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).
- Assembling. The signature is attached to the transaction. The finished, signed transaction is only about 110 bytes, smaller than this paragraph.
- 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.
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:
| Check | What the node verifies |
|---|---|
| Signature | It's mathematically valid, and it recovers Sara's address |
| Chain ID | It's meant for Ethereum's main network |
| Nonce | It matches Sara's next expected number (0); not already used, and no gap |
| Balance | Sara can cover 0.100042 ETH, the value plus the maximum possible fee |
| Gas | The gas limit is at least 21,000, the minimum for any transaction |
| Fee | The max fee is reasonable compared with the current base fee |
| Format and size | The 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.
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.
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:
- Searchers scan the mempool for profit opportunities, such as price differences between exchanges, and send bundles of transactions to builders.
- 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.
- Each builder sends its block to a relay with a bid: "I'll pay the proposer this much for including my block."
- 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.
- The proposer picks the highest bid and signs the header, committing to it.
- The relay then releases the full block and broadcasts it to the network; the proposer usually publishes it 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:
| Layer | Contents |
|---|---|
| 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 |
Sara's transaction might be, say, number 87 of 180 in the block.
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 happens | Sara's transaction |
|---|---|---|
| 1 | Re-check signature, nonce, and balance | All valid |
| 2 | Work out the effective gas price: the base fee plus the tip, capped at the max fee | 0.5 + 0.1 = 0.6 gwei, below the 2 gwei cap |
| 3 | Set aside the fee for the full gas limit from the sender up front | 21,000 × 0.6 gwei = 0.0000126 ETH set aside |
| 4 | Increase the sender's nonce | Sara's nonce goes from 0 to 1, so this transaction can never run again |
| 5 | Charge the basic cost of a transaction | 21,000 gas |
| 6 | Move the value | 0.1 ETH leaves Sara's account and is added to Omar's |
| 7 | Run any code at the recipient's address | Omar's address is an ordinary user account, so there's no code to run |
| 8 | Refund unused gas | All 21,000 gas was used, so nothing to refund |
| 9 | Burn the base fee | 21,000 × 0.5 gwei = 0.0000105 ETH destroyed |
| 10 | Pay the tip | 21,000 × 0.1 gwei = 0.0000021 ETH to the block's fee recipient |
| 11 | Write a receipt | Status: 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
| Account | Before | After | Change |
|---|---|---|---|
| Sara | 0.1195 ETH | 0.0194874 ETH | −0.1000126 ETH (payment plus fee) |
| Omar | 0 ETH | 0.1 ETH | +0.1 ETH |
| Block's fee recipient | — | — | +0.0000021 ETH (tip) |
| Total ETH supply | — | — | −0.0000105 ETH (burned) |
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 slot | What happens |
|---|---|
| 0 seconds | The proposer signs and publishes the block on Ethereum's consensus network |
| About 0 to 2 seconds | The 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 seconds | The 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 seconds | Randomly chosen aggregators merge the committee's votes into one compact combined signature, so the next proposer can include them efficiently |
| 12 seconds | The next slot begins; a new proposer includes the bundled votes in the next block |
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:
- 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.
- 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.
- 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.
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:
| Who | Typically waits for | Why |
|---|---|---|
| Omar, receiving a small payment | 1 confirmation (12 to 24 seconds) | Very low risk for everyday amounts |
| A shop or freelancer receiving larger sums | A few confirmations | Extra comfort at little cost |
| Exchanges crediting deposits | Often 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 2s | Finality | They 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
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
| Party | What they received | Source |
|---|---|---|
| ETH holders (indirectly) | 0.0000105 ETH removed from supply by Sara's transaction alone | The burned base fee |
| Block builder | All tips from the block's transactions, plus any profit from arranging the block | Users' 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' votes | Builder payment and protocol issuance |
| Attesting validators | Small rewards of newly created ETH for voting correctly and on time | Protocol issuance |
| Sync committee validators | Small additional rewards for helping lightweight wallets verify the chain | Protocol issuance |
| Relay | Usually nothing directly; relays are run as a service | — |
| RPC provider | Nothing from Sara directly; paid by the wallet company or through its own business model | Business arrangements |
| Sara's exchange (earlier) | Trading fee on the purchase, plus a withdrawal fee | Exchange 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.
- 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.
- 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.
- 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.
- Waiting for finality. The exchange shows the deposit as "pending" until its required number of confirmations, often around finality, about 13 minutes.
- 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.
- Credit. Omar's exchange balance increases by about 0.09999 ETH in its internal database.
- 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.
Back to Dollars
- 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.
- He requests a withdrawal to his bank account.
- The exchange sends the dollars by ordinary bank transfer, usually arriving the same day or the next working day.
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.
The core payment, from Sara's tap to finality.
| Approximate time after tapping Confirm | Event | Main parties |
|---|---|---|
| 0 seconds | Wallet signs the transaction on Sara's device | Sara, wallet, private key |
| Under 1 second | RPC node checks it and returns the transaction hash; status "Pending" | RPC provider, execution client |
| 1 to 3 seconds | Transaction spreads to mempools across the network | Nodes worldwide |
| Up to about 12 seconds | Builders include it in candidate blocks; the next slot begins | Searchers, builders, relays |
| Start of slot | Proposer signs and publishes the block | Validator #482,113 |
| About 2 seconds into the slot | Nodes worldwide receive and execute the block; Sara and Omar see "Confirmed" | Consensus and execution clients |
| 4 seconds into the slot | Committee validators attest | Tens of thousands of validators |
| Within about 6 minutes | Sara's epoch ends; the next epoch's checkpoint gathers votes | All active validators |
| About 13 to 19 minutes (typically 15) | Sara's block is finalised | Two-thirds or more of all staked ETH |
| Later | Omar deposits to his exchange, waits for finality, sells, and withdraws dollars | Omar, 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.
| Step | What could go wrong | Result | Prevention or fix |
|---|---|---|---|
| Stage 0: exchange | Withdrawal held for compliance checks, or the exchange is unlicensed and fails | Delay, or loss of funds held at the exchange | Use licensed exchanges; complete verification in advance |
| Step 1: address | Wrong or poisoned address pasted | Funds sent to someone else, permanently | Copy from the original source; check characters; send a small test first |
| Step 2: building | Wrong network selected, or not enough ETH for the fee | Funds on the wrong network, or the wallet refuses to send | Check the network; keep a small ETH balance for fees |
| Step 3: signing | Malware or a fake wallet app; a tampered screen | Sara approves something different from what she intended | Use official apps; hardware wallet; check details on the device screen |
| Step 4: broadcast | The RPC provider is down, or rejects the transaction | Wallet shows an error; nothing spent | Retry, or switch RPC provider |
| Step 5: mempool | Tip too low during a busy period | Transaction stuck as "Pending" for a long time, or dropped | Speed 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: mempool | An earlier transaction from Sara is stuck | Later transactions queue behind it, because nonces must be in order | Speed up or cancel the stuck one first |
| Steps 6–9: block | A rare short reorg | Transaction briefly removed and re-included in a later block | Wait for more confirmations for large amounts |
| Step 8: execution | Sending to a contract that rejects ETH | Transaction fails; ETH stays with Sara, but she still pays the gas used | Check the recipient before sending |
| After inclusion | Sara regrets the payment or sent the wrong amount | No way to reverse it | Only Omar can choose to send it back |
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.
| Step | On Ethereum's main network | On Base, a Layer 2 |
|---|---|---|
| Building and signing | Chain ID 1 | Chain ID 8453 (Base); otherwise the same fields and the same signature |
| Broadcast | To the public mempools of thousands of nodes | To the Layer 2's sequencer, run by Coinbase; there's usually no public mempool |
| Ordering and inclusion | A randomly chosen validator's block, via builders and relays | The sequencer orders transactions and produces a block every 2 seconds |
| Confirmation | About 12 to 24 seconds | About 2 seconds, backed by the sequencer's promise |
| Fee | Gas × (base fee + tip): about $0.04 in this example | A small Layer 2 execution fee plus a share of the cost of posting data to Ethereum: often a fraction of a cent |
| Reaching Ethereum | Directly | The sequencer bundles thousands of transactions and posts them to Ethereum as a blob, usually within minutes |
| Finality | About 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 Ethereum | Not applicable | About 7 days through the official bridge (optimistic rollup challenge period), or faster through a third-party bridge for a fee |
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
- Ethereum wallets
- EIP-55: Mixed-case checksum address encoding
- ENS documentation
- EIP-1559: Fee market change for ETH 1.0 chain
- Ethereum Yellow Paper (signing and transactions)
- Proof-of-stake (ethereum.org)
- Glamsterdam Testnet Announcement (Ethereum Foundation blog)
- EIP-7702: Set code for EOAs
- ERC-20: Token standard
- Gasper: how Ethereum reaches finality (ethereum.org)
- Optimistic rollups (ethereum.org)





