Say for an exchange that manages thousands of users, and each transaction needs a new receiving address, how much space would thier wallet(s) take.

I am assuming 100000 users and each user would have about 10000 transactions, so there are about 10^9 keys to be stored. For safety, we would say there are 10^10 keys max that may be stored.

All I need to know is the size of one key stored in the wallet.

  • It will depend on which client (and version) you are referring to. The Bitcoin.org client will at some point (likely soon) be changing from wallet.dat (BDB) to some other storage method, which will impact the size of storage. Commented Nov 7, 2012 at 17:46
  • With the current Bitcoin.org client, you'll run into performance issues with a wallet that has many thousands of addresses long before storage space begins to be a concern. That will be getting addressed with changes to the wallet database. Commented Nov 7, 2012 at 17:48

1 Answer 1


The bitcoinj private keys are 32 bytes long. You would also want some sort of indexing around them so that you could access them efficiently.

If you used a deterministic wallet you would only need one seed and a chain code per customer and generate the addresses as required. I think they are typically 32 or 64 bytes long.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.