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.
- keypairs for each of your addresses
- transactions done from/to your addresses
- user preferences
- default key
- reserve keys
- 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".
The format of this file is Berkeley DB. Tools that can manipulate wallet files include pywallet.
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.