I'm using the standard commandline client (under OSX, in case this matters).

I've read in some threads that it is smart enough to pregenerate 100+ addresses to be used in future when you ask them, so that if you backup an earlier wallet, the future private keys are not lost.

This would be cool, but how do I check it is really true?

Every time I "get a new address", it seemed to me it took enough time to suspect it was generating it on the fly, not using it from a pregenerated pool. Maybe it was slow for other reasons, though, and that's why I'd like to check somehow.

3 Answers 3


you can check by directly exploring the content of your wallet.dat file, which is a bdb database. there are various tools for exploring the wallet, one of which is gavin's bitcointools: https://github.com/gavinandresen/bitcointools

Another exporter is pywallet.py.


Clicking "generate new address" takes a time, because after returning one fresh address form the pregenerated pool, an actual new one is generated to refill the pool with.

  • True, lol, I should have realised that!
    – o0'.
    Commented Jan 28, 2012 at 10:06

This would be cool, but how do I check it is really true?

I haven't tried this:

Backup your wallet.dat and generate a new receiving address. Then delete wallet.dat and restore from the backup. Now generate a "new" receiving address. It should be the same one as the first one.


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.