The release replaces Bitcoin's decade-old transaction queuing system with a cluster-based architecture and introduces private broadcasting through Tor and I2P, marking the protocol's most significant infrastructure upgrade in years.
Bitcoin Core v31.0 shipped on 19 April with a redesigned mempool — the holding area where unconfirmed transactions wait to be mined — that replaces the software's original queuing logic with a cluster-based architecture designed to improve fee efficiency and eliminate a class of economic attacks that have plagued miners and users for years.
The upgrade is the largest structural change to Bitcoin's transaction-processing pipeline since the introduction of Segregated Witness in 2017, and it arrives with a second headline feature: a new private broadcasting mode that routes transactions exclusively through Tor or I2P, preventing node operators and surveillance firms from linking a transaction to the IP address that originated it.
The old mempool worked by imposing ancestor and descendant limits on individual transactions — hard caps on how many parents and children a given transaction could have in the queue. Those limits were blunt instruments. They prevented certain legitimate transaction chains from entering the mempool while simultaneously failing to stop sophisticated actors from constructing replacement transactions that degraded the pool's overall fee efficiency. The result was a system that occasionally mined suboptimal blocks, costing miners revenue and users confirmation time.
Cluster mempool groups related transactions into clusters — connected components that include a transaction and everything that depends on it — and orders each cluster by its expected mining feerate. The constraints are applied at the cluster level rather than the individual transaction level: each cluster is limited to 64 transactions and 101 kilobytes of virtual size. The replace-by-fee validation logic has been rewritten so that a replacement transaction is only accepted if the resulting mempool's feerate diagram — a mathematical representation of the pool's mining efficiency — is strictly better than before the replacement. In plain terms, it is no longer possible to submit a replacement that makes the mempool worse off; every RBF transaction must demonstrably improve the queue.
The practical consequence for miners is straightforward: blocks constructed from a cluster mempool should, on average, capture more fee revenue than blocks constructed from the old system. For users, the change means fewer stuck transactions and more predictable confirmation times, particularly during periods of high demand when the mempool becomes congested.
The privacy feature operates independently of the mempool changes. A new command-line option, -privatebroadcast, tells the node to broadcast transactions submitted via the sendrawtransaction RPC only through anonymity networks — Tor or I2P — rather than through the node's regular peer connections. Two companion RPCs, getprivatebroadcastinfo and abortprivatebroadcast, give operators control over the process. The feature matters because transaction broadcasting has long been Bitcoin's most significant privacy leak: chain-surveillance firms run clusters of nodes that record which IP address first relayed a transaction, then correlate that data with blockchain analysis to deanonymise users. Private broadcasting severs that link at the protocol level.
Other changes in v31.0 are less dramatic but still notable. One-parent-one-child package relay now permits parent transactions with zero or sub-minimum fees to propagate through the network, a feature that supports Lightning Network channel closures and other protocols that rely on child-pays-for-parent fee structures. The default database cache has been increased from 450 megabytes to 1,024 megabytes on systems with at least 4 gigabytes of RAM — a long-overdue adjustment that improves initial block download performance at the cost of higher memory consumption.
Several deprecations also landed. The -paytxfee and settxfee options, which allowed users to set a fixed transaction fee, have been removed entirely after their deprecation in v30.0. The change reflects a consensus among Core developers that fixed fees are an antipattern; Bitcoin's fee market is dynamic, and wallets should estimate fees based on current conditions rather than using a static value that guarantees either overpayment or confirmation delays.
The release requires a minimum of Clang 17.0 or GCC 12.1 to compile, and drops support for operating systems older than Linux kernel 3.17, macOS 14, and Windows 10 version 1903. Node operators running older hardware or software will need to upgrade their environments before installing v31.0 — a trade-off that the development team has deemed acceptable given the performance and security gains the new architecture delivers.