Mempool
Also called: memory pool, mempool policy, unconfirmed transactions, txpool.
The mempool is a node's waiting area for valid, unconfirmed transactions; miners choose from it, usually by fee rate, when they build a block.
The mempool (memory pool) is the set of unconfirmed transactions a node has checked and is holding until they are mined. There is no single global mempool: every node keeps its own, and they differ depending on what each node has heard and which policy it runs.
How the mempool works
When a node receives a transaction it checks it against the consensus rules and against its own policy rules (standardness, minimum fee rate, dust limits, size and chain limits). If it passes, the node stores it and relays it to peers. Miners build block templates from their mempool, normally picking the transactions or packages that pay the most per vbyte. When the mempool is full, the lowest fee-rate transactions are evicted (Bitcoin Core caps it at 300 MB by default).
Because policy isn't consensus, two nodes can disagree about whether a transaction belongs in the mempool while agreeing completely on which blocks are valid.
BIPs that shape the mempool
- BIP 125: opt-in replace-by-fee, the rules for swapping a transaction for a higher-fee version.
- BIP 133: the feefilter message, so peers don't send transactions below your minimum fee rate.
- BIP 35: the mempool message, to ask a peer for its contents.
- BIP 431: TRUC (version 3) transactions with tighter limits that resist pinning.
- BIP 331: package relay, so CPFP packages are judged together.
See the mempool topic for every related proposal and the replace-by-fee guide for fee bumping in practice.