A Bitcoin wallet is a collection of private keys but may also refer to client software used to manage those keys and to make transactions on the Bitcoin network.

This page covers various wallet formats in use.

Bitcoin Core

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

It contains:

  • 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" (2.1).

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

Armory

The Armory client uses a custom Deterministic wallet format described here and runs on top of Bitcoin Core.

?Blockchain.info

Blockchain.info offers a ?hybrid eWallet called "My Wallet". It use a plain text JSON wallet format. Private keys Keys are stored in base58.

Multibit

Multibit HD (the current version) uses a BIP 0032 (type 2) Deterministic wallet with the format described here. The "Classic" version used the bitcoinj protobuf wallet file.

See Also

References

2.1: Multiple instance of bitcoin with the same wallet