Overview
The mempool (memory pool) is each Bitcoin node's local holding area for valid, unconfirmed transactions. When a user broadcasts a transaction, it propagates through the peer-to-peer network, and each node independently validates it and adds it to its own mempool. Miners then select transactions from their mempool to include in the next block, typically prioritizing those with the highest fee rate.
How Transactions Flow
User broadcasts tx
│
▼
┌──────────────┐ ┌──────────────┐
│ Node A │────→│ Node B │
│ mempool: │ │ mempool: │
│ [tx1,tx2..] │ │ [tx1,tx2..] │
└──────────────┘ └──────────────┘
│
▼
┌──────────────┐
│ Miner │
│ Selects txs │──→ New Block
│ by fee rate │
└──────────────┘
Fee Market
When the mempool is congested (more transactions waiting than can fit in the next block), a fee market emerges. Users compete for limited block space by offering higher fee rates. Transactions with insufficient fees may remain unconfirmed for extended periods or eventually be dropped from the mempool.
Mempool Policies
Each node can set its own mempool policies, such as maximum mempool size (default 300 MB in Bitcoin Core), minimum relay fee, and transaction replacement rules (RBF). There is no single global mempool — each node's mempool may differ slightly based on when transactions were received and local configuration.
Common Misconceptions
There is no single, canonical "the mempool." Each node maintains its own independent mempool. Mempool explorer websites show one node's view, which may differ from what a miner sees. Also, a transaction being in the mempool does not guarantee it will be confirmed — it can be replaced, evicted, or expire.