Node is syncing (--% complete). Fee data may be inaccurate. View status

How Fee Estimation Works

Bitcoin Core's estimatesmartfee RPC uses historical block data to predict how much you need to pay for a transaction to confirm within a target number of blocks. It analyzes the fee rates of transactions that were included in recent blocks and builds a statistical model of what fee rate is likely to succeed for each confirmation target.

This works well as a raw signal, but it has limitations. It returns values in BTC/kVB (a unit nobody uses in practice), it gives you a single number without context, and it tells you nothing about whether now is actually a good time to send.

Satoshi API wraps estimatesmartfee with congestion analysis, trend detection, and cost projection. Instead of a raw fee rate, you get actionable estimates: the cost in satoshis for your specific transaction shape, whether fees are trending up or down, and a clear send-or-wait recommendation based on current mempool conditions. The result is fee intelligence you can act on, not just fee data you have to interpret.

Estimation Endpoints

Four endpoints that cover the full estimation workflow — from raw fee curves to send-or-wait decisions.

GET /api/v1/fees

Returns the full fee curve across all standard confirmation targets (1, 3, 6, 12, 24, 48, 144, 504, 1008 blocks). Each estimate includes the fee rate in sat/vB and the target block count. Use this when you need to see the entire fee landscape at a glance or build custom fee selection UI.

{ "data": { "estimates": [ { "blocks": 1, "fee_rate": 14.5, "fee_rate_btc_kvb": 0.00014500 }, { "blocks": 6, "fee_rate": 8.2, "fee_rate_btc_kvb": 0.00008200 }, { "blocks": 144, "fee_rate": 3.1, "fee_rate_btc_kvb": 0.00003100 } ] } }
GET /api/v1/fees/recommended

Human-readable fee recommendations with three priority tiers: high (next block), medium (within 6 blocks), and low (within 24 blocks). Returns the sat/vB rate for each tier along with a plain-language recommendation. Ideal for wallet UIs and payment flows where users need a simple choice, not a fee curve.

{ "data": { "recommendation": "Fees are moderate. Medium priority recommended.", "estimates": { "high": { "sat_per_vb": 14.5, "blocks": 1 }, "medium": { "sat_per_vb": 8.2, "blocks": 6 }, "low": { "sat_per_vb": 3.1, "blocks": 24 } }, "fee_landscape": { "spread": 11.4, "urgency_premium": "76.8%" } } }
GET /api/v1/fees/estimate-tx

Transaction cost estimator. Pass the number of inputs and outputs as query parameters (e.g., ?inputs=2&outputs=2) to get the estimated virtual size in vBytes and the total fee in satoshis at current rates for each priority tier. Essential for wallets, bots, and payment processors that need to display fee previews before signing.

{ "data": { "inputs": 2, "outputs": 2, "estimated_vsize": 226, "fee_estimates": { "high": { "sat_per_vb": 14.5, "total_sats": 3277 }, "medium": { "sat_per_vb": 8.2, "total_sats": 1853 }, "low": { "sat_per_vb": 3.1, "total_sats": 701 } } } }
GET /api/v1/fees/landscape

The "should I send now or wait?" decision engine. Analyzes the current fee environment and returns a send/wait recommendation based on fee spread, urgency premium, and mempool conditions. Includes a congestion level indicator and the optimal fee tier for cost-conscious transactions.

{ "data": { "recommendation": "Fees are low. Good time to send.", "congestion": "low", "spread": 5.2, "urgency_premium_pct": 42.1, "optimal_tier": "medium" } }

Quick Start

Get a fee estimate in seconds. No API key required for GET requests.

cURL

# Get recommended fee rates, pretty-printed
curl -s bitcoinsapi.com/api/v1/fees/recommended | python -m json.tool

Python

# Estimate cost for a 2-input, 2-output transaction
import requests
resp = requests.get("https://bitcoinsapi.com/api/v1/fees/estimate-tx", params={"inputs": 2, "outputs": 2})
print(resp.json()["data"]["fee_estimates"])

MCP (AI Agents)

# Install the MCP server for Claude, GPT, or any AI agent
pip install bitcoin-mcp

# Then ask your AI agent:
"What will my Bitcoin transaction cost with 3 inputs and 1 output?"

Satoshi API vs Other Estimators

How different Bitcoin fee estimation sources compare for developers building wallets, bots, and payment systems.

Feature Satoshi API Bitcoin Core RPC Mempool.space BlockCypher
Output format sat/vB (developer-friendly) BTC/kVB (raw) sat/vB satoshis/byte
Tx cost estimation Yes (inputs/outputs to total sats) No No No
Send-or-wait verdict Yes (landscape endpoint) No No No
Congestion scoring Yes (low/moderate/high) No Implicit (mempool blocks) No
AI agent support Yes (49 MCP tools) No No No
Self-hostable Yes (pip install) Yes (runs a full node) Optional (heavy setup) No
Pricing Free (hosted + self-hosted) Free (requires node) Free (public API) Free tier, then $49-75/mo

Why Developers Choose Satoshi API

Fee intelligence, not just fee rates. Most APIs return a number and leave you to interpret it. Satoshi API tells you what the number means in context — whether fees are trending up or down, whether it's worth waiting, and exactly how much your specific transaction will cost at each priority level. This is the difference between data and a decision.

Works with AI agents out of the box. The bitcoin-mcp package exposes 49 tools that any MCP-compatible AI agent (Claude, GPT, Gemini) can use natively. Ask "What will my transaction cost?" in natural language and get a real answer backed by live node data. No other fee API supports this.

Free and self-hostable. The hosted API at bitcoinsapi.com is free for testing. For production, install it on your own Bitcoin Core node with pip install satoshi-api and run unlimited fee queries with full privacy at $0/month. Competitors charge $49-100/month for comparable API access, and none of them offer self-hosting.

Frequently Asked Questions

How accurate is Bitcoin fee estimation?

Bitcoin fee estimation is probabilistic, not guaranteed. Bitcoin Core's estimatesmartfee uses historical confirmation data from the last several thousand blocks to predict what fee rate is likely to get confirmed within a target number of blocks. Satoshi API layers congestion analysis and trend detection on top of this, improving the signal. Accuracy is highest for short targets (1-6 blocks) and decreases for longer targets because mempool conditions can change significantly over hours. No estimator can predict sudden fee spikes from ordinal mints or exchange consolidations.

What's the difference between sat/vB and BTC/kVB?

Both units measure fee rates, just at different scales. sat/vB (satoshis per virtual byte) is what wallets and developers use — a typical fee rate might be 5-20 sat/vB. BTC/kVB (bitcoin per kilovirtual byte) is Bitcoin Core's native RPC format — the same range would be 0.00005000 to 0.00020000 BTC/kVB. To convert: multiply sat/vB by 0.00001 to get BTC/kVB, or multiply BTC/kVB by 100,000 to get sat/vB. Satoshi API returns sat/vB by default so you don't need to convert.

Can I estimate fees for SegWit transactions?

Yes. Satoshi API's /fees/estimate-tx endpoint uses SegWit (P2WPKH) transaction weight calculations by default, which is the most common transaction type today. SegWit transactions use virtual bytes (vBytes) rather than raw bytes, giving them a discount on fees compared to legacy transactions. The estimator accounts for the witness discount when calculating the virtual size of your transaction based on the number of inputs and outputs you specify.

Is there a free Bitcoin fee estimation API?

Yes. Satoshi API offers a free hosted tier at bitcoinsapi.com with no API key required for GET requests. You can also self-host it on your own Bitcoin Core node for unlimited, private fee estimation at zero cost. Other free options include Mempool.space's public API and Bitcoin Core's built-in estimatesmartfee RPC (though Core returns raw BTC/kVB without analysis). Satoshi API is the only free option that includes congestion scoring, send-or-wait verdicts, and transaction cost estimation in a single API.

Better estimates. Lower fees.

Stop overpaying on Bitcoin transactions. Get fee intelligence that tells you exactly what to pay and when to send.

Try the API Get Free API Key