When to use this API
When you need real-time Bitcoin blockchain data — fee estimates, transaction details, address balances, block information, or mempool congestion — without an API key. Mempool.space is the go-to for answering "how much will this cost to confirm?" and "has this transaction gone through?" in a single unauthenticated call. It also exposes projected mempool blocks, which tell you what fee rate will get you into the next N blocks — something most explorer APIs make you calculate yourself.
Checking recommended transaction fees
"How much should I pay per byte to get my transaction confirmed in the next hour?" The /v1/fees/recommended endpoint returns five fee tiers in satoshis per virtual byte (sat/vB), each tied to a confirmation target. No auth. No parameters.
curl "https://mempool.space/api/v1/fees/recommended" | head -c 10000
{
"fastestFee": 5,
"halfHourFee": 4,
"hourFee": 3,
"economyFee": 2,
"minimumFee": 1
}
The five tiers map to confirmation targets: fastestFee is the next block, halfHourFee is within three blocks, hourFee is within six, economyFee is within 18, and minimumFee is the absolute floor. During low-congestion periods, all five collapse to 1 sat/vB. During congestion spikes, the spread widens dramatically — fastestFee can hit double digits while economyFee stays at 1 or 2, meaning you only pay a premium if you're in a hurry. The response is live, not cached — call it right before building a transaction, not hours in advance.
To get your transaction confirmed within the next hour, use 3 sat/vB. If you need it in the very next block, pay 5 sat/vB. If you're not in a rush, 2 sat/vB should get you in within 18 blocks.
Looking up a Bitcoin address
"What's the balance of the Satoshi genesis address?" The only probe example we have is the genesis block coinbase address — 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa — which is the most famous address on Bitcoin. It's the boring default, but the data it returns is genuinely interesting: this address has received over 57 BTC across 73,360 outputs and spent exactly zero.
curl "https://mempool.space/api/address/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" | head -c 10000
{
"address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
"chain_stats": {
"funded_txo_count": 73360,
"funded_txo_sum": 5716360020,
"spent_txo_count": 0,
"spent_txo_sum": 0,
"tx_count": 62296
},
"mempool_stats": {
"funded_txo_count": 0,
"funded_txo_sum": 0,
"spent_txo_count": 0,
"spent_txo_sum": 0,
"tx_count": 0
}
}
The response splits into chain_stats (confirmed on-chain) and mempool_stats (unconfirmed, still in the mempool). All monetary values are in satoshis — divide by 100,000,000 to get BTC. The spent_txo_sum of 0 confirms that nobody has ever moved funds from the genesis address, despite 62,296 transactions sending to it and 57.16 BTC in funded outputs. Most of those outputs are dust donations — people sending tiny amounts to "Satoshi's address" as a novelty. The tx_count field counts unique transactions, not outputs, so 62,296 transactions produced 73,360 outputs (many transactions batch multiple outputs).
The Satoshi genesis address holds approximately 57.16 BTC across 73,360 unspent outputs, with zero spent — nothing has ever moved from this address. It has been the destination of 62,296 transactions, almost all dust amounts sent by people who wanted to say they transacted with Satoshi's address.
Inspecting a specific transaction
"What are the details of this Bitcoin transaction?" Given a transaction ID (a 64-character hex string), /tx/{txid} returns the full breakdown: inputs with previous output data, outputs with addresses and amounts, fee, weight, and confirmation status.
curl "https://mempool.space/api/tx/4d45d39ae47ebdf7671b4b26f89a39e8d86d4e453d44ac7937839ebec4e25817" | head -c 10000
{
"txid": "4d45d39ae47ebdf7671b4b26f89a39e8d86d4e453d44ac7937839ebec4e25817",
"version": 2,
"locktime": 943669,
"size": 225,
"weight": 573,
"fee": 144,
"status": {
"confirmed": true,
"block_height": 943671,
"block_hash": "00000000000000000000321395eb06cdacb82958b796d1b0d7f12cd5851b5696",
"block_time": 1775338142
},
"vin": [
{
"prevout": {
"scriptpubkey_address": "bc1qctr5yluajqvlt6qag8qclger40hu6lkes5xs8a",
"value": 3426
},
"is_coinbase": false
}
],
"vout": [
{
"scriptpubkey_address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
"value": 2000
},
{
"scriptpubkey_address": "bc1qr6esvjg3dj2u7wx6z7k4k2qccxjm9u3zc6pxzn",
"value": 1282
}
]
}
This transaction sent 2,000 satoshis (0.00002 BTC) to the Satoshi genesis address and 1,282 satoshis back to a change address — a micro-donation, one of tens of thousands that have piled up at that address. The fee was 144 satoshis on a 225-byte transaction, roughly 0.64 sat/vB, which is below the economyFee floor shown in the fees endpoint. That's possible because this transaction likely sat in the mempool during a low-fee window. The weight field (573) matters for SegWit transactions — weight is virtual size times 4 for legacy, less for SegWit, and it determines the actual fee rate when divided into the fee: 144 / 573 * 4 = ~1.0 sat/vB. The status.confirmed boolean and block_height are what you check to answer "has this gone through yet?"
This transaction sent 2,000 satoshis (0.00002 BTC) to the Satoshi genesis address — another dust donation — with a fee of 144 satoshis. It's confirmed at block height 943,671. The fee rate works out to about 1 sat/vB, which is at the economy tier.
Pitfalls
- All monetary values are in satoshis, not BTC. A
valueof 2000 means 0.00002 BTC. Divide by 100,000,000 to convert. Thefeefield is also in satoshis. /mempoolreturns a massivefee_histogramarray — hundreds of[fee_rate, cumulative_vsize]pairs that can exceed 10 KB on its own. If you only need the summary stats (count,vsize,total_fee), parse just the top-level fields and skip the histogram./mempool/txidsreturns every transaction ID currently in the mempool — typically 10,000+ entries. Call it only if you need the full set; there's no pagination or filtering. For fee estimates, use/v1/fees/recommendedinstead.- Address endpoints return
tx_count(unique transactions), not output count. Thefunded_txo_countcan be much higher thantx_countbecause a single transaction can produce many outputs.
One-line summary for the user
I can look up real-time Bitcoin blockchain data — recommended transaction fees, address balances, transaction details, and mempool congestion — from mempool.space in a single unauthenticated GET, with projected block fee tiers most explorers make you calculate yourself.