This guide explains Bitcoin Core estimatefee RPC in plain English. It shows what the command does, what its result means and what it cannot prove.
TL;DR
- What it is: Bitcoin Core 0.16.0 estimatefee was already deprecated in favour of estimatesmartfee. Given a block target, it returned an approximate fee rate per kilobyte for a transaction to begin confirmation within that target, using virtual transaction size under BIP 141.
- Why it matters: estimatefee is a historical scalar estimator with important sentinel and unit traps. Safe legacy handling rejects unavailable values, uses virtual-size arithmetic and moves deliberately to a richer estimator with explicit fallback policy.
- Current position: Bitcoin Core 0.16.0 estimatefee was already deprecated in favour of estimatesmartfee.
Bitcoin Core estimatefee RPC in simple English
Bitcoin Core estimatefee RPC: The release documentation explicitly directed users to estimatesmartfee. Historical integrations may still expose estimatefee, but new code should not build policy around its scalar result.
Simple example
A miner is checking Bitcoin Core estimatefee RPC. Version-pin any legacy caller and create a migration test that compares availability, units and fallback decisions rather than merely renaming the method.
Key terms in plain English
- BIP:
- Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
- 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.
- 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.
Deprecated interface
The release documentation explicitly directed users to estimatesmartfee. Historical integrations may still expose estimatefee, but new code should not build policy around its scalar result. Version-pin any legacy caller and create a migration test that compares availability, units and fallback decisions rather than merely renaming the method.
Target meaning
nblocks is the intended horizon for beginning confirmation, not a service guarantee. A block interval is stochastic and fee markets change after estimation. Record requested target, node time, chain height, estimator age and returned value so a later confirmation outcome can be interpreted rather than blamed on one opaque number.
BTC per kilobyte units
The returned numeric rate is BTC per kilobyte and uses virtual size for witness discounting. Convert once to integer satoshis per virtual byte under an explicit rounding rule, then multiply by final vsize. Never treat the result as a total fee, BTC per byte or satoshis per kilobyte.
Negative sentinel values
Any negative result signals that the estimator lacks adequate history; minus one for target one is expected. Reject all negative rates before arithmetic or JSON serialisation. A fallback should be a reviewed fee policy with maximum and minimum limits, not zero, absolute value or the last indefinitely cached estimate.
Estimator data quality
A newly started, isolated or low-traffic node may have insufficient local observations. Mempool eviction, restart and fee-estimate file compatibility affect data. Monitor estimator readiness and compare multiple independent nodes, but avoid averaging incompatible modes or stale observations into a number that appears more certain.
Transaction-size dependency
A fee rate becomes a total only after input types, outputs, signatures and witness are known closely enough to estimate vsize. Coin selection can change size after the rate is chosen. Recalculate on the fully funded and signed candidate, verify fee and change, and reject totals above an approved exposure ceiling.
How specialists test it
Operators test the command on a non-production node first. They check a normal reply, an invalid request, a timeout and a restart. This shows what the response means and prevents one local result from being mistaken for a network-wide outcome.
Frequently asked questions
What is the main point of Bitcoin Core estimatefee RPC?
Bitcoin Core estimatefee RPC: The release documentation explicitly directed users to estimatesmartfee. Historical integrations may still expose estimatefee, but new code should not build policy around its scalar result.
For Bitcoin Core estimatefee RPC, what should a beginner know about deprecated interface?
The release documentation explicitly directed users to estimatesmartfee. Historical integrations may still expose estimatefee, but new code should not build policy around its scalar result.
For Bitcoin Core estimatefee RPC, what should a beginner know about target meaning?
nblocks is the intended horizon for beginning confirmation, not a service guarantee.
For Bitcoin Core estimatefee RPC, what should a beginner know about btc per kilobyte units?
The returned numeric rate is BTC per kilobyte and uses virtual size for witness discounting.
Conclusion
estimatefee is a historical scalar estimator with important sentinel and unit traps. Safe legacy handling rejects unavailable values, uses virtual-size arithmetic and moves deliberately to a richer estimator with explicit fallback policy.
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.