A Bitcoin wallet is a file that contains a collection of private keys.
The original Bitcoin client wallet file is named wallet.dat and contains:
- 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 data file for the wallet is wallet.dat and is located in the Bitcoin data directory.
It is intended that a wallet be used on only one installation of Bitcoin at a time. Attempting to clone a wallet 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.
The Armory client uses a custom binary wallet format.
Blockchain.info use a plain text JSON wallet format documented here. Private keys Keys are stored in base58.
Coinkite is the only web wallet using "HD Wallet (BIP32)" technology, which can be shared partially or entirely with different systems, each with or without the ability to spend coins here. Private keys Keys are sent to you encrypted with AES-256-CBC.
Multibit uses the bitcoinj protobuf wallet file.
Bitcoin Wallet uses the bitcoinj protobuf format for its wallet file. However, due to Android isolation of applications, it is impossible to access the wallet file as a non-root user.