News

Bitcoin Core adds a mempool fee estimator

A second fee estimator was merged into Bitcoin Core on 21 August 2026. It reads the mempool as it is now, and it is only allowed to lower the number the old estimator gives you.

4 min readFee Market
Bitcoin Core adds a mempool fee estimator

What happened

On 21 August 2026 Bitcoin Core merged pull request 34075, which gives a node a second way to answer the question every wallet asks it: what fee should this transaction pay. The release note sets out the arrangement. The estimatesmartfee RPC "now combines two fee rate estimators: the existing block policy fee rate estimator and a new mempool fee rate estimator", and it "returns the lower of the two fee rate estimators' results, so the mempool fee rate estimator can only lower the block policy fee rate estimate." The work is by ismaelsadeeq, who describes it as "another attempt to fix #27995 using a better approach."

What it changes

The estimator Core already had answers from history. It watches what feerates confirmed, over how many blocks, and reports what has been working. That record is slow to notice when demand has gone, and the pull request names the case it is aimed at: the new estimate is "particularly useful in scenarios where the Block Policy Estimator recommends a high feerate while the mempool is empty."

The new estimator does not look backwards at all. Asked for a number, it builds the block a miner would build next out of what is sitting in the node's mempool, then takes a percentile of the feerates in that template: the 75th for an economical estimate, the 50th for a conservative one. Those two constants are measurements, not guesses. "Empirical data from both myself and Clara Shikhelman shows that the 75th percentile feerate for economical users and the 50th percentile feerate for conservative users provide positive confirmation guarantees."

The mempool is allowed to argue the fee down and never up. That asymmetry is the safety property, and the reason for it is that a mempool is something a miner can stuff. The pull request is explicit: "The Block Policy Estimator itself is not gameable in this way, so the combined estimate is not susceptible to this attack increasing the returned feerate."

There is a second guard. The mempool estimate is offered only when the last six blocks suggest the node is seeing what miners are seeing: the ratio of mempool weight removed by block connection to block weight has to be "greater than 75% across the tracked window", which the pull request offers as "rough confidence that the node's mempool matches that of the majority of the hashrate", while conceding that "the 75% threshold is arbitrary and can be adjusted."

Callers who want the old answer can still have it. estimatesmartfee takes a fee_rate_estimator option of "none", "block_policy" or "mempool_policy", and "users who want the previous behavior can select the block policy fee rate estimator explicitly."

What it does not change

No consensus rule and no relay rule moved. This is advice a node gives a wallet, and a transaction paying any feerate is exactly as valid as it was before. The change is also in master rather than in a release, so no published binary behaves this way yet.

The error did not go away, it changed direction. The author's own measurement over historical data reports "a 73% success rate with 0% overestimation, and 26% underestimation", which is roughly a 29% cut in overestimation and a new failure mode where the number comes back too low. That trade is deliberate: "we now assume it is relatively easy to fee-bump later if a transaction does not confirm, whereas once a fee is overestimated there is no way to recover from that." The assumption holds only where bumping is actually available. If your wallet cannot replace or accelerate a pending transaction, an underestimate is paid in waiting instead of in sats.

Those are the author's figures on past data, not an independent replication, and the constants are provisional: the pull request says they "can be adjusted" and that parallel work is "running benchmarks across fee estimators to find a sweet spot." One more thing got narrower rather than wider. "The combined estimate requires both estimators to succeed", so a node still loading its mempool, or one that has not seen enough recent blocks, now returns an error where it used to return a number.

Context

Block space is an auction, and the bidding is visible: everything waiting is in the mempool, in the open. The estimator that shipped for years chose not to look at it, because reading a public queue is exactly the sort of thing an interested party can manipulate. What changed is the shape of the compromise rather than the risk, since the mempool now gets a vote in one direction only.

The case for reading it is easiest to see after a spike ends. When fees ran past the block subsidy in May 2023, the queue cleared in days while a history-based estimate was still describing the week before. The health check is the other half of the point: the node you run has its own mempool, not the mempool, and the new estimator declines to answer when its own view stops looking like everyone else's.

Newsletter

Bitcoin, without the noise

What happened in Bitcoin, what it actually changes, and the sources so you can check us. One issue at a time, straight to your inbox.

  • One email per issue, never a drip campaign
  • No tracking pixels and no shared addresses
  • Unsubscribe from any issue in one click

Get the next issue

One email per issue, no tracking pixels, and unsubscribe from any of them. We do not share your address. Privacy policy