The Bitcoin mempool (short for "memory pool") is a temporary holding area where all valid Bitcoin transactions wait before miners include them in the next block. When a user broadcasts a Bitcoin transaction to the network, it enters the mempool of each node that verifies and relays it. These transactions remain in the mempool until confirmed through the mining process.
Each full node on the Bitcoin network maintains its own mempool, which can vary in size and content depending on the node's settings and the current network conditions. The mempool acts as a queue for pending transactions, organized primarily by fee rate, which determines their likelihood of confirmation.
The mempool plays a critical role in Bitcoin’s transaction lifecycle. This section explains how transactions enter and are processed through the mempool before being mined.
Once a user initiates a transaction, their wallet software signs and broadcasts it to the Bitcoin network. Each full node that receives the transaction checks it for validity, ensuring it meets protocol rules, such as correct digital signatures, no double spending, and sufficient input balances.
If the transaction passes verification, the node adds it to its mempool and propagates it to its peers. This decentralized relay process allows the transaction to reach miners who may eventually include it in a block.
The Bitcoin mempool has limited space, and nodes may configure their maximum size. When the mempool becomes congested, typically during periods of high demand, nodes begin prioritizing transactions based on their fee rate (in sats per byte).
Transactions offering higher fees per byte rise to the top of the queue, increasing their chances of being confirmed in the next block. Those with low fees may remain unconfirmed for extended periods or get dropped entirely if the mempool reaches capacity.
Transactions leave the mempool once they are included in a valid block and confirmed. Nodes automatically remove these confirmed transactions from their mempool. Additionally, unconfirmed transactions can be dropped if they become invalid or expire due to node policies (e.g., after 14 days).
The Bitcoin mempool directly impacts the cost and timing of transaction confirmations. Understanding how fee dynamics interact with mempool conditions helps users make informed decisions.
Wallets often estimate appropriate transaction fees based on current mempool congestion and recent block data. Users can adjust their fee settings to target specific confirmation times, such as being included in the next block or within six blocks. Fee estimators scan the mempool to identify where a transaction would likely land in the queue and recommend a fee rate that aligns with the user’s urgency.
To cope with fluctuating mempool conditions, users can utilize techniques like Replace-by-Fee (RBF) or Child Pays for Parent (CPFP):
These tools offer flexibility when a transaction remains unconfirmed due to low initial fees.
Real-time visibility into the Bitcoin mempool enables users and developers to assess network activity and make informed fee-related decisions.
Web-based explorers such as mempool.space and jochen-hoenicke.de provide graphical views of current mempool conditions. These platforms display transaction backlog, fee distributions, and projected confirmation windows. Such tools also show the number of transactions in different fee ranges, allowing users to decide whether to wait or increase their transaction fees.
Advanced users running full nodes can directly inspect their mempool through command-line tools or APIs. For example, Bitcoin Core supports commands like getmempoolinfo and getrawmempool to retrieve mempool metrics and raw data. This data can be used to analyze transaction propagation, test mempool policies, or optimize fee strategies in custom applications.
The Bitcoin mempool presents operational constraints and network-wide considerations. This section covers some of the primary issues faced by users and developers.
During periods of high network usage, the mempool can become saturated, resulting in fees that spike and low-fee transactions being delayed or dropped. This dynamic creates a fee market competition, where users must pay more to gain priority. Events like NFT minting surges or Ordinals activity have previously caused severe congestion and increased base fees, impacting normal transactions.
Each Bitcoin node maintains an independent mempool. There is no single global mempool, which means that two nodes may have different sets of unconfirmed transactions based on their policies or uptime. While the decentralized structure preserves network integrity, it may lead to inconsistencies in transaction visibility and propagation speed.
Transactions stuck in the mempool may conflict with others if their inputs are used elsewhere or if they become invalid due to blockchain reorganizations. Nodes must detect and resolve these conflicts to maintain consistency in the mempool. Some nodes also implement eviction strategies, such as dropping the lowest-fee transactions first when space is limited.
The design of the Bitcoin mempool influences and reflects changes introduced by protocol upgrades. This section highlights examples where mempool behavior has evolved.
The SegWit upgrade in 2017 altered the calculation of transaction size by separating signature data. This adjustment affects fee calculation and mempool composition. SegWit transactions use less block weight, allowing more transactions to fit into a block. As a result, mempool congestion can be mitigated by encouraging SegWit adoption.
The Taproot upgrade, activated in 2021, introduced enhanced scripting capabilities. Taproot also affects how transaction data is represented and can impact mempool policy decisions on relay and verification. Because Taproot reduces data overhead for complex transactions, it may influence the future structure and optimization of mempool usage.
Miners rely on the mempool to select which transactions to include in a block: their preferences shape fee dynamics and transaction throughput.
Miners typically choose transactions offering the highest fees per byte to maximize revenue. Some mining pools also filter by size, priority age, or custom rules when building blocks. By analyzing the mempool, miners create a candidate block and begin solving the proof-of-work challenge to add it to the blockchain.
Different mining pools may use proprietary trading software to parse the mempool and prioritize specific transaction types. For example, a pool might prefer transactions from a particular service or avoid certain scripts based on risk or regulation. This behavior contributes to variability in confirmation speed and block composition, even for transactions with similar fee rates.