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

ActionWhat it does
Check an address is validCheck whether a Bitcoin address is real before anything is sent to it, and find out what kind it is.
Check network congestionCheck 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 spentCheck, for each of a transaction's outputs, whether the money has been moved on again - and by which transaction.
Get a blockGet 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 transactionGet 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 balanceGet 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 statusGet 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 feesGet 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 priceGet 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 dateGet what one bitcoin was worth at a past moment.
List a block's transactionsList the transactions settled in one block, in the order they were mined, a page at a time.
List an address's transactionsList 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 coinsList 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 poolsList 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 blocksList 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 addressaddresstextRequired
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 IDtxidtextRequired
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

BlockblocktextRequired
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 IDtxidtextRequired
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 addressaddresstextRequired
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 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

Currencycurrencytext
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 timedate_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.
Currencycurrencytext
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

BlockblocktextRequired
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 manylimitnumber
Optional. How many transactions to return, between 1 and 100. 25 by default.From 1 to 100. Default: 25.
Skipoffsetnumber
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 addressaddresstextRequired
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 transactionsstatustext
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 manylimitnumber
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 addressaddresstextRequired
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 manylimitnumber
Optional. How many coins to return, between 1 and 100. 10 by default.From 1 to 100. Default: 10.
Skipoffsetnumber
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 periodperiodtext
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 manylimitnumber
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
}

On this page