Cluster Mempool is the most significant mempool overhaul in Bitcoin Core's history. The existing mempool tracks individual transactions with ancestor/descendant limits, which leads to suboptimal fee-rate ordering, makes RBF (Replace-By-Fee) reasoning fragile, and limits the ability to construct optimal block templates.
The new approach organizes the mempool into clusters — connected components of transactions related by parent-child dependencies. Each cluster is then linearized: its transactions are ordered so that parents always come before children, and the resulting sequence is split into chunks of decreasing feerate. This chunked linearization allows the node to quickly identify the most profitable set of transactions for block building, reason precisely about eviction, and handle RBF correctly.
How Chunks Work
Chunks are topologically-valid groups, sorted by decreasing feerate.
Block building simply takes chunks from the top until the block is full.
Interactive Worked Example: One Cluster, Three Approaches →
Spanning-Forest Linearization (SFL)
The algorithm that makes cluster mempool practical. SFL computes a near-optimal linearization by constructing a spanning forest of the transaction dependency graph. Instead of trying every possible ordering (exponential), SFL exploits the tree structure to find high-feerate topological orderings efficiently.
Cluster
Graph
→
Spanning
Forest
→
Optimal
Ordering
→
Feerate
Chunks
Developed by sipa (Pieter Wuille) — one of Bitcoin Core's most prolific contributors
#32545
Replace Cluster Linearization Algorithm with SFL
Implements spanning-forest linearization, replacing the previous LIMO algorithm. SFL produces better linearizations and is conceptually simpler, building on tree-structure properties of dependency graphs.
github.com/bitcoin/bitcoin/pull/32545
#34259
Find Minimal Chunks in SFL
Enables splitting chunks into smaller equal-feerate parts, giving the block-building algorithm more flexibility for bin-packing optimization. Without this, some wasted block space is inevitable when large chunks don't quite fit.
github.com/bitcoin/bitcoin/pull/34259
#34023
Optimized SFL Cluster Linearization
Significant performance improvement to the SFL implementation, making it practical for the real-time demands of mempool processing and block template construction.
github.com/bitcoin/bitcoin/pull/34023
Why It Took Years
2021-2022
Initial research into cluster-based mempool organization by sipa and others. Core insight: grouping related transactions and linearizing them solves multiple longstanding problems simultaneously.
2023
Formal specification of cluster linearization algorithms. Extensive discussion on Delving Bitcoin. The LIMO algorithm was the first candidate.
2024
Groundwork PRs merged: cluster data structures, linearization framework. Spanning-Forest Linearization (SFL) proposed as a superior replacement for LIMO.
2025-2026
Merged for v31. SFL algorithm, minimal chunk finding, and optimized implementation all land. The complete cluster mempool is now part of Bitcoin Core.
What It Fixes
Ancestor/descendant limits that artificially constrained mempool packages. CPFP fee-bumping now works naturally across whole clusters.
Block Building
Near-optimal block templates with correct feerate ordering. Miners extract more fees, users get fairer fee markets.
RBF Improvement
Replacement transactions can now be evaluated against the entire cluster's linearization, not just direct ancestors.
Eviction Logic
When the mempool is full, lowest-feerate chunks are evicted — a principled approach replacing the old ancestor-score heuristic.