Glossary / Transactions & fees
Mempool
Also known as Memory pool.
- Definition
- A mempool is the set of valid transactions a node has heard about but not yet seen in a block, held in memory while they wait for a miner to pick them up.
There is no single mempool. Every node keeps its own, capped in Bitcoin Core at 300 megabytes by default, and throws away the cheapest transactions when that cap is reached. What a mempool website shows you is one node's view of the queue, close enough for choosing a fee but never authoritative.
How it works
Arrival is a filtering process, not a queue ticket. When a transaction reaches a node it is checked against the consensus rules and then against that node's own relay policy, and only if it passes both does the node store it and forward it to peers. A rejected transaction is simply not passed on, and if enough peers reject it, it never reaches a miner at all.
Storage is bounded, which surprises people who expect a waiting room to be infinite. The -maxmempool setting defaults to 300 megabytes, and when the store fills, the node evicts the lowest fee rate transactions and raises its own acceptance floor above the usual minimum. Anything still waiting after -mempoolexpiry hours is discarded too, and that default is 336 hours, or exactly 14 days. Since Bitcoin Core 0.14.0, the contents survive a restart by being written to a mempool.dat file, so shutting down your node no longer wipes what it knew.
Ordering is by price per unit of size. A miner assembling a candidate block sorts by fee rate and fills the 4,000,000 weight unit budget from the top, judging a transaction together with any unconfirmed parents it depends on. Bitcoin Core 31.0 rebuilt the mempool around exactly that idea, grouping connected transactions into clusters of up to 64 members and ranking them by the rate at which they would really be mined. Arrival time counts for nothing, which is why a transaction broadcast this morning can be overtaken all afternoon by later ones paying more.
Because each node applies its own settings, contents differ from machine to machine. A node that restarted an hour ago knows less than one running for a month, a node running Bitcoin Knots filters differently from one running Bitcoin Core, and miners can be handed transactions directly that never travelled the network at all.
Why this matters when you buy bitcoin
Checking the queue before you move coins is the single cheapest habit in bitcoin. The same withdrawal can cost a few hundred satoshis on a quiet weekend and tens of thousands during a rush, and nothing about your wallet warns you which situation you are in. A glance at the current next-block rate before pressing withdraw is worth more than any fee setting a wallet offers.
Which exchange you use changes how much that matters. Binance, Kraken, and Coinbase all price bitcoin withdrawals from the network, so the figure they quote climbs when the queue is deep and falls back when it clears, and waiting for a quiet hour is worth real money. Venues that publish a fixed withdrawal charge instead collect the same amount whatever the queue is doing, which makes them punitive on a calm day and a bargain during congestion. Knowing which model you are on tells you whether waiting buys you anything.
Congestion also arrives without warning and for reasons unrelated to payments. The token minting waves of 2023 and the Runes launch in April 2024 both filled blocks with data, pushing ordinary savers into a bidding war they had no interest in joining. If you run recurring buys through Swan or River with automatic withdrawals, the sensible response is a threshold that moves coins in fewer, larger transactions rather than a fixed weekly schedule that ignores the state of the queue.
Reading the queue before you press withdraw
Open any mempool dashboard and you are looking at three things: the transactions waiting, the fee rate bands they sit in, and the projected blocks those bands would fill. A band labelled for the next block is what you pay to be mined in roughly ten minutes; the lower bands are what you pay to wait.
Put numbers on it with a sweep of one coin into one output. That transaction is about 110 virtual bytes with a native SegWit input, so at 2 sat/vB it costs 220 satoshis and at 90 sat/vB it costs 9,900 satoshis. The transaction is byte for byte identical in both cases. Only the moment you chose differs, and that is the entire lesson.
The floor is worth knowing too. Bid too low and your transaction may never be accepted by peers at all, so it will not appear on explorers and cannot be bumped. Bid a little low deliberately, and you are betting that the queue empties within 14 days, after which nodes drop it and your wallet's coins become spendable again.
Mempool vs mempool policy
A mempool is a container; policy is the doorman. The container holds whatever passed the checks, and its size and expiry are configurable in the same way policy is, but the two answer different questions. Policy decides whether a transaction is allowed in and relayed onward; the mempool decides what happens to it afterwards, including which transactions get evicted when space runs short.
Mempool vs block
A block is a settled, permanent record with a hard limit of 4,000,000 weight units; a mempool is a temporary, private, unlimited-in-principle guess at what the next few blocks might contain. Transactions leave the mempool when they are mined, and they leave it again if the branch containing them is abandoned, in which case they return to waiting. Nothing about being in a mempool is a commitment by anyone.