Query the chain · Fee estimation
Bitcoin fee estimation API and transaction fee rate data
A Bitcoin fee estimation API returns the fee rate, in satoshis per virtual byte, that a transaction needs to confirm within a target number of blocks. Set it too high and you overpay on every withdrawal. Set it too low and the payment sticks.
REST API · SQL · dashboards · address history from genesis
BTC
Balance trail
informational on-chain data · not financial advice
BitcoinDatabase indexes the confirmed chain and the unconfirmed set together, so the fee rate you quote a customer and the fee rate you later reconcile against come from the same place. GET /v1/mempool returns live mempool state with fee-rate estimates, GET /v1/tx/{txid} returns the fee and weight of any transaction, and the same data is queryable in SQL so you can audit what you actually paid over any window. Informational on-chain data only, not financial advice.
The reason this page exists is that the public fee estimators currently disagree with each other by a factor of four, and all of them sit well above what the network is charging. We read three of them within the same second on 17 September 2026, at block height 967,354, with all three providers agreeing on the tip. For the question "what gets into the next block", mempool.space returned 1 sat/vB, Blockstream Esplora returned 3.119 sat/vB, and BlockCypher returned 4,003 satoshis per kilobyte, which is 4.003 satoshis per byte. Same instant, same chain, same question, a 4.0x spread.
The spread is not the worst of it. BlockCypher’s cheapest tier, low_fee_per_kb at 1,348 sat/kB, is 35 percent more expensive than mempool.space’s most urgent tier. A team that picks the conservative provider and then picks its economy setting still pays more than a team that picks the aggressive provider and asks for the fastest confirmation available.
So we measured what the network actually charged. Across the fifteen consecutive blocks from 967,340 to 967,354, the median fee rate paid came in below Esplora’s next-block estimate in fifteen blocks out of fifteen, and below BlockCypher’s high tier in fifteen out of fifteen. The median of those fifteen block medians was 0.348 sat/vB. Against that, BlockCypher’s high tier was quoting 11.5 times the going rate and Esplora’s next-block figure was 9.0 times it.
Fourteen of those fifteen blocks confirmed at least one transaction at or below 1 sat/vB, and the cheapest confirmed transaction we recorded paid 0.307 sat/vB. That number matters because most fee guidance still in circulation, including several of the pages ranking today for this topic, states that nodes enforce a 1 sat/vB relay floor. They no longer do. Bitcoin Core pull request 33106 lowered the default minrelaytxfee and incrementalrelayfee to 0.1 sat/vB, a 90 percent cut, and Bitcoin Core 31.0, released 19 April 2026, went further and updated the fee estimator itself. Its release notes say the estimator minimum fee rate bucket "was updated from 1 sat/vB to 0.1 sat/vB, which matches the node’s default minrelaytxfee", and that estimates may now return sub-1 sat/vB values.
Bitcoin Core moved. The public REST estimators, on the evidence above, have not. mempool.space returned exactly 1 for all five of its tiers, fastest through minimum, on two separate reads minutes apart, which is an estimator pinned to a floor the protocol has already lowered rather than one tracking a market.
In money: a standard single-input, two-output native SegWit spend is about 141 vB. At the 0.348 sat/vB median actually paid, that is 49 satoshis, roughly 3.7 US cents with bitcoin at 76,488 dollars. At BlockCypher’s high tier it is 564 satoshis, about 43 cents. The gap is 515 satoshis per withdrawal. A desk pushing a thousand unbatched withdrawals a day is leaving roughly 0.005 BTC a day on the table, about 394 dollars, and a little over 143,000 dollars across a year. Batch your payouts and that shrinks a lot, which is itself an argument for measuring rather than trusting a tier label.
Two honest caveats. First, this is one reading of a quiet mempool, not a law: when real competition for block space returns, the conservative estimators will be closer to right and paying 0.3 sat/vB will strand your transaction for days. The point is not that fees are always cheap, it is that a hardcoded tier from a third party is not a substitute for reading the mempool you are actually broadcasting into. Second, a lower relay floor only helps if the nodes between you and a miner also run it. A 0.3 sat/vB transaction that will not propagate is not cheap, it is invisible.
We re-measured the next day, as that first caveat demands. At 13:03 UTC on 18 September 2026, at block 967,554 with all three providers again on the same tip, mempool.space quoted 5 sat/vB for its fastest tier, BlockCypher 2,856 sat/kB (2.856 per byte) and Esplora 1.069. The median fee rate paid across the thirty blocks 967,525 to 967,554 had risen to 1.02 sat/vB. Esplora was now close to the market, BlockCypher 2.8 times above it, and mempool.space, the lowest quote the day before, was the highest at 4.9 times. The ranking of the estimators flipped inside 24 hours. That is the strongest argument on this page for auditing your realized fee rate against confirmed blocks rather than choosing a provider and trusting it.
History from genesis queryable in seconds
On-chain data not financial advice
Why it works
What you get with Fee estimation
Quote from the mempool you broadcast into
A fee estimate is a claim about a queue. Read the unconfirmed set directly, with fee rate and virtual size on every transaction, and you can see the shape of the competition rather than accepting one vendor’s single number. GET /v1/mempool returns that state over REST, and the same data is in SQL when you want to study it rather than react to it.
Audit what you actually paid
The estimate is half the job. Every indexed transaction carries its fee and its weight, so you can compute the realized fee rate on your own withdrawals over any window and compare it against the block that confirmed them. That is how you find out a provider tier has been costing you 500 satoshis a payout for a month.
Fee policy that survives a regime change
The measurements on this page describe a quiet mempool. Build the rule, not the constant: pick a target confirmation depth, read current mempool state, floor it at a rate you know will propagate, and cap it at an exposure you are willing to pay. Hardcoded tiers are what break when block space gets contested again.
Side by side
What each fee estimator returned for the next block, at one instant
All three were read within the same second on 17 September 2026 at block height 967,354, with mempool.space, Blockstream and BlockCypher all reporting the same tip. The last column compares each quote against the 0.348 sat/vB median fee rate actually paid across blocks 967,340 to 967,354.
| Source | Next-block quote | Unit returned | Versus the 0.348 sat/vB median actually paid | What we measured |
|---|---|---|---|---|
| BitcoinDatabase | Derived from live mempool state | sat/vB | You compare against what confirmed, in the same query | GET /v1/mempool plus fee and weight on every indexed transaction |
| mempool.space /api/v1/fees/recommended | 1 | sat/vB | 2.9x | Returned exactly 1 for all five tiers, fastest through minimum, on two reads minutes apart |
| Blockstream Esplora /fee-estimates | 3.119 | sat/vB | 9.0x | Above the median paid in 15 of 15 blocks; its 1008-block bucket returns 0.1 |
| BlockCypher /v1/btc/main | 4,003 | sat/kB, so 4.003 per byte | 11.5x | Its low tier, 1,348 sat/kB, still exceeds mempool.space fastest |
| Bitcoin Core estimatesmartfee, 31.0 and later | Varies by node | BTC/kvB | Can now go below 1 sat/vB | Release notes moved the minimum bucket from 1 sat/vB to 0.1 sat/vB |
What it handles
The indexed Bitcoin chain, queryable your way
Look up an address, a transaction, a UTXO, the rich list or an on-chain metric, by REST API, SQL or dashboard. The same authoritative data, reconciled block-by-block against the canonical chain, without running a node.
- Read live mempool state and fee-rate distribution
- Pull the fee and virtual size of any confirmed transaction
- Compute the realized fee rate on your own withdrawals
- Compare a quoted estimate against the block that confirmed
- Track fee rates across a block range in SQL
GET /v1/address/{addr}
query result
{
"address": "bc1qxy2k…l0wdv8",
"balance_btc": 68432.10,
"balance_usd": 4612165420,
"tx_count": 1284,
"unspent_outputs": 37,
"first_seen": "2014-02-09"
}
Why BitcoinDatabase
One platform, queryable three ways
Not a raw node to sync, not an indexer to build, and not five vendors to stitch together. The fully-indexed Bitcoin blockchain, available as a REST API, as SQL, and as dashboards, on one authoritative dataset.
REST API
Typed JSON for addresses, transactions, balances, UTXOs and metrics. Drop it into apps, wallets, explorers and agents with curl, Python or any HTTP client.
SQL access
Run SQL directly against the indexed Bitcoin dataset for ad-hoc analysis, cohorts and exports, the same data the API and dashboards read from.
Compliance-first
Informational on-chain data and analytics only. Entity labels and flow tracing are framed as tooling to support a regulated team's own review, not accusations.
Good questions
Questions about Fee estimation
Explore more
More ways to query Bitcoin with BitcoinDatabase
Bitcoin mempool API
Read unconfirmed transactions and current fee rates without running a node.
Learn moreBitcoin double spend detection API
Detect conflicting and replaced transactions before you credit an unconfirmed Bitcoin payment.
Learn moreBitcoin broadcast transaction API
Push a signed raw transaction to the Bitcoin network over REST and get the txid back, or the node's exact reason for refusing it.
Learn moreDormant Bitcoin wallet and address API
Find addresses whose coins have not moved in years, by last spend rather than last touch.
Learn moreBitcoin Supply Metrics API
Query supply in profit and loss, HODL waves and exchange supply from the indexed chain.
Learn moreBitcoin Network Stats API
Query hashrate, difficulty, block times and network health from the indexed chain.
Learn moreStop running a node. Just query Bitcoin.
Run your first query now and get on-chain data back by REST API, SQL or dashboard, with address history back to the genesis block over REST. Informational on-chain data only, not financial advice.
History from genesis over REST · SQL · dashboards · addresses, transactions, UTXOs, metrics