Mempool — Bitcoin Transaction Waiting Room
Mempool is a space where unconfirmed transactions that have not yet been included in a block wait.
Mempool (Memory Pool) is a space where unconfirmed transactions that have not yet been included in a block wait. Each Bitcoin node maintains its own independent mempool, so strictly speaking there is no single “the mempool” but rather tens of thousands of individual mempools distributed across the network.
graph LR USER["👤 User"] -->|"Create Tx"| NODE["📡 Node"] NODE -->|"Broadcast"| MEMPOOL["🔄 Mempool
(Unconfirmed Tx Queue)"] MEMPOOL -->|"Miner Selects
(Higher Fee First)"| BLOCK["⛏️ Block"] BLOCK -->|"Verified & Added"| CHAIN["⛓️ Blockchain"] style MEMPOOL fill:#f7931a,stroke:#f7931a,color:#000 style CHAIN fill:#3fb950,stroke:#3fb950,color:#000
Transaction Lifecycle
A Bitcoin transaction passes through distinct stages from creation to final confirmation.
Creation: The user constructs a transaction through wallet software. UTXOs to spend are selected as inputs, recipient addresses and amounts are specified as outputs, and the transaction is signed with the private key. At this point, the transaction has not yet been broadcast to the network.
Propagation: The signed transaction is sent to connected peer nodes. The receiving node announces the new transaction to other peers via an inv message, and when interested peers request it with getdata, the actual transaction data is delivered. Through this gossip mechanism, transactions propagate across the entire network within seconds.
Validation: Each node independently validates the received transaction. It checks signature validity, whether referenced UTXOs exist, double-spend attempts, script execution results, and fee adequacy. Transactions that fail validation are immediately discarded.
Mempool Waiting: Transactions that pass validation are added to the node’s mempool. They wait here until a miner includes them in a block. Transactions with higher fees have a greater probability of being mined quickly.
Mining and Confirmation: Miners select transactions from the mempool in order of fee rate (sat/vB) to construct candidate blocks, and once valid proof of work is found, the block propagates across the network. Transactions included in that block are removed from the mempool and reach 1-confirmation status.
Mempool Policy: Minimum Relay Fee and Expiration
Nodes apply policy rules for mempool management. The minimum relay fee (minRelayTxFee) defaults to 1 sat/vB; transactions with fees below this threshold are neither added to the mempool nor relayed to other nodes. This serves as the first line of defense against spam transactions flooding the mempool.
The mempool expiration time defaults to 336 hours (2 weeks). Transactions that remain unmined during this period are automatically removed. Additionally, a mempool size cap (default 300 MB) is configured, and when exceeded, transactions with the lowest fees are evicted first.
RBF (Replace-by-Fee) and CPFP (Child-Pays-for-Parent)
RBF (Replace-by-Fee) is a mechanism that allows replacing a transaction already in the mempool with one carrying a higher fee. Opt-in RBF, defined in BIP125, signals replaceability when a transaction’s sequence number is below 0xfffffffe. The replacement transaction must include all inputs from the original and must pay a higher absolute fee (total fee).
CPFP (Child-Pays-for-Parent) is a technique where a new transaction (child) that spends an output of a stuck low-fee transaction (parent) is created with a high fee. Miners evaluate parent and child transactions as a package, and if the combined fee rate is sufficiently high, both are included in a block. CPFP complements RBF in that it allows fee boosting from the receiver’s side as well.
The Full-RBF Debate
The full-RBF option (mempoolfullrbf=1) introduced in Bitcoin Core 24.0 (2022) allows replacing any unconfirmed transaction without the opt-in signal. The debate surrounding this feature was a significant policy discussion within the Bitcoin community.
Proponents argued that since unconfirmed transactions are never guaranteed to be final, relying on the RBF signal only provides a false sense of security. Miners have economic incentives to select higher-fee transactions, and full-RBF merely reflects this reality in code. Opponents expressed concern about the negative impact on merchants and services relying on 0-confirmation payments. In Bitcoin Core 28.0, full-RBF was enabled by default.
Fee Estimation Strategies and Practical Tips
Efficient fee setting is a balance between confirmation speed and cost. Visualization tools like mempool.space allow you to check the current fee distribution in the mempool. For non-urgent transactions, taking advantage of weekends or low-traffic periods can significantly reduce fees.
The key unit in fee estimation is sat/vB (satoshi per virtual byte). After SegWit, block capacity is calculated in weight units, where 1 vByte = 4 weight units. Since miners prioritize transactions with the highest fee rate within available block space, it is the fee rate — not the total fee — that determines confirmation priority.
Using a wallet that supports RBF allows you to initially send with a low fee and raise it if needed, avoiding overpayment. This is a rational strategy in uncertain mempool conditions.
Mempool Size Fluctuations and Network State Interpretation
Mempool size is a real-time health indicator of the Bitcoin network. An empty mempool means low network usage and that even minimum-fee transactions can be included in the next block. Conversely, when the mempool swells to hundreds of megabytes, demand for block space far exceeds supply, and fees surge.
Historically, mempool congestion has correlated with market volatility (movement demand during price surges or crashes), NFT/Ordinals booms, and spam attacks. During the late-2017 Bitcoin price surge, the mempool overflowed with hundreds of thousands of unconfirmed transactions and fees reached tens of dollars per transaction. Such congestion events served as catalysts for adopting scalability solutions including SegWit adoption, batch processing, and increased Lightning Network usage.
Related Concepts
- Node — Bitcoin network participants that maintain mempool, validate and broadcast transactions
- Proof of Work — Consensus mechanism where miners select transactions from the mempool to create blocks
- SegWit — Bitcoin protocol upgrade that influenced the fee structure
- Lightning Network — Off-chain payment solution that bypasses mempool congestion
- What is Bitcoin? — Starting point introducing the basic concepts and how Bitcoin works