<p>If you are not going to use a 3rd party API, you'll need to run a node and add each address you want to query as a watch only address. If you are looking to create a database with all addresses, similar to a block explorer website, you'll need to parse the blockchain using something like <a href="https://github.com/bitcoin-abe/bitcoin-abe" rel="noreferrer">abe</a>, and then continually update your database for each new transaction.  There's also the painful approach of turning on <code>txindex=1</code> in your bitcoin.conf, and then going through every single block since genesis, that checks all txs outputs and then keeps a record of all addresses and transactions. </p>

CC BY-SA 3.0
2016-02-28T15:55:07.953Z
2016-02-28T15:55:07.953Z
m1xolyd1an
<p>This actually might be harder than it seems. </p>

<p>The blockchain does not store addresses and their corresponding balances. The blockchain stores transactions. So if someone were to look for the final balance of an address, he/she would have to iterate through every transaction(inputs/outputs) that a particular address was involved in starting from the beggining of the blockchain and calculate the final balance for that address.</p>

CC BY-SA 3.0
2016-09-07T01:04:04.037Z
2016-09-07T02:01:42.850Z
2016-09-07T02:01:42.850Z
Coup de Grace
<p>As suggested you can run your own node , and run a service like abe to index transactions. You could also run copay wallet along with the node. Though this is not recommended as it would take lot of time and would consume lot of resources(150 GB HDD/ 4 GB RAM).</p>

<p>You could also try <a href="https://www.blockonomics.co/blockonomics" rel="nofollow">blockonomics - wallet watcher</a> . They are optimized for checking balance of large number of addresses at once. The free plan is restricted to 50 address, you can easily upgrade to upto 1000 addresses. Their <a href="https://www.blockonomics.co/views/api.html" rel="nofollow">API</a> can be used to add/delete addressees.</p>

CC BY-SA 3.0
2016-02-29T05:36:00.247Z
2016-02-29T05:36:00.247Z
dark knight
<p>You could craft the query as an HTML POST or GET message sent to a blockchain-explorer's website and parse the output received.</p>

CC BY-SA 3.0
2016-02-29T04:56:15.133Z
Doesn't it again calling a third-party website blockchain.info??
Karthik Malla
CC BY-SA 3.0
2016-03-02T16:50:16.657Z
It would be calling a third party website but avoid using APIs
cbinrva
CC BY-SA 3.0
2016-08-08T15:53:01.623Z
yes, like this: https://blockchain.info/address/12sENwECeRSmTeDwyLNqwh47JistZqFmW8?format=json
Gianluca Ghettini
CC BY-SA 3.0
2016-02-28T15:31:52.713Z
2016-02-28T15:31:52.713Z
cbinrva
<p>I am building an application and that will involve large set of bitcoin wallets and need to keep on checking for balance. I don't want to use any third party APIs as they all have hourly/secondly limits.</p>

<p>Is there any way I can check bitcoin wallets balance without any API? I am not sure is <code>Bitcoin Demon</code> and <code>Bitcoin Core</code> is for this purpose. Can anyone please suggest me the best way to verify bitcoin balances and transactions without any limits.</p>

<transactions><api><balance>
How to check Bitcoin wallet balance without any API
Karthik Malla
# How to check Bitcoin wallet balance without any API

(Asked by: username_0 on 2016-02-28)

I am building an application and that will involve large set of bitcoin wallets and need to keep on checking for balance. I don't want to use any third party APIs as they all have hourly/secondly limits.

Is there any way I can check bitcoin wallets balance without any API? I am not sure is `Bitcoin Demon` and `Bitcoin Core` is for this purpose. Can anyone please suggest me the best way to verify bitcoin balances and transactions without any limits.

**Tags:** transactions, api, balance


---

## 4 answers

### Answer by username_1 on 2016-02-28. Score: 8

If you are not going to use a 3rd party API, you'll need to run a node and add each address you want to query as a watch only address. If you are looking to create a database with all addresses, similar to a block explorer website, you'll need to parse the blockchain using something like [abe](https://github.com/bitcoin-abe/bitcoin-abe), and then continually update your database for each new transaction. There's also the painful approach of turning on `txindex=1` in your bitcoin.conf, and then going through every single block since genesis, that checks all txs outputs and then keeps a record of all addresses and transactions.


---

### Answer by username_2 on 2016-09-07. Score: 2

This actually might be harder than it seems.

The blockchain does not store addresses and their corresponding balances. The blockchain stores transactions. So if someone were to look for the final balance of an address, he/she would have to iterate through every transaction(inputs/outputs) that a particular address was involved in starting from the beggining of the blockchain and calculate the final balance for that address.


---

### Answer by username_3 on 2016-02-29. Score: 1

As suggested you can run your own node , and run a service like abe to index transactions. You could also run copay wallet along with the node. Though this is not recommended as it would take lot of time and would consume lot of resources(150 GB HDD/ 4 GB RAM).

You could also try [blockonomics - wallet watcher](https://www.blockonomics.co/blockonomics) . They are optimized for checking balance of large number of addresses at once. The free plan is restricted to 50 address, you can easily upgrade to upto 1000 addresses. Their [API](https://www.blockonomics.co/views/api.html) can be used to add/delete addressees.


---

### Answer by username_4 on 2016-02-28. Score: 1

You could craft the query as an HTML POST or GET message sent to a blockchain-explorer's website and parse the output received.

> **Comments:**
> **username_0**: Doesn't it again calling a third-party website blockchain.info??  
> **username_4**: It would be calling a third party website but avoid using APIs  
> **username_5**: yes, like this: https://blockchain.info/address/12sENwECeRSmTeDwyLNqwh47JistZqFmW8?format=json  

---

