SignorCrypto note · CRYPTO
Bitcoin Core 31.0: Cluster Mempool and Upgrade Changes
What the 19 April 2026 release changes for node operators, wallet developers and miners, and what to check before upgrading

Bitcoin Core 31.0, published on 19 April 2026, is mainly an operations and policy release. Its largest change is a rebuilt mempool: the node groups related unconfirmed transactions into clusters, applies cluster-based limits and uses that structure for block templates, eviction and replace-by-fee decisions. The release also raises the default -dbcache on hosts with at least 4 GiB of RAM, adds a private broadcast option for sendrawtransaction, embeds ASN map data for -asmap, and removes several long-deprecated options. Node operators, wallet developers and mining software teams should review their configuration before upgrading. The release notes reviewed here do not list consensus rule changes.
What changed in the mempool
Cluster mempool and default policy limits
A cluster is a set of mempool transactions connected by any combination of parent-child relationships. According to the Bitcoin Core 31.0 release notes, the release removes the ancestor and descendant size and count limits and introduces two default policy limits on clusters: 64 transactions and 101 kB of virtual size. Operators can override these limits with command-line arguments documented in the extended help (-help-debug).
Transactions are ordered by the feerate at which they are expected to be mined, using chunks: the subsets that would be mined together. The same ordering drives block template construction, eviction when the mempool is full and transaction relay announcements. The design rationale is described in the cluster mempool overview on Delving Bitcoin.
Stricter replace-by-fee validation
A replacement is accepted only if the mempool's feerate diagram after the replacement is strictly better than before it. The release notes say this removes all known cases in which a replacement left the mempool worse off. For a transaction that sits alone in its own cluster, a replacement needs a higher fee and a higher feerate than the original. The CPFP carveout is removed, and the release notes say that smart-contracting use cases needing similar behaviour should use TRUC transactions and sibling eviction.
Two new RPCs, getmempoolcluster and getmempoolfeeratediagram, expose cluster membership, ordering, chunks and the feerate diagram. getmempoolentry now also reports chunk size and chunk fees.
Higher default dbcache
The default -dbcache rises from 450 MiB to 1024 MiB on systems where at least 4096 MiB of RAM is detected, as implemented in PR #34692. The change improves performance but increases memory use. The release notes warn that containers can report more RAM than they can actually use, which may cause out-of-memory conditions. Setting -dbcache=450 restores the previous default.
Privacy, network and address-data changes
Private broadcast for local transactions
The new -privatebroadcast option makes sendrawtransaction broadcast a locally submitted transaction only through Tor or I2P. The release notes state that recipients never learn the originator's IP address, and that two otherwise unrelated transactions cannot be linked through the broadcast, because each one uses a separate connection. PR #29415 describes the design, which uses short-lived connections. The RPCs getprivatebroadcastinfo and abortprivatebroadcast let operators inspect and cancel the private broadcast queue.
This is a protection for the origin of locally submitted transactions. It is not a general anonymity mode for the node. The release notes do not describe changes to how the node relays transactions received from peers.
Embedded asmap data
Release 31.0 includes ASN map data inside the binary for the first time. PR #34696 updates that embedded data ahead of the release, and the release notes say the map was created on 5 March 2026. The option stays off by default. -asmap or -asmap=1 loads the embedded data, while an external file now requires an explicit name, such as -asmap=ip_asn.map.
Removed and changed options
| Item | Change in 31.0 | Operator action |
|---|---|---|
-paytxfee and settxfee | Removed after deprecation in 30.0 | Rely on fee estimation or pass a fee_rate argument to wallet RPCs |
-maxorphantx | Removed; no effect since 30.0 | Delete it from configuration files |
tor network specification | Removed; use onion | Update configuration |
getpeerinfo startingheight | Hidden unless -deprecatedrpc=startingheight is set | Update any monitoring that reads it |
| Fee estimator minimum bucket | Lowered from 1 to 0.1 sat/vB | Restarting the node invalidates saved fee_estimates.dat data |
-logsourcelocations | Logs only the function name | Check log parsers |
| IPC mining clients | Require the latest mining.capnp schema | Update and regenerate bindings |
The release also adds a coinbase_tx object to getblock at verbosity levels 1 to 3, two optional arguments to gettxspendingprevout, and the -txospenderindex setting, which builds an index of output spenders.
Build and platform requirements
The minimum supported Clang version is now 17.0 and the minimum GCC version is 12.1. The GUI moves to Qt 6.8. Bitcoin Core is tested on Linux kernel 3.17 or newer, macOS 14 and Windows 10 version 1903. Nodes running 28.x or older, which have reached end of life, can upgrade directly, but the data directory may need migration, which can take time.
Who should check what
Node operators
Review -dbcache on memory-constrained hosts and containers. Remove deprecated options from configuration, check any monitoring that reads startingheight, and enable -privatebroadcast only where Tor or I2P is available. Expect the fee estimator to start from fresh statistics after the restart.
Wallet and payment developers
Stop passing settxfee or -paytxfee, and set fee rates per transaction. If your product builds chains of unconfirmed transactions, test them against the 64-transaction and 101 kB cluster limits. Use getmempoolcluster to inspect how a transaction is grouped. Test replacement logic against the stricter feerate-diagram rule. The release notes point smart-contracting constructions toward TRUC transactions and sibling eviction.
Mining software teams
Clients using the IPC mining interface must move to the latest mining.capnp schema and regenerate bindings, or they will receive an RPC error on Init.makeMining. Note that Mining.createNewBlock and Mining.checkBlock now require a context parameter, that BlockTemplate.getCoinbaseTx() returns a structured object, and that getCoinbaseCommitment() and getWitnessCommitmentIndex() were removed.
What the release leaves open
- The cluster limits are default policy settings, not consensus rules. Their effect on wallets and layer-2 protocols that build long transaction chains is SignorCrypto's inference and needs testing in each product.
- The asmap feature is off by default, so its diversity benefit depends on operators enabling it.
- The release notes do not quantify the performance gains from the new mempool or the larger dbcache.
FAQ
Does Bitcoin Core 31.0 change consensus rules?
The release notes reviewed for this article describe policy, RPC, configuration, GUI and build changes. They do not list consensus rule changes. Check the full changelog in the repository before drawing a conclusion for a specific deployment.
Should I keep dbcache at 450 MiB?
If the host is memory-constrained, or a container reports more RAM than it can actually use, set -dbcache=450 or another explicit value. The release notes describe this as the way to keep the previous default.
Sources
- Bitcoin Core 31.0 release notes, primary source for the changes described here.
- Bitcoin Core 31.0 release announcement, 19 April 2026.
- PR #34692: default dbcache increase.
- PR #29415: private broadcast for local transactions.
- PR #34696: embedded asmap data update.
- Cluster mempool proposal overview on Delving Bitcoin.
If your team is building wallet, node-tooling or payment infrastructure that must adapt to these mempool and RPC changes, SignorCrypto can help with technical architecture, integration and delivery. Contact us to scope the work.