How to Check the Balance of a Bitcoin Address (or Addresses): A Tutorial

As a financial institution, we monitor the balances of many Bitcoin addresses every day. In this article, we'll share the best practices for checking the balance of a Bitcoin address (or multiple addresses).

Checking the Balance of a Single Bitcoin Address

Bitcoin addresses are public. That means anyone can see the current balance of any Bitcoin address. Online tools like BitRef ( https://bitref.com/ ) allow anyone to check the live balance of a Bitcoin address with just a click.

There are two types of balances: confirmed and unconfirmed. The confirmed balance includes transactions that are already included in Bitcoin blocks. The unconfirmed balance includes transactions related to the address that are still sitting in the mempool and haven't been confirmed yet.

Never trust unconfirmed balances or payments. Bitcoin is structured so that an unconfirmed transaction can be replaced at any time with a new one paying a different address. So unconfirmed transactions and balances cannot be trusted.

For unconfirmed transactions, we recommend using a Bitcoin transaction accelerator such as BitAccelerate https://bitaccelerate.com/ . This tool propagates the transaction more quickly, reaching more Bitcoin nodes and increasing its chances of being picked up by miners and included in the next block.

In BitRef, you can also see a list of all transactions related to a checked Bitcoin address. For each transaction, you can see the amount, the USD value, the date/time, the fee rate, and so on. Unlike many other Bitcoin explorers, BitRef structures transactions in a human-readable way.

Other block explorers often display transactions as raw inputs and outputs, which makes it difficult for a regular user to understand what's happening. BitRef groups and normalizes transactions like regular bank operations — income and expenses.

Checking the Balance of Multiple Addresses

If you need to check the balances of multiple Bitcoin addresses, the best approach is to use an API. This lets you automatically monitor multiple addresses for balance changes. A popular option is the BitRef API ( https://bitref.com/api/ ).

You can use the BitRef API to also monitor transactions sending or receiving coins to a particular address. Or, if you only need unspent outputs, you can export just the UTXOs (unspent transaction outputs) for a given address.

Fast Checking of Balances for a Huge Number of Addresses

If you need to check the balances of thousands or millions of addresses, the API endpoint approach won't work well because of rate limits. In that case, the best approach is to download a list of all Bitcoin addresses with a balance and search it locally.

Such a list is available at https://bitref.com/bitcoin-addresses-with-balance/. For best results at this scale:

  • Use grep for quick, one-off lookups. It works fine for occasional searches against the flat file, but it re-scans the whole list every time, so it doesn't scale well to repeated or high-frequency queries.
  • Preload the list into an indexed database for repeated queries. A key-value store such as Redis, LevelDB, or RocksDB — keyed directly on the address — gives near-instant lookups and is well suited to the kind of "check thousands of addresses per day" workload financial institutions typically have. A traditional relational database (PostgreSQL/MySQL) with an index on the address column also works well if you need to join balance data with other records.
  • Keep the index updated. Since balances change with every new block, plan to refresh or re-index the list on a regular schedule (or ideally, stream updates directly from a node) rather than relying on a static snapshot.
  • Shard or partition for very large datasets. If you're indexing tens of millions of addresses, partitioning the database (e.g., by address prefix) can help keep lookups fast and manageable.
  • Consider running your own indexed Bitcoin node (e.g., using Electrum server software, or a full node with address indexing enabled) if you need the data to always be fully current and independently verified, rather than relying on a third-party snapshot.

As you can see, there are many ways to check and monitor Bitcoin address balances, depending on the speed you need and the number of addresses involved. Choose the option that best fits your needs.

Our Partners