scroll to continue
1 / 20
#1
#2
#3
#4
#5Aorphaned
A
#5Bcanonical
B
#1
#2
#3
#4
#1
#2
#3
#4
your 1 ETH
waiting in mempool
#1
#2
#3
#4
#5your 1 ETH
your 1 ETH ✓
confirmed
#1
#2
#3
#4
#5Bcanonical
your 1 ETH — ?
#1
#2
#3
#4
#5your 1 ETH
your 1 ETH ✓
re-included in winning block
#1
#2
#3
#4
#5Bcanonical
#5A
your 1 ETH (pending)
back in mempool
#1
#2
#3
#4
#5Bcanonical
#5A
your 1 ETH (invalid)
nonce conflict
#1
#2
#3
#4
#5Bcanonical
#1
#2
#3
#4
#5Bon time
#5Alate
latency

#5A arrived too late — validators already voted for #5B

#4VALx2#5A#5BsameslotSLASHED32 ETH burned
Block #5ARB tx · $2M👁proposerspots profitAttacker's #5front-runARB tx$2M capturedreplaced
#101finalized
#102finalized
#103safe
#104safe
#105latest
#1
#2
#3
#4
#5final
1718192021220815

reorgs per day · Mar 2026

a reorg in action
a visual explainer

What is a blockchain reorg?

And why does the chain sometimes change its mind?

March 24, 2026·web3blockchain
first, the basics

A blockchain is just blocks, linked together.

Each block contains a bunch of transactions. Each block points to the one before it. That's what makes it a chain.

Simple enough. Block 1 points to Block 2. Block 2 points to Block 3. Everyone agrees on the order.

your transaction

You send 1 ETH to a friend.

Your transaction doesn't go directly into a block. It goes into a waiting room called the mempool.

mempool (the waiting room)
your 1 ETHswap USDCmint NFTapprove DAIbridge 0.5 ETH

A validator picks up transactions from this pool and packs them into the next block.

your transaction gets included

Your 1 ETH lands in Block 5.

The validator proposes Block 5 with your transaction inside.

Your wallet shows the transaction as "confirmed." You tell your friend the money is sent.

But is it really final?

⚠️

What if two validators propose a block at the same time?

The blockchain is a global network. Thousands of computers. Different continents. Different internet speeds.

Sometimes, two valid blocks show up for the same slot.

a fork appears

Two blocks. Same position. The chain splits.

Both blocks are valid. But they contain different transactions. Your 1 ETH is in Block 5A. A different transaction is in Block 5B.

Now the network has a decision to make: which chain is the real one?

the vote

Validators vote on which block they saw first.

Each small square is a validator. They "attest" to whichever block reached them first. This is not a deliberate choice — it's just network geography.

Voted for 5AVoted for 5B
5A — 38%
5B — 62%

Block 5B got more votes. The network decides: Chain B wins.

💥

This is a reorg.

Block 5A gets thrown away. The chain "reorganizes" around Block 5B instead.

Your node rewinds its state, discards Block 5A, and accepts Block 5B as the truth.

the important question

What happens to your 1 ETH?

Your transaction was in Block 5A, which just got orphaned. It now has one of three possible fates:

Fate 1 — re-included (most likely)

Fate 2 — returned to mempool

Fate 3 — dropped forever

Fate 1 — re-included (most likely)

The winning block also has your transaction.

The validator who built Block 5B saw your transaction in the mempool too and included it. Nothing changes for you. Your 1 ETH still arrives.

your 1 ETH ✓

Fate 2 — returned to mempool

Fate 3 — dropped forever

Fate 1 — re-included (most likely)

Fate 2 — returned to mempool

Your transaction goes back to the waiting room.

Block 5B didn't include your transaction. So it gets pushed back into the mempool, waiting to be picked up by the next block. Annoying, but not dangerous.

your 1 ETH (pending again)

Fate 3 — dropped forever

Fate 1 — re-included (most likely)

Fate 2 — returned to mempool

Fate 3 — dropped forever

A conflicting transaction made yours invalid.

Block 5B contains a different transaction from the same sender with the same nonce. Since two transactions can't use the same nonce, yours becomes permanently invalid.

This is the actual double-spend vector.

your 1 ETH (invalid)
so why does this happen?

Three reasons a reorg occurs.

🌐

1. The block arrived late.

A validator in Tokyo proposes a block. By the time it reaches validators in New York, they've already voted for the previous block as the chain head.

This is the most common cause. Pure physics.

~0.5 times per day on Ethereum.

👨‍👨‍👦

2. A validator signed two blocks.

Whether by bug or by malice, a validator proposes two different blocks for the same slot. Half the network sees one, half sees the other.

The one with more votes wins. The cheating validator gets slashed — their staked ETH is burned as punishment.

💰

3. Someone wants to steal MEV.

A proposer sees a juicy arbitrage trade in the latest block. They build a competing block that front-runs that trade to capture the profit.

This requires colluding with the next proposer — expensive and risky, but the payoff can be millions.

This is what PBS (Proposer-Builder Separation) is designed to prevent.

the safety net

After ~13 minutes, a block becomes final.

Ethereum's Casper FFG finalizes blocks every 2 epochs (~64 slots). Once finalized, a block cannot be reorged — reversing it would require 1/3 of all staked ETH to be slashed.

This is why the JSON-RPC API has three block tags:

finalized — irreversible. No reorg possible.

safe — very unlikely to be reorged.

latest — newest block. Could still be reorged.

to sum up

A reorg is the chain changing its mind.

  Two valid blocks compete for the same position.

  Validators vote. The heavier chain wins.

  The losing block is discarded. Its transactions scatter.

  Most transactions get re-included. Some return to the mempool. A few die.

  After ~13 minutes, finality makes reorgs impossible.

On Ethereum post-Merge, 1-slot reorgs happen about once every two days.
Deeper reorgs are essentially unheard of.

in the real world

Reorgs happen every day.

Over 222,883 forked blocks have been recorded on Ethereum. Most are single-slot depth-1 reorgs caused by network latency — not attacks.

No deep reorgs have occurred since the merge to proof-of-stake.

View live reorg data on Etherscan →

a visual explainer on blockchain reorgs

built for anubhav.wtf

What is a Blockchain Reorg?