BitcoinDatabase.com

Query the chain · Address balance API

BTC address balance API with exact balances and UTXOs

The BTC address balance API answers the most common question first: what is the exact balance of this address? Pass one address or a batch and get the current balance to the satoshi, total received, total sent, and the list of unspent outputs (UTXOs) backing the balance, all from the fully-indexed chain.

or try it below ↓

REST API · SQL · dashboards · address history from genesis

Query Console
btc
try:

Hit Run to query the Bitcoin blockchain.

Live from the chain for .

BTC

Balance trail

informational on-chain data · not financial advice

REST API · SQL · dashboards, one indexed dataset. Reading the chain ...

Use it to power a wallet, audit holdings, or reconcile cold storage across many addresses in one batched call. It is fast because the chain is already indexed and reconciled, so you skip running a node entirely. Query it as REST, in SQL, or on a dashboard. Informational data only, not advice.

REST API SQL DASHBOARDS WEBHOOKS CSV EXPORT

History from genesis queryable in seconds

On-chain data not financial advice

Why it works

What you get with Address balance API

Exact balance, fast

Return the precise balance to the satoshi plus total received and sent for any address, computed from every confirmed input and output.

UTXOs included

Get the list of unspent outputs backing a balance, so you can build spends, estimate fees and audit holdings down to each coin.

Single or batched

Check one address or many in a single batched call, ideal for wallets and cold-storage reconciliation across large address sets.

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.

  • Return exact balance, received and sent
  • List the UTXOs backing each balance
  • Check many addresses in one batch
  • Reconcile cold storage at scale
  • Query via REST, 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 Address balance API

Yes. The balance API accepts batched addresses and returns the exact balance, received, sent and UTXOs for each, which is ideal for wallets and reconciling cold storage across large address sets.
Confirmed balances come from the reconciled chain, and pending activity is visible through the mempool. Everything is computed from the fully-indexed chain, so no node is needed. It is data only, not financial advice.
Yes. Add a block height or a timestamp to the request and the balance comes back as of that point, computed from the outputs the address had received and spent by then. Ordinary explorer APIs cannot do this because they hold only the current unspent set, which is why year-end and audit figures usually have to be reconstructed by hand.
An explicit zero rather than an error or a missing row. That distinction matters when you are reconciling a list, because a row that silently disappears looks the same as a row you forgot to submit, and only one of those is a real problem.
Request the address and read the confirmed balance in satoshis. Under the hood a balance is not stored anywhere on the chain, it is the sum of the unspent outputs pointing at that address, so the endpoint has to hold an indexed UTXO set to answer at all. We verified ours against two independent explorers on 17 September 2026 and the totals matched to the satoshi on every address.
Almost always because one figure includes unconfirmed mempool activity and the other does not, or because one rounds. Decide explicitly which you want: a confirmed-only balance is stable and reproducible, while a balance including pending transactions can move in either direction and can be reversed by a replacement. Reconciliations should use confirmed balances pinned to a block height.
This one returns integers in satoshis, which is the only representation that survives accounting. Several commercial balance feeds return two decimal places of BTC, which throws away up to 999,999 satoshis per address and makes a tie-out to the chain impossible. If a vendor cannot express 224,683.07908858 BTC exactly, it cannot be the source of record for a reserve report.
Single-address lookups against public endpoints came back in roughly 0.2 to 0.6 seconds when we timed them on 17 September 2026, and the speed difference stops mattering once you need more than a handful. Five addresses checked sequentially against Esplora took 3.035 seconds because it has no batch endpoint at all. Volume, not single-call latency, is what decides which API you need.
Yes, and you usually need them. The balance tells you how much an address holds, while the UTXO list tells you what shape it is in: how many outputs, what sizes, and therefore what a spend will cost in fees. Wallets use it for coin selection and treasury teams use it to spot fragmentation before a consolidation.

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, with address history back to the genesis block over REST. Informational on-chain data only, not financial advice.

See pricing

History from genesis over REST · SQL · dashboards · addresses, transactions, UTXOs, metrics