Bitcoin fee estimate API

From $0.002 per successful call · failed calls are never charged · no account needed · Markdown version: /guides/bitcoin-fee-estimate-api.md

Current Bitcoin network fee rates in sat/vB for next-block, half-hour, one-hour and economy confirmation, the estimated cost in sats of a typical payment, mempool size and total pending fees, and the latest block height. Use before sending a Bitcoin transaction or to decide whether to wait for lower fees.

When an agent wants this

Bitcoin fee rates and mempool status: Bitcoin fee estimate in sat/vB for the next block, half hour and hour, with mempool size $0.002

Current Bitcoin network fee rates in sat/vB for next-block, half-hour, one-hour and economy confirmation, the estimated cost in sats of a typical payment, mempool size and total pending fees, and the latest block height. Use before sending a Bitcoin transaction or to decide whether to wait for lower fees.

Inputs: .

Free first (25 successful calls per caller, no key):

curl "https://tools.funwords.eu/btc-fees?format=json&trial=1"

With a card key from /credits, in a header or, when your client can only fetch a URL, in the URL:

curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/btc-fees?format=json"
curl "https://tools.funwords.eu/btc-fees?format=json&api_key=adt_…"

Without a key the same URL answers 402 Payment Required with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is btc_fees.

Example result
{
  "network": "bitcoin",
  "unit": "sat/vB",
  "fees": {
    "nextBlock": 4,
    "halfHour": 3,
    "hour": 1,
    "economy": 1,
    "minimum": 1
  },
  "typicalPaymentSats": {
    "nextBlock": 564,
    "hour": 141
  },
  "typicalPaymentVbytes": 141,
  "source": "https://mempool.space/api",
  "limitations": [
    "Estimates do not guarantee confirmation time",
    "141 vB is an illustrative one-input/two-output SegWit size; actual transaction size varies",
    "Source endpoints are fetched concurrently, not as an atomic snapshot"
  ],
  "mempool": {
    "transactions": 83832,
    "vsize": 42066150,
    "totalFeesBtc": 0.1093664
  },
  "blockHeight": 970000,
  "checkedAt": "2026-10-01T00:00:00.000Z"
}

Tool page, inputs and limits

Bitcoin address balance and activity: check the balance and transactions of a Bitcoin address $0.01

Bitcoin address balance and activity for any mainnet address (legacy, P2SH or bech32): confirmed balance in sats and BTC, unconfirmed pending amount, total received and sent, and transaction counts. Use for payment verification, checking whether a deposit arrived, and wallet monitoring.

Inputs: address (required): Bitcoin mainnet address (1..., 3... or bc1...).

Free first (25 successful calls per caller, no key):

curl "https://tools.funwords.eu/btc-address?address=bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh&trial=1"

With a card key from /credits, in a header or, when your client can only fetch a URL, in the URL:

curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/btc-address?address=bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh"
curl "https://tools.funwords.eu/btc-address?address=bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh&api_key=adt_…"

Without a key the same URL answers 402 Payment Required with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is btc_address.

Example result
{
  "network": "bitcoin",
  "address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
  "balanceSats": 392247777,
  "balanceBtc": 3.92247777,
  "pendingSats": 0,
  "totalReceivedBtc": 16.79253616,
  "totalSentBtc": 12.87005839,
  "transactions": 1138,
  "pendingTransactions": 0
}

Tool page, inputs and limits

Questions

Where do the numbers come from?

The mempool.space API, at call time.

How do I pay?

Each successful call costs the tool's price; failed calls are not charged. The first 25 calls are free. Then pay with card credits from $1 (the key goes in an Authorization header or as api_key= in the URL) or per call in USDC over x402 or MPP. No account is needed.