You send coins. The wallet flashes green. "Confirmed." You lean back. Done.
No. Not done. Not even close.
That green tick is a lie of omission. It tells you the transaction was included in a block. It says nothing about whether that block will still exist in five minutes. And the gap between "included" and "irreversible" is where naive people lose money — merchants who ship goods too early, traders who trust a balance that hasn't settled, DAOs that mark a transfer as final when the network hasn't agreed yet.
Finality is the real thing. A confirmation is just a rumor that hasn't been contradicted yet.
Two kinds of finality, and don't confuse them
There are two species of finality, and mixing them up is how you get robbed.
Probabilistic finality — this is Bitcoin, and Ethereum's early history. Your transaction goes into a block. Then another block gets built on top. Then another. Each block stacked on top makes it exponentially harder for anyone to rewrite history and un-spend your coins. It never reaches mathematical certainty — it just gets so improbable to reverse that we stop worrying. One confirmation on Bitcoin: weak. Six confirmations (about an hour): the industry's old rule of thumb for "safe enough" for large sums. Not because six is magic — because rewriting six blocks would cost an attacker more than they could steal.
Absolute (deterministic) finality — this is what proof-of-stake chains reach for. On Ethereum today, once a block is finalized by validator attestations — roughly every 12–15 minutes, two epochs — reverting it would require an attacker to burn at least a third of all staked ETH. Billions of dollars, deliberately set on fire, to un-do your coffee purchase. That's not "probably safe." That's "the attacker would need to commit economic suicide."
Know which chain you're on. Know which kind of finality it gives you. A merchant treating one Bitcoin confirmation like settled cash is a merchant waiting to be double-spent.
The reorg — where "confirmed" gets deleted
Here's the mechanic they don't put in the onboarding tutorial: the reorganization, the reorg.
Two miners find a valid block at nearly the same instant. For a moment the network disagrees — two competing versions of "latest." Both are legitimate. The network resolves it by following the chain with the most accumulated work (or the most attestations). The losing block gets orphaned. Every transaction in it that isn't also in the winning chain? Rolled back. Un-happened. Your green tick, reversed.
Most reorgs are one block deep and boring. But they happen constantly on the edges. And a deliberate deep reorg — a 51% attack — is exactly how double-spends work: send coins, get one confirmation, then secretly build a longer chain where you never sent them. Small chains with cheap hashpower get hit with this for real. It is not theoretical.
This is why "wait for confirmations" exists. Each block on top is another block an attacker would have to out-race. Depth is your armor.
Our Record
On the Scales of Ma'at, a single confirmation is a word half-spoken. Heka — the creating word — only binds reality when it is finished. An unfinalized transaction is Ba not yet settled into the body: present, but not yet real, still able to dissolve. Isfet lives in that gap — the reorg is Apep swallowing a moment that looked solid and spitting the ledger back a few seconds. Finality is the feather touching the pan and staying. The judgment recorded. Not the promise of judgment. The judgment.
Do not ship the goods on a promise. Ship on the recorded weight.
What this costs you in the real world
Stop treating this as trivia. It has a price tag.
- Merchants: accept payment, wait the confirmations your chain and amount demand, then release the product. Zero-conf (acting on an unconfirmed transaction) is fine for a coffee, insane for a car.
- Exchanges: this is literally why your deposit isn't credited instantly. They're waiting out reorg risk with your money. That "slow" deposit is them not getting robbed on your behalf.
- Bridges and L2s: cross-chain bridges wait for finality on the source chain before minting on the destination. Bridges that cut this corner to feel "fast" are the ones that get drained. Some of the largest hacks in crypto trace back to trusting a transaction that wasn't final.
- DAO treasuries: don't mark a payout as "settled" in your accounting the instant it broadcasts. Settled means finalized.
The sovereign move: read the depth yourself
You don't have to trust the green tick. That's the whole point of this technology — you can check.
Open a block explorer. Paste your transaction hash. Look for the confirmation count, and look for whether the block is marked finalized. On Ethereum-style chains, watch for the "finalized" label, not just "included." On proof-of-work chains, count the blocks stacked on top and match that against the value you're moving. Big money, more depth. Simple.
This is the muscle nobody teaches and everybody needs. The wallet's UI is a convenience layer built to make you comfortable. Comfort is not the same as settled. Under the friendly green tick is a real, public, checkable state — and you have the right and the tools to read it directly.
Think of finality like a database commit. The transaction shows up in the log the instant it's written — but until it's committed, a rollback can wipe it. Anyone who's shipped code knows: never trust the write, trust the commit. The green tick is the write. Finality is the commit.
The lever
Finality is not paranoia. It's just knowing when the ink is dry.
Learn your chain's finality model — probabilistic or absolute, and roughly how long. Scale your patience to the value: a coffee clears in a moment; a treasury transfer waits for the finalized flag. Never release irreversible value against reversible confirmation. And when in doubt, open the explorer and read the depth with your own eyes instead of trusting a color.
The system was built so you'd never have to trust a middleman's word again. Don't hand that trust straight back to a UI animation.
Wait for the weight to settle. Then act.