BitcoinDatabase.com

Compliance and risk · Proof of reserves API

Bitcoin proof of reserves API for reserve address balances and attestation data

Proof of reserves comes down to one question a reader can check: do the addresses an exchange or custodian claims actually hold the balances they say they hold, at a stated block height? The Bitcoin proof of reserves API answers the on-chain half of that. Feed it a list of reserve addresses or extended public keys and get balances to the satoshi, UTXO counts, first and last activity, and a balance snapshot pinned to a specific block, so an attestation can be reproduced by anyone who repeats the query.

The liability side of proof of reserves (customer balances, usually committed to a Merkle root or a zero-knowledge proof) stays with the exchange and its auditor. What we supply is the asset side: an independent, fully-indexed view of the chain that an auditor, a counterparty or your own risk team can query over REST or SQL without running a node. This is informational on-chain data, not an audit opinion, an attestation, or financial or legal advice.

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 ...
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 proof of reserves api

Balances pinned to a block height

A reserve claim is only checkable if everyone agrees on when it was true. Query any address set as of a specific block height and get the same balances back every time, which is what makes an attestation reproducible.

Whole wallets, not just single addresses

Reserve wallets are rarely one address. Submit an extended public key or a list of thousands of addresses and get the aggregate balance, per-address detail and UTXO counts in one pass.

Independent of the entity being checked

The data comes from our own index of every block since 2009, so an auditor or counterparty is not reading numbers supplied by the party making the claim.

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.

  • Total a published reserve address list to the satoshi
  • Snapshot reserve balances at a fixed block height
  • Expand an xpub into its derived addresses and balance
  • Track reserve wallet inflows and outflows over time
  • Flag reserve addresses that moved between attestations
  • Export the underlying rows for an auditor workpaper
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 our SDKs.

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 proof of reserves api

Proof of reserves is a check that a custodian holds enough assets to cover what customers are owed. It has two halves: the reserves side, which is on-chain balances at addresses the custodian controls, and the liabilities side, which is customer balances usually committed to a Merkle root or a zero-knowledge proof. Our API covers the on-chain reserves side.
No. Control is proven by a signed message from the address key or a movement of funds the custodian arranges, both of which happen outside our system. We verify what the address holds and how it has moved, which is the part anyone can independently check on-chain.

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