What is mempool?

The waiting room where a broadcast transaction sits before a miner or validator includes it in a block.

Not yet verifiedHow we verify

3 min read

In this entry

The waiting room where a broadcast transaction sits before a miner or validator includes it in a block.

When you send crypto, the transaction does not go straight into the ledger. It is broadcast to nodes, each of which keeps it in memory and passes it on, until a block producer selects it. That memory pool is the mempool, and it is why a withdrawal can show as sent by your wallet and as pending everywhere else for hours.

The point people miss is that there is no single mempool. Every node keeps its own, with its own size limit and its own minimum acceptable fee. A transaction can be sitting comfortably in one node's pool and have been dropped from another's.

How it works

A broadcast transaction is checked for validity, then held and relayed. Block producers select from what they hold, and because block space is limited they select by fee rate rather than by arrival time. On Bitcoin the relevant measure is satoshis per virtual byte, so a physically larger transaction needs a proportionally higher total fee to compete.

When demand rises, the pool grows and the minimum fee rate that gets confirmed rises with it. Transactions below that rate wait. Nodes evict the lowest-fee transactions once their pool hits its configured size, so a transaction can quietly disappear from the network and never confirm at all. Nothing is lost when that happens, because an unconfirmed transaction never moved anything.

Two escape hatches exist. Replace-by-fee, specified in Bitcoin Improvement Proposal 125, lets a sender rebroadcast the same transaction with a higher fee if it was flagged as replaceable. Child-pays-for-parent works from the receiving side, spending an unconfirmed output with a high enough fee that a block producer takes both transactions together.

The mempool is also public, which is what makes front-running possible. Anyone can watch pending transactions, and on Ethereum that visibility is the raw material for maximal extractable value.

Example

Illustrative figures. You broadcast a Bitcoin withdrawal at 5 satoshis per virtual byte while the pool clears at 25. Your transaction is valid and relayed, but every block fills with higher-paying transactions ahead of it.

Hours later, congestion falls and the clearing rate drops to 4. Your transaction confirms without you doing anything. Had congestion instead persisted for days, nodes would have evicted it, and the coins would simply have remained spendable in your wallet as though you had never sent it.

Why it matters when you buy

Mempool congestion is the reason a transfer between exchanges can miss the price you were moving to catch. Before a time-sensitive transfer, check current fee rates, and consider whether a cheaper chain or a layer-2 route is available for the same asset. The per-chain fee measurements on the chain rankings and our guide at Gas fees explained cover how to read current conditions.

Questions

My transaction has been pending for hours. Is it lost?

No. An unconfirmed transaction has moved nothing. It either confirms when fee rates fall, or it is eventually dropped and the coins stay where they were.

Can I cancel a pending transaction?

Only if you sent it from your own wallet and flagged it as replaceable. Then you can rebroadcast with a higher fee, sometimes paying yourself to effectively cancel it. Exchange withdrawals cannot be cancelled this way.

Why do different sites show different mempool sizes?

Each site runs its own node with its own limits and policies. They are all reporting honestly on what they individually hold.