<p>Benchmark it and see, although be aware that bitcoind has never been optimized for handling thousands of accounts with hundreds of thousands of transactions. In particular, calls like 'getbalance' get slower the more transactions that are in the wallet.</p>

<p>Happily, there are now other implementations that claim to be better at handling lots of accounts/wallets/transactions.</p>

CC BY-SA 3.0
2013-04-25T19:23:27.957Z
Would you be able to point me in the direction of any of those implementations? Thanks!
William King
CC BY-SA 3.0
2013-04-25T17:28:22.330Z
2013-04-25T17:28:22.330Z
gavinandresen
<p>I'm starting up a new bitcoin based commerce site and am wondering how many transactions per second the bitcoin JSON-RPC API can accept? A user can have an account balance in bitcoin and I was initially thinking of storing all transactions in a database and then querying that to determine their account balance, but after reading up on blockchain reorgs and whatnot decided against it. </p>

<p>So is it feasible to just use the bitcoin API directly, or should I implement some sort of caching/load balancing?</p>

CC BY-SA 3.0
2013-04-25T04:45:55.220Z
If you're building a web-based wallet, you should look at the software that blockchain.info has open-sourced. https://github.com/blockchain
Nick ODell
CC BY-SA 3.0
2013-04-25T06:03:32.660Z
Thanks I'll take a look! Any reason why I shouldn't just use the standard client that you can think of?
William King
CC BY-SA 3.0
2013-04-25T07:51:48.767Z
Is there something in particular that you are after which you could not work out yourself by running some benchmarking?  Things like this are usually very hardware-dependent so any answer provided here is likely to be inaccurate for your own needs.
jgm
<bitcoind><json-rpc>
bitcoind json-rpc requests per second
William King
# bitcoind json-rpc requests per second

(Asked by: username_0 on 2013-04-25)

I'm starting up a new bitcoin based commerce site and am wondering how many transactions per second the bitcoin JSON-RPC API can accept? A user can have an account balance in bitcoin and I was initially thinking of storing all transactions in a database and then querying that to determine their account balance, but after reading up on blockchain reorgs and whatnot decided against it.

So is it feasible to just use the bitcoin API directly, or should I implement some sort of caching/load balancing?

**Tags:** bitcoind, json-rpc

> **Comments:**
> **username_1**: If you're building a web-based wallet, you should look at the software that blockchain.info has open-sourced. https://github.com/blockchain  
> **username_0**: Thanks I'll take a look! Any reason why I shouldn't just use the standard client that you can think of?  
> **username_2**: Is there something in particular that you are after which you could not work out yourself by running some benchmarking?  Things like this are usually very hardware-dependent so any answer provided here is likely to be inaccurate for your own needs.  

---

## 1 answers

### Answer by username_3 on 2013-04-25. Score: 3 | Accepted answer

Benchmark it and see, although be aware that bitcoind has never been optimized for handling thousands of accounts with hundreds of thousands of transactions. In particular, calls like 'getbalance' get slower the more transactions that are in the wallet.

Happily, there are now other implementations that claim to be better at handling lots of accounts/wallets/transactions.

> **Comments:**
> **username_0**: Would you be able to point me in the direction of any of those implementations? Thanks!  

---

