A Bitcoin wallet is a file that contains a collection of private keys.
- 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.
Blockchain.info use a plain text JSON wallet format documented here. Private keys Keys are stored in base58.
Multibit uses the bitcoinj protobuf wallet file.