From Bitcoin Wiki
Revision as of 13:53, 8 April 2016 by JonathanCross (talk | contribs) (Clarifying page is about wallet formats. Also replacing ancient "Finding a Wallet" link and updating others. Removing Cubits which doesn't have documented format.)
Jump to: navigation, search

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"[1].

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


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


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 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