This guide explains Bitcoin Core maxmempool in plain English. It focuses on what the subject is, why it matters and what a beginner should remember.
TL;DR
- What it is: Bitcoin Core 0.12 introduced a bounded transaction mempool controlled by maxmempool, expressed in megabytes. When the pool exceeds that target, the node removes low-fee transaction packages and raises a local rolling minimum feerate.
- Why it matters: maxmempool is a resource-control and relay-policy input, not a consensus rule. Size it from measured workload and total memory headroom, then verify eviction, mining and failover behaviour under deliberate pressure.
- Current position: Bitcoin Core 0.12 introduced a bounded transaction mempool controlled by maxmempool, expressed in megabytes.
Bitcoin Core maxmempool in simple English
Bitcoin Core maxmempool: The setting bounds the mempool data structure used for unconfirmed transactions, measured with release-specific accounting. It does not cap total bitcoind resident memory.
Simple example
A miner is checking Bitcoin Core maxmempool. Capacity planning must compare observed RSS and cgroup limits, not equate the argument with process size. An operator should test realistic chains rather than assume every transaction competes independently on its own feerate.
Key terms in plain English
- Bitcoin Core:
- Widely used software that validates Bitcoin and can provide wallet, network and operator tools.
- RPC:
- A command that software sends to a node to request information or a local action.
- Consensus:
- The shared rules full nodes use to decide whether blocks and transactions are valid.
- Mempool:
- A node’s changing local collection of valid, unconfirmed transactions.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
What the limit covers
The setting bounds the mempool data structure used for unconfirmed transactions, measured with release-specific accounting. It does not cap total bitcoind resident memory. Peer buffers, validation caches, wallet state, indexes, RPC responses and the operating system page cache remain separate. Capacity planning must compare observed RSS and cgroup limits, not equate the argument with process size.
Package-aware eviction
Transactions can depend on unconfirmed parents. Evicting a single low-fee parent can make descendants unusable, so Core evaluates packages and removes related entries. The exact ancestor and descendant logic evolved. An operator should test realistic chains rather than assume every transaction competes independently on its own feerate.
Rolling minimum fee
After eviction the node raises its effective mempool minimum above the removed package and later decays that threshold. This local policy reduces immediate re-entry and repeated churn. Two honest nodes with different memory pressure can therefore accept different transactions while agreeing completely on consensus-valid blocks.
Mining and template effects
A pool node can only select transactions it has retained or can reacquire. A small mempool may discard low-fee packages that later become attractive through descendants, while an oversized pool can compete with template construction and validation for memory. Measure template latency, stale work and package availability on primary and failover nodes.
Interaction with other fees
maxmempool works with incremental relay fee, minimum relay fee, replacement rules and transaction expiry. Those controls answer different questions. The memory cap triggers eviction; relay thresholds govern admission; replacement pricing discourages bandwidth churn; expiry removes old entries. Treating one as a substitute for the others creates surprising policy.
Monitoring the effective state
Use getmempoolinfo fields appropriate to the installed release, alongside RSS, swap, allocator behaviour and eviction-related logs. Watch bytes, usage, transaction count and mempool minimum rather than one dashboard number. Alert on sustained pressure and on divergence between nodes that should provide equivalent mining or wallet service.
How specialists test it
Developers test the proposal with made-up data on an isolated test network. They check normal cases and deliberately invalid cases. Different implementations should reach the same result before anyone relies on the proposal.
Frequently asked questions
What is the main point of Bitcoin Core maxmempool?
Bitcoin Core maxmempool: The setting bounds the mempool data structure used for unconfirmed transactions, measured with release-specific accounting.
For Bitcoin Core maxmempool, what should a beginner know about what the limit covers?
The setting bounds the mempool data structure used for unconfirmed transactions, measured with release-specific accounting.
For Bitcoin Core maxmempool, what should a beginner know about package-aware eviction?
Transactions can depend on unconfirmed parents. Evicting a single low-fee parent can make descendants unusable, so Core evaluates packages and removes related entries.
For Bitcoin Core maxmempool, what should a beginner know about rolling minimum fee?
After eviction the node raises its effective mempool minimum above the removed package and later decays that threshold.
Conclusion
maxmempool is a resource-control and relay-policy input, not a consensus rule. Size it from measured workload and total memory headroom, then verify eviction, mining and failover behaviour under deliberate pressure.
Primary sources
Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.
Join the ASIC Mining Discussion
Members can read and join the discussion
Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.
Membership helps us protect the discussion from spam and keep answers useful.