BitcoinDatabase.com

On-chain metrics · UTXO data

Bitcoin UTXO data from the fully-indexed chain

Bitcoin works in unspent transaction outputs, and the UTXO set is where the real on-chain state lives. BitcoinDatabase exposes the full UTXO set from the fully-indexed chain: every unspent output with its value to the satoshi, the address and script type that controls it, the block and age since it was created, and which transaction created it.

or try it below ↓

REST API · SQL · dashboards · indexed from genesis

Query Console
btc
try:

Hit Run to query the fully-indexed Bitcoin blockchain.

BTC

30-day trend

informational on-chain data · not financial advice

REST API · SQL · dashboards, one indexed dataset. Querying the indexed Bitcoin blockchain ...

Query a single address's UTXOs, aggregate the set by age band to build UTXO age distribution and supply-by-age metrics, or analyze coin movement in SQL. It is the raw material for HODL waves, realized cap and coin-age research. Informational on-chain data only, not investment advice.

REST API SQL DASHBOARDS WEBHOOKS CSV EXPORT

Indexed from genesis queryable in seconds

On-chain data not financial advice

Why it works

What you get with UTXO data

The full UTXO set

Every unspent output is available with its value, controlling address, script type, creating transaction and the block it was minted in.

Age and distribution

Aggregate UTXOs by age band to build UTXO age distribution, supply-by-age and HODL-wave style views straight from the raw set.

Foundation for metrics

Coin age underpins realized cap, SOPR and coin-day analysis, and you can compute them from the indexed UTXO data on your own terms.

What it handles

The indexed Bitcoin chain, queryable your way

Look up an address, a transaction, a UTXO, the rich list or an on-chain metric, by REST API, SQL or dashboard. The same authoritative data, reconciled block-by-block against the canonical chain, without running a node.

  • List UTXOs for any address
  • Read value, script type and creating tx
  • Build UTXO age distribution and supply by age
  • Analyze coin movement and dormancy
  • Query the UTXO set via API, SQL or dashboard
GET /v1/address/{addr} query result
200 · JSON
{
  "address": "bc1qxy2k…l0wdv8",
  "balance_btc": 68432.10,
  "balance_usd": 4612165420,
  "tx_count": 1284,
  "unspent_outputs": 37,
  "first_seen": "2014-02-09"
}
indexed from genesis · to the satoshi ✓ reconciled block-by-block

Why BitcoinDatabase

One platform, queryable three ways

Not a raw node to sync, not an indexer to build, and not five vendors to stitch together. The fully-indexed Bitcoin blockchain, available as a REST API, as SQL, and as dashboards, on one authoritative dataset.

REST API

Typed JSON for addresses, transactions, balances, UTXOs and metrics. Drop it into apps, wallets, explorers and agents with curl, Python or any HTTP client.

SQL access

Run SQL directly against the indexed Bitcoin dataset for ad-hoc analysis, cohorts and exports, the same data the API and dashboards read from.

Compliance-first

Informational on-chain data and analytics only. Entity labels and flow tracing are framed as tooling to support a regulated team's own review, not accusations.

Good questions

Questions about UTXO data

Every unspent output from the indexed chain: value to the satoshi, controlling address and script type, the transaction that created it, and the block and age. You can query a single address or aggregate the whole set.
Yes. The UTXO set with creation ages is the raw material for UTXO age distribution, supply by age, HODL waves and realized cap. It is informational analytics data, not financial or investment advice.
Each unspent output carries the txid that created it, its output index (vout), its value in satoshis, the locking script as scriptPubKey hex plus a decoded script type and address where one can be derived, and the block height it was mined in. Confirmations follow from the height against the current tip.
Because satoshis are integers and BTC amounts are not. A value like 0.1 has no exact binary floating point representation, so summing BTC-denominated amounts accumulates rounding error that eventually shows up as a balance that is off by a few hundred satoshis. Bitcoin Core, every serious indexer and this API all move integers and let the client format them.
Request the unspent outputs for that address and you get every one it currently controls, each with its value, creating transaction, output index and block height. Summing their values gives the exact confirmed balance, which is why a balance and a UTXO list should never disagree if both come from the same indexed source.
A balance is a total; a UTXO is one of the discrete coins that add up to it. Bitcoin has no account balances at the protocol level, only unspent outputs. An address holding 1 BTC across 40 small outputs and one holding 1 BTC in a single output show the same balance but behave very differently, because spending the first costs far more in fees.
The set holds well over a hundred million unspent outputs and the total moves with every block, rising when wallets fragment coins and falling when they consolidate. Because the count is a live figure rather than a fixed one, query it against the current tip instead of quoting a number from a chart, and read it next to the total value those outputs hold.

Explore more

More ways to query Bitcoin with BitcoinDatabase

Stop running a node. Just query Bitcoin.

Run your first query now and get on-chain data back by REST API, SQL or dashboard, indexed from the genesis block. Informational on-chain data only, not financial advice.

See pricing

Indexed from genesis · REST · SQL · dashboards · addresses, transactions, UTXOs, metrics