From Bitcoin Wiki
Revision as of 20:38, 6 April 2016 by JonathanCross (talk | contribs) (Bitcoin Qt: Improving the "bitkeys" format link, changing header to Bitcoin Core, simplifying body.)
Jump to: navigation, search

A Bitcoin wallet is a piece of software used to manage private keys and to make transactions on the Bitcoin network. Wallets may offer additional features such as address labels, contacts, signing messages, etc.

Bitcoin Core

The original Bitcoin client stores private key information in a file named wallet.dat following the so called "bitkeys" format:

  • keypairs for each of your addresses
  • transactions done from/to your addresses
  • user preferences
  • default key
  • reserve keys
  • accounts
  • a version number
  • Key pool
  • Since 0.3.21: information about the current best chain, to be able to rescan automatically when restoring from a backup.

The wallet.dat file is located in the Bitcoin data directory.

It is intended that a wallet file be used on only one installation of Bitcoin at a time. Attempting to clone a wallet file for use on multiple computers will result in "weird behavior"[1].

The format of this file is Berkeley DB. Tools that can manipulate wallet files include pywallet.


The Armory client uses a custom binary wallet format and runs on top of Bitcoin-Core[2].


Blockchain.info use a plain text JSON wallet format documented here. Private keys Keys are stored in base58.


Cubits.com has both cold and hot wallet, with all user's funds stored securely in the cold wallet.


Multibit uses the bitcoinj protobuf wallet file.

See Also