Mempool.space
App · Cryptocurrency · 15 actions
Read the Bitcoin blockchain with Mempool.space, the open-source Bitcoin explorer and mempool visualiser. Check what an address holds, watch it for incoming money, follow a transaction until it confirms, and see the individual coins behind a balance. Get the bitcoin price now or at any past moment, what a transaction needs to pay to confirm, how congested the network is, and where mining difficulty is heading. Look up any block by height or hash, see what it settled, and rank the pools mining Bitcoin over any window. Every amount comes in both satoshis and bitcoin, every time as a readable timestamp, and every record with a link a person can open. Every step only reads, so no workflow can move your bitcoin. No account or API key required.
Actions
| Action | What it does |
|---|---|
| Check an address is valid | Check whether a Bitcoin address is real before anything is sent to it, and find out what kind it is. |
| Check network congestion | Check how busy Bitcoin is: how many transactions are waiting to be mined, how much room they need, and how many blocks it would take to clear them. |
| Check whether outputs have been spent | Check, for each of a transaction's outputs, whether the money has been moved on again - and by which transaction. |
| Get a block | Get one block by its height or its hash: when it was mined, which pool found it, how many transactions it settled and what they paid. |
| Get a transaction | Get one Bitcoin transaction: whether it has confirmed and how many times, what it moved and between which addresses, and what it paid in fees. |
| Get an address balance | Get what a Bitcoin address holds and what has passed through it: its balance, everything ever received and sent, and how many transactions have touched it. |
| Get network status | Get the health of the Bitcoin network: how much computing power is securing it, how hard mining currently is, and when the difficulty next changes and by how much. |
| Get recommended fees | Get what a Bitcoin transaction needs to pay right now to confirm, at each level of hurry - next block, within half an hour, within an hour, and the two economy rates. |
| Get the bitcoin price | Get what one bitcoin is worth right now, in your choice of seven currencies - and in all seven at once, so one step can price a report for several regions. |
| Get the bitcoin price on a date | Get what one bitcoin was worth at a past moment. |
| List a block's transactions | List the transactions settled in one block, in the order they were mined, a page at a time. |
| List an address's transactions | List the most recent transactions at a Bitcoin address, newest first, with what each one moved and how many confirmations it has. |
| List an address's unspent coins | List the individual coins sitting at a Bitcoin address, each with its own value and how many confirmations it has, plus what they add up to. |
| List mining pools | List the mining pools that found Bitcoin's blocks over a period you choose, ranked by how many they mined and what share of the network that is. |
| List recent blocks | List the blocks most recently mined, newest first, each with its miner, its fees and how many transactions it settled. |
Check an address is valid
Check whether a Bitcoin address is real before anything is sent to it, and find out what kind it is. Bitcoin payments cannot be reversed and a mistyped address is money gone, so this is the step to put in front of one. An invalid address is an answer here, not a failure, so a workflow can branch on it and stop. No API key required.
Inputs
- Bitcoin address
addresstextRequired - The address to look at, exactly as it was given to you. Bitcoin has several address formats and all of them work here: bc1q… and bc1p… (the modern ones), and the older 1… and 3…. Capitalisation matters everywhere except in a bc1 address, so paste rather than retype.
Outputs
addresstext- The address, as the network reads it.
explorer_urltext- Its page on mempool.space, when it is valid.
reasontext- Why it was rejected - a bad checksum, the wrong length. Null when it is valid.
typetext- What kind it is: 'Taproot (P2TR)', 'Native SegWit (P2WPKH)', 'Script hash (P2SH)', 'Legacy (P2PKH)'. Null when it is not valid.
validtrue/false- Whether this is a real Bitcoin address. This is the field to branch on.
Example output
{
"address": "bc1qgdjqv0av3q56jvd82tkdjpy7gdp9ut8tlqmgrpmv24sq90ecnvqqjwvw97",
"explorer_url": "https://mempool.space/address/bc1qgdjqv0av3q56jvd82tkdjpy7gdp9ut8tlqmgrpmv24sq90ecnvqqjwvw97",
"reason": null,
"type": "Native SegWit (P2WSH)",
"valid": true
}Check network congestion
Check how busy Bitcoin is: how many transactions are waiting to be mined, how much room they need, and how many blocks it would take to clear them. When the backlog is deep, cheap transactions wait - so this is the step to check before sending anything, or to post to a channel when the network gets busy. No API key required.
Inputs
None.
Outputs
next_block_median_fee_rate_sat_vbnumber- The middle fee rate among the transactions expected in the next block, in sat/vB.
projected_blockslist- Each expected block, soonest first.
projected_blocks_cappedtrue/false- True when the backlog is deeper than mempool.space projects, so the block count above is a floor rather than an estimate.
projected_blocks_to_clearnumber- How many blocks mempool.space expects it will take to clear the backlog - roughly ten minutes each.
size_vmbnumber- How much room everything waiting would take, in virtual megabytes. A block holds about one, so this is the backlog measured in blocks' worth.
total_fees_waiting_btcnumber- What every waiting transaction has offered in fees. In bitcoin. The same amount as the satoshi figure beside it, converted for reading.
total_fees_waiting_satsnumber- What every waiting transaction has offered in fees. In satoshis - the whole-number unit Bitcoin counts in, a hundred million to the bitcoin. This is the exact figure; use it for any arithmetic.
transactions_waitingnumber- How many transactions have been broadcast but not yet mined. A few thousand is quiet; tens of thousands is busy.
Example output
{
"next_block_median_fee_rate_sat_vb": 3.01,
"projected_blocks": [
{
"median_fee_rate_sat_vb": 3.01,
"total_fees_btc": 0.03657466,
"total_fees_sats": 3657466,
"transaction_count": 3885
}
],
"projected_blocks_capped": true,
"projected_blocks_to_clear": 8,
"size_vmb": 43.913,
"total_fees_waiting_btc": 0.10238009,
"total_fees_waiting_sats": 10238009,
"transactions_waiting": 87582
}Check whether outputs have been spent
Check, for each of a transaction's outputs, whether the money has been moved on again - and by which transaction. The step that answers 'has the recipient touched what we sent them' and 'is that coin still where we left it', which a balance alone cannot tell you. No API key required.
Inputs
- Transaction ID
txidtextRequired - The transaction's id: 64 characters, made up of the digits 0-9 and the letters a-f. Every wallet and every explorer calls it the same thing, so this is what a receipt, a support ticket or an earlier step will have given you.
Outputs
all_spenttrue/false- True when every output has been moved on. The field to branch on for 'has it all been swept'.
explorer_urltext- The transaction's page on mempool.space.
output_countnumber- How many outputs the transaction has.
outputslist- Each output, in the order the transaction lists them.
spent_countnumber- How many of them have been spent onward.
txidtext- The transaction whose outputs these are.
unspent_countnumber- How many are still sitting where this transaction put them.
Example output
{
"all_spent": false,
"explorer_url": "https://mempool.space/tx/15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521",
"output_count": 2,
"outputs": [
{
"block_hash": "000000000000000000034b1d9e57e5b0e1a8e4d1e4c2b0f8a7d6c5b4a3928170",
"block_height": 800001,
"block_time": 1690169241,
"block_time_iso": "2023-07-24T03:27:21+00:00",
"confirmations": 4,
"confirmed": true,
"output_index": 0,
"spent": true,
"spent_by_explorer_url": "https://mempool.space/tx/34de8ba520eb846da8831fa47c06eef9b4eb4a2ff6a3271165fd6b9aafc5a20c",
"spent_by_txid": "34de8ba520eb846da8831fa47c06eef9b4eb4a2ff6a3271165fd6b9aafc5a20c"
},
{
"block_hash": null,
"block_height": null,
"block_time": null,
"block_time_iso": null,
"confirmations": 0,
"confirmed": false,
"output_index": 1,
"spent": false,
"spent_by_explorer_url": null,
"spent_by_txid": null
}
],
"spent_count": 1,
"txid": "15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521",
"unspent_count": 1
}Get a block
Get one block by its height or its hash: when it was mined, which pool found it, how many transactions it settled and what they paid. Paste whichever of the two you have - it works out which. No API key required.
Inputs
- Block
blocktextRequired - Either the block's height - its number, such as 800000 - or its 64-character hash. Whichever you have is fine; this works out which one you gave it.
Outputs
blockobject- One block: a batch of transactions settled onto the chain.
Example output
{
"block": {
"difficulty": 53911173001054.586,
"explorer_url": "https://mempool.space/block/00000000000000000002a7c4c1e48d76c5a37902165a270156b7a8d72728a054",
"hash": "00000000000000000002a7c4c1e48d76c5a37902165a270156b7a8d72728a054",
"height": 800000,
"median_fee_rate_sat_vb": 6.0,
"merkle_root": "91f01a00530c8c83617190048ea8b0814d506cf24dfdbcf8893f8f0cab7f0855",
"mined_by": "Foundry USA",
"previous_block_hash": "000000000000000000012117ad9f72c1c0e42227c2d042dca23e6b96bd9fbb55",
"reward_btc": 6.3868768,
"reward_sats": 638687680,
"size_bytes": 1634536,
"timestamp": 1690168629,
"timestamp_iso": "2023-07-24T03:17:09+00:00",
"total_fees_btc": 0.1368768,
"total_fees_sats": 13687680,
"transaction_count": 3721,
"weight": 3992881
}
}Get a transaction
Get one Bitcoin transaction: whether it has confirmed and how many times, what it moved and between which addresses, and what it paid in fees. The step behind 'wait for three confirmations before shipping' and 'did that payment actually go through'. No API key required.
Inputs
- Transaction ID
txidtextRequired - The transaction's id: 64 characters, made up of the digits 0-9 and the letters a-f. Every wallet and every explorer calls it the same thing, so this is what a receipt, a support ticket or an earlier step will have given you.
Outputs
transactionobject- One Bitcoin transaction. The same shape wherever it was found - looked up on its own, on an address, or read out of a block.
Example output
{
"transaction": {
"block_hash": "00000000000000000002a7c4c1e48d76c5a37902165a270156b7a8d72728a054",
"block_height": 800000,
"block_time": 1690168629,
"block_time_iso": "2023-07-24T03:17:09+00:00",
"confirmations": 3,
"confirmed": true,
"explorer_url": "https://mempool.space/tx/15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521",
"fee_btc": 0.0002,
"fee_rate_sat_vb": 22.62,
"fee_sats": 20000,
"input_count": 1,
"inputs": [
{
"address": "157HqdxdT8dxTjeRLVT5HPtFc1LH4CeuVC",
"from_output_index": 12,
"from_txid": "1fdfed84588cb826b876cd761ecebcf1726453437f0a6826e82ed54b2807a036",
"is_new_coin": false,
"replaceable": false,
"value_btc": 60.1346,
"value_sats": 6013460000
}
],
"inputs_truncated": false,
"output_count": 2,
"outputs": [
{
"address": "1BUBQuPV3gEV7P2XLNuAJQjf5t265Yyj9t",
"output_index": 0,
"type": "p2pkh",
"type_label": "Legacy (P2PKH)",
"value_btc": 12.4,
"value_sats": 1240000000
},
{
"address": "bc1qgdjqv0av3q56jvd82tkdjpy7gdp9ut8tlqmgrpmv24sq90ecnvqqjwvw97",
"output_index": 1,
"type": "v0_p2wsh",
"type_label": "Native SegWit (P2WSH)",
"value_btc": 47.7344,
"value_sats": 4773440000
}
],
"outputs_truncated": false,
"replaceable": false,
"size_bytes": 884,
"total_out_btc": 60.1344,
"total_out_sats": 6013440000,
"txid": "15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521",
"vsize": 884,
"weight": 3536
}
}Get an address balance
Get what a Bitcoin address holds and what has passed through it: its balance, everything ever received and sent, and how many transactions have touched it. Money still waiting to confirm is reported separately from money that has settled, because only one of them is yours to spend. The step behind a treasury report or a 'has the payment arrived' check. No API key required.
Inputs
- Bitcoin address
addresstextRequired - The address to look at, exactly as it was given to you. Bitcoin has several address formats and all of them work here: bc1q… and bc1p… (the modern ones), and the older 1… and 3…. Capitalisation matters everywhere except in a bc1 address, so paste rather than retype.
Outputs
address_summaryobject- What an address holds, and what has passed through it.
Example output
{
"address_summary": {
"address": "bc1qgdjqv0av3q56jvd82tkdjpy7gdp9ut8tlqmgrpmv24sq90ecnvqqjwvw97",
"balance_btc": 1.30010079,
"balance_sats": 130010079,
"confirmed_balance_btc": 1.30010079,
"confirmed_balance_sats": 130010079,
"explorer_url": "https://mempool.space/address/bc1qgdjqv0av3q56jvd82tkdjpy7gdp9ut8tlqmgrpmv24sq90ecnvqqjwvw97",
"pending_balance_btc": 0.0,
"pending_balance_sats": 0,
"pending_transaction_count": 0,
"total_received_btc": 5.30775983,
"total_received_sats": 530775983,
"total_sent_btc": 4.00765904,
"total_sent_sats": 400765904,
"transaction_count": 339,
"unspent_output_count": 51
}
}Get network status
Get the health of the Bitcoin network: how much computing power is securing it, how hard mining currently is, and when the difficulty next changes and by how much. Difficulty adjusts every two weeks and the estimate moves all the way up to the day, so this is the step behind a mining report or a network dashboard. No API key required.
Inputs
None.
Outputs
blocks_until_adjustmentnumber- How many blocks are left before difficulty changes.
days_until_adjustmentnumber- How many days away that is.
difficultynumber- How hard it currently is to mine a block.
difficulty_change_percentnumber- How much difficulty is expected to move at the next adjustment, as a percentage. Positive means mining gets harder. This estimate moves until the moment it happens.
hashrate_eh_snumber- How much computing power is mining Bitcoin, in exahashes per second - the unit mining reports use. This is the readable figure.
hashrate_hsnumber- The same figure in raw hashes per second.
next_adjustment_atnumber- When that is expected to happen. As unix seconds.
next_adjustment_at_isotext- When that is expected to happen. As an ISO 8601 UTC timestamp, e.g. 2024-01-31T12:00:00+00:00. This is the one to show a person, and the one to feed into a date-and-time field.
next_adjustment_heightnumber- The block height at which it will change.
previous_change_percentnumber- How much it moved at the last adjustment.
progress_percentnumber- How far through the current two-week period we are.
Example output
{
"blocks_until_adjustment": 303,
"days_until_adjustment": 2.1,
"difficulty": 125807076547197.5,
"difficulty_change_percent": 0.93,
"hashrate_eh_s": 907.46,
"hashrate_hs": 9.074583332735401e+20,
"next_adjustment_at": 1788645292,
"next_adjustment_at_iso": "2026-09-05T21:54:52+00:00",
"next_adjustment_height": 965664,
"previous_change_percent": -1.31,
"progress_percent": 84.97
}Get recommended fees
Get what a Bitcoin transaction needs to pay right now to confirm, at each level of hurry - next block, within half an hour, within an hour, and the two economy rates. All in sat/vB, the unit every wallet asks for. Fees swing by an order of magnitude in a day, so this is the step behind 'send when it's cheap' and 'tell me when fees spike'. No API key required.
Inputs
None.
Outputs
economy_sat_vbnumber- Cheap, and it may take many hours or longer. Fine for anything not in a hurry.
fastest_sat_vbnumber- Pay this to be in the very next block - about ten minutes. The rate to use when it has to land now.
half_hour_sat_vbnumber- Pay this to confirm within about half an hour.
hour_sat_vbnumber- Pay this to confirm within about an hour.
minimum_sat_vbnumber- The least the network will currently relay. Below this a transaction may never be passed on at all.
Example output
{
"economy_sat_vb": 2.0,
"fastest_sat_vb": 4.0,
"half_hour_sat_vb": 4.0,
"hour_sat_vb": 3.0,
"minimum_sat_vb": 1.0
}Get the bitcoin price
Get what one bitcoin is worth right now, in your choice of seven currencies - and in all seven at once, so one step can price a report for several regions. The number behind a daily price post, a portfolio total or a threshold alert. No API key required.
Inputs
- Currency
currencytext - Which currency to price bitcoin in. US dollars unless you say otherwise.One of:
USD(US dollar (USD)),EUR(Euro (EUR)),GBP(British pound (GBP)),CAD(Canadian dollar (CAD)),CHF(Swiss franc (CHF)),AUD(Australian dollar (AUD)),JPY(Japanese yen (JPY)). Default:USD.
Outputs
as_ofnumber- When this price was published. As unix seconds.
as_of_isotext- When this price was published. As an ISO 8601 UTC timestamp, e.g. 2024-01-31T12:00:00+00:00. This is the one to show a person, and the one to feed into a date-and-time field.
currencytext- The currency you asked for.
pricenumber- What one bitcoin is worth in that currency.
pricesobject- The price in every currency mempool.space quotes, keyed by currency code.
Example output
{
"as_of": 1788465008,
"as_of_iso": "2026-09-03T19:50:08+00:00",
"currency": "USD",
"price": 81466.0,
"prices": {
"AUD": 113162.0,
"CAD": 112330.0,
"CHF": 65781.0,
"EUR": 70054.0,
"GBP": 60218.0,
"JPY": 12650405.0,
"USD": 81466.0
}
}Get the bitcoin price on a date
Get what one bitcoin was worth at a past moment. Pick the date and time and this finds the closest price mempool.space has, and tells you which moment that price is from. The step to put after 'Get a transaction' to value a payment at the moment it confirmed, for a ledger, an invoice or a tax record. No API key required.
Inputs
- Date and time
date_timedate and timeRequired - The moment to price bitcoin at. Mempool.space keeps hourly prices for recent years and daily prices for the earlier ones, and answers with the closest it has - the result says exactly which moment its price is from. Its index starts in 2010.
- Currency
currencytext - Which currency to price bitcoin in. US dollars unless you say otherwise.One of:
USD(US dollar (USD)),EUR(Euro (EUR)),GBP(British pound (GBP)),CAD(Canadian dollar (CAD)),CHF(Swiss franc (CHF)),AUD(Australian dollar (AUD)),JPY(Japanese yen (JPY)). Default:USD.
Outputs
currencytext- The currency you asked for.
pricenumber- What one bitcoin was worth at that moment.
price_atnumber- The moment this price is actually from - the closest one mempool.space has to what you asked for. As unix seconds.
price_at_isotext- The moment this price is actually from - the closest one mempool.space has to what you asked for. As an ISO 8601 UTC timestamp, e.g. 2024-01-31T12:00:00+00:00. This is the one to show a person, and the one to feed into a date-and-time field.
requested_atnumber- The moment you asked about. As unix seconds.
requested_at_isotext- The moment you asked about. As an ISO 8601 UTC timestamp, e.g. 2024-01-31T12:00:00+00:00. This is the one to show a person, and the one to feed into a date-and-time field.
Example output
{
"currency": "USD",
"price": 64969.0,
"price_at": 1635984000,
"price_at_iso": "2021-11-04T00:00:00+00:00",
"requested_at": 1636502400,
"requested_at_iso": "2021-11-10T00:00:00+00:00"
}List a block's transactions
List the transactions settled in one block, in the order they were mined, a page at a time. The first is always the miner's own reward. Blocks hold thousands of transactions, so this is the step to loop over when auditing what a block moved. No API key required.
Inputs
- Block
blocktextRequired - Either the block's height - its number, such as 800000 - or its 64-character hash. Whichever you have is fine; this works out which one you gave it.
- How many
limitnumber - Optional. How many transactions to return, between 1 and 100. 25 by default.From 1 to 100. Default:
25. - Skip
offsetnumber - Optional. How many records to skip before this page. Use the next offset from the previous result to page through. 0 by default.At least 0. Default:
0.
Outputs
block_hashtext- The block these came from, by hash.
block_heightnumber- The block these came from, by height - filled in whether you named the block by height or by hash.
countnumber- How many records are in this page.
has_moretrue/false- Whether there are more records after this page.
next_offsetnumber- The 'skip' value that fetches the next page, or null when this is the last one.
total_countnumber- How many there are in total, across every page.
transactionslist- The transactions in this page, in the order they were mined.
Example output
{
"block_hash": "00000000000000000002a7c4c1e48d76c5a37902165a270156b7a8d72728a054",
"block_height": 800000,
"count": 1,
"has_more": true,
"next_offset": 1,
"total_count": 3721,
"transactions": [
{
"block_hash": "00000000000000000002a7c4c1e48d76c5a37902165a270156b7a8d72728a054",
"block_height": 800000,
"block_time": 1690168629,
"block_time_iso": "2023-07-24T03:17:09+00:00",
"confirmations": 3,
"confirmed": true,
"explorer_url": "https://mempool.space/tx/15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521",
"fee_btc": 0.0002,
"fee_rate_sat_vb": 22.62,
"fee_sats": 20000,
"input_count": 1,
"inputs": [
{
"address": "157HqdxdT8dxTjeRLVT5HPtFc1LH4CeuVC",
"from_output_index": 12,
"from_txid": "1fdfed84588cb826b876cd761ecebcf1726453437f0a6826e82ed54b2807a036",
"is_new_coin": false,
"replaceable": false,
"value_btc": 60.1346,
"value_sats": 6013460000
}
],
"inputs_truncated": false,
"output_count": 2,
"outputs": [
{
"address": "1BUBQuPV3gEV7P2XLNuAJQjf5t265Yyj9t",
"output_index": 0,
"type": "p2pkh",
"type_label": "Legacy (P2PKH)",
"value_btc": 12.4,
"value_sats": 1240000000
},
{
"address": "bc1qgdjqv0av3q56jvd82tkdjpy7gdp9ut8tlqmgrpmv24sq90ecnvqqjwvw97",
"output_index": 1,
"type": "v0_p2wsh",
"type_label": "Native SegWit (P2WSH)",
"value_btc": 47.7344,
"value_sats": 4773440000
}
],
"outputs_truncated": false,
"replaceable": false,
"size_bytes": 884,
"total_out_btc": 60.1344,
"total_out_sats": 6013440000,
"txid": "15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521",
"vsize": 884,
"weight": 3536
}
]
}List an address's transactions
List the most recent transactions at a Bitcoin address, newest first, with what each one moved and how many confirmations it has. Include the ones still waiting to confirm and you see a payment the moment it is broadcast, rather than ten minutes later. The step to run on a schedule to watch an address for incoming money. No API key required.
Inputs
- Bitcoin address
addresstextRequired - The address to look at, exactly as it was given to you. Bitcoin has several address formats and all of them work here: bc1q… and bc1p… (the modern ones), and the older 1… and 3…. Capitalisation matters everywhere except in a bc1 address, so paste rather than retype.
- Which transactions
statustext - Whether to include transactions that are still waiting to confirm. Pending ones are the earliest sign that money is on its way, and the least certain: they can still be replaced or dropped.One of:
all(Confirmed and pending),confirmed(Confirmed only),pending(Pending only (still waiting to confirm)). Default:all. - How many
limitnumber - Optional. How many transactions to return, between 1 and 100. 10 by default.From 1 to 100. Default:
10.
Outputs
countnumber- How many records came back.
transactionslist- The address's most recent transactions, newest first.
Example output
{
"count": 1,
"transactions": [
{
"block_hash": "00000000000000000002a7c4c1e48d76c5a37902165a270156b7a8d72728a054",
"block_height": 800000,
"block_time": 1690168629,
"block_time_iso": "2023-07-24T03:17:09+00:00",
"confirmations": 3,
"confirmed": true,
"explorer_url": "https://mempool.space/tx/15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521",
"fee_btc": 0.0002,
"fee_rate_sat_vb": 22.62,
"fee_sats": 20000,
"input_count": 1,
"inputs": [
{
"address": "157HqdxdT8dxTjeRLVT5HPtFc1LH4CeuVC",
"from_output_index": 12,
"from_txid": "1fdfed84588cb826b876cd761ecebcf1726453437f0a6826e82ed54b2807a036",
"is_new_coin": false,
"replaceable": false,
"value_btc": 60.1346,
"value_sats": 6013460000
}
],
"inputs_truncated": false,
"output_count": 2,
"outputs": [
{
"address": "1BUBQuPV3gEV7P2XLNuAJQjf5t265Yyj9t",
"output_index": 0,
"type": "p2pkh",
"type_label": "Legacy (P2PKH)",
"value_btc": 12.4,
"value_sats": 1240000000
},
{
"address": "bc1qgdjqv0av3q56jvd82tkdjpy7gdp9ut8tlqmgrpmv24sq90ecnvqqjwvw97",
"output_index": 1,
"type": "v0_p2wsh",
"type_label": "Native SegWit (P2WSH)",
"value_btc": 47.7344,
"value_sats": 4773440000
}
],
"outputs_truncated": false,
"replaceable": false,
"size_bytes": 884,
"total_out_btc": 60.1344,
"total_out_sats": 6013440000,
"txid": "15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521",
"vsize": 884,
"weight": 3536
}
]
}List an address's unspent coins
List the individual coins sitting at a Bitcoin address, each with its own value and how many confirmations it has, plus what they add up to. Bitcoin holds a balance as separate coins rather than one number, and a wallet has to spend whole ones - so this is what a spend actually has to work with, and what a coin-management or consolidation workflow reads. Addresses holding more than 500 coins are more than mempool.space's public API will list; 'Get an address balance' still counts them. No API key required.
Inputs
- Bitcoin address
addresstextRequired - The address to look at, exactly as it was given to you. Bitcoin has several address formats and all of them work here: bc1q… and bc1p… (the modern ones), and the older 1… and 3…. Capitalisation matters everywhere except in a bc1 address, so paste rather than retype.
- How many
limitnumber - Optional. How many coins to return, between 1 and 100. 10 by default.From 1 to 100. Default:
10. - Skip
offsetnumber - Optional. How many records to skip before this page. Use the next offset from the previous result to page through. 0 by default.At least 0. Default:
0.
Outputs
countnumber- How many records are in this page.
has_moretrue/false- Whether there are more records after this page.
next_offsetnumber- The 'skip' value that fetches the next page, or null when this is the last one.
total_countnumber- How many there are in total, across every page.
total_value_btcnumber- What every one of the address's coins adds up to - the whole set, not just this page. In bitcoin. The same amount as the satoshi figure beside it, converted for reading.
total_value_satsnumber- What every one of the address's coins adds up to - the whole set, not just this page. In satoshis - the whole-number unit Bitcoin counts in, a hundred million to the bitcoin. This is the exact figure; use it for any arithmetic.
unspent_outputslist- The coins in this page, pending first then newest.
Example output
{
"count": 1,
"has_more": true,
"next_offset": 1,
"total_count": 51,
"total_value_btc": 1.30010079,
"total_value_sats": 130010079,
"unspent_outputs": [
{
"block_hash": "00000000000000000000008bbed3c7ad1fd4d4c8ff21c3abc282bf2d47872b71",
"block_height": 964492,
"block_time": 1787958835,
"block_time_iso": "2026-08-28T23:13:55+00:00",
"confirmations": 870,
"confirmed": true,
"explorer_url": "https://mempool.space/tx/ad3501200064d4ae96b13c77c668777f88fc40baad065c49a0b5cca3981674bb",
"output_index": 6,
"txid": "ad3501200064d4ae96b13c77c668777f88fc40baad065c49a0b5cca3981674bb",
"value_btc": 1.628e-05,
"value_sats": 1628
}
]
}List mining pools
List the mining pools that found Bitcoin's blocks over a period you choose, ranked by how many they mined and what share of the network that is. Mining concentration is the number people watch about Bitcoin's health, and it shifts week to week - so this is the step behind a mining report or a concentration alert. No API key required.
Inputs
- Over what period
periodtext - How far back to count blocks. A short window shows who is mining right now and swings about; a long one shows the settled picture. Last week unless you say otherwise.One of:
24h(Last 24 hours),3d(Last 3 days),1w(Last week),1m(Last month),3m(Last 3 months),6m(Last 6 months),1y(Last year),2y(Last 2 years),3y(Last 3 years). Default:1w.
Outputs
countnumber- How many pools mined at least one block in the window.
hashrate_eh_snumber- The network's estimated hashrate at the end of the window, in exahashes per second.
periodtext- The window these figures cover, e.g. 1w.
period_labeltext- The same window in words, e.g. 'Last week'.
poolslist- The pools, most blocks first.
total_blocksnumber- How many blocks were mined in that window, across every pool. The shares below are of this.
Example output
{
"count": 18,
"hashrate_eh_s": 914.04,
"period": "1w",
"period_label": "Last week",
"pools": [
{
"blocks_mined": 285,
"empty_blocks": 0,
"explorer_url": "https://mempool.space/mining/pool/foundryusa",
"name": "Foundry USA",
"rank": 1,
"share_percent": 27.94,
"slug": "foundryusa",
"website": "https://foundrydigital.com"
}
],
"total_blocks": 1020
}List recent blocks
List the blocks most recently mined, newest first, each with its miner, its fees and how many transactions it settled. A block arrives about every ten minutes, so this is what a 'what's happened on Bitcoin lately' digest reads, and how a workflow notices a new block. No API key required.
Inputs
- How many
limitnumber - Optional. How many blocks to return, between 1 and 15. 15 by default.From 1 to 15. Default:
15.
Outputs
blockslist- The most recently mined blocks, newest first. Mempool.space publishes the last 15; older ones are reached by height with 'Get a block'.
countnumber- How many records came back.
Example output
{
"blocks": [
{
"difficulty": 53911173001054.586,
"explorer_url": "https://mempool.space/block/00000000000000000002a7c4c1e48d76c5a37902165a270156b7a8d72728a054",
"hash": "00000000000000000002a7c4c1e48d76c5a37902165a270156b7a8d72728a054",
"height": 800000,
"median_fee_rate_sat_vb": 6.0,
"merkle_root": "91f01a00530c8c83617190048ea8b0814d506cf24dfdbcf8893f8f0cab7f0855",
"mined_by": "Foundry USA",
"previous_block_hash": "000000000000000000012117ad9f72c1c0e42227c2d042dca23e6b96bd9fbb55",
"reward_btc": 6.3868768,
"reward_sats": 638687680,
"size_bytes": 1634536,
"timestamp": 1690168629,
"timestamp_iso": "2023-07-24T03:17:09+00:00",
"total_fees_btc": 0.1368768,
"total_fees_sats": 13687680,
"transaction_count": 3721,
"weight": 3992881
}
],
"count": 1
}