Frequently Asked Questions

This site allows you to explore the entire Bitcoin private keys keyspace and discover addresses with balances.

Bitcoin is a decentralized digital crypto-currency that enables instant payments to anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate with no central authority: transaction management and money issuance are carried out collectively by the network.

A private key in the context of Bitcoin is a secret number that allows bitcoins to be spent. Every Bitcoin wallet contains one or more private keys, which are saved in the wallet file. The private keys are mathematically related to all Bitcoin addresses generated for the wallet. Because the private key is the "ticket" that allows someone to spend bitcoins, it is important that these are kept secret and safe. Private keys can be kept on computer files, but are also often written on paper.

In Bitcoin, a private key is a 256-bit number between 1 and 115792089237316195423570985008687907852837564279074904382605163141518161494336 or in hexadecimal from 0000000000000000000000000000000000000000000000000000000000000001 to FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140.

The range of valid private keys is governed by the secp256k1 ECDSA standard used by Bitcoin.

No, it is not possible. Since there are a huge number of private keys (nearly 1077) we just generate a range of these keys on the fly from a page number in the URL.

A public key is a number that corresponds to a private key, but does not need to be kept secret. A public key can be calculated from a private key, but not vice versa. A public key can be used to determine if a signature is genuine (in other words, produced with the proper key) without requiring the private key to be divulged. In Bitcoin, public keys are either compressed or uncompressed. Compressed public keys are 33 bytes, consisting of a prefix either 0x02 or 0x03, and a 256-bit integer called x. The older uncompressed keys are 65 bytes, consisting of constant prefix (0x04), followed by two 256-bit integers called x and y (2 * 32 bytes). The prefix of a compressed key allows for the y value to be derived from the x value.

A Bitcoin address is a unique identifier used to receive and send Bitcoin. It is a string of alphanumeric characters that typically begins with a "1" or "3" and is generated using cryptographic techniques. Bitcoin addresses are generated from the corresponding private keys, which are used to sign transactions and prove ownership of the associated Bitcoin. When someone wants to send Bitcoin to another person or entity, they need to know the recipient's Bitcoin address to specify where the funds should be sent. Similarly, when someone wants to receive Bitcoin, they provide their Bitcoin address to the sender, who can then initiate the transaction to that address.

Technically Bitcoin address is a BASE-58 encoding of RIPEMD-160 hash derived from a public key. There are 2160 (nearly 1048) Bitcoin addresses.

No, it is not possible. While a Bitcoin address is just a hash of the public key, it is not feasible to reverse this process to obtain the private key.

WIF is an abbreviation of Wallet Import Format (also known as Wallet Export Format) and is a way of encoding a private key to make it shorter and easier to copy.

Every single private key can be represented as two different WIF private keys: compressed and uncompressed. A compressed WIF private key starts with "K" or "L" and corresponds to a compressed public key/address. An uncompressed WIF key starts with "5" and corresponds to an uncompressed public key/address.

A brainwallet is the concept of storing Bitcoins in one's own mind by memorizing a recovery passphrase. An early old-style brainwallet was created by memorization of a passphrase and converting it to a private key with a hashing or key derivation algorithm (example: SHA-256). This method was found to be very insecure and should not be used because humans are not a good source of entropy.

Examples of famous brainwallets:

  • bitcoin is awesome (501 BTC)
  • how much wood could a woodchuck chuck if a woodchuck could chuck wood (500 BTC)
  • correct horse battery staple (37 BTC)

The mini private key format is a method of encoding a Bitcoin private key in as few as 30 characters for the purpose of being embedded in a small space. A private key encoded in this format is called a minikey. This private key format was designed for and first used in Casascius physical bitcoins, and is also favorable for use in QR codes. The mini private key format offers its own built-in check code as a small margin of protection against typos.

There are multiple vectors to find a private key with associated balance:

  • Solving crypto puzzles
  • Brute-forcing brainwallets
  • Searching for leaked paper wallets, QR codes or private keys (in the form of images or plain text)
  • Searching for leaked Bitcoin wallet.dat files or backup passphrases (mnemonics)
  • Browsing through our directory or random private keys (although this method is not effective)

The following tools can be used to find or recover private keys:

See also: Overview of key cracking tools

One Bitcoin private key guessing odds

The original Bitcoin client stores private key information in a file named wallet.dat following the so called "bitkeys" format. The wallet.dat file contains your private keys, public keys, scripts (which correspond to addresses), key metadata (e.g. labels), and the transactions related to your wallet. If you have an HD wallet, it also includes the HD seed and the derivation paths for each private key.

The wallet.dat file is located in the Bitcoin data directory and may be encrypted with a password. The format of this file is Berkeley DB. Tools that can manipulate wallet files include pywallet.

The wallet.dat file is located in the Bitcoin Core data directory, the location of which varies depending on your operating system:

  • Windows: C:\Users\YourUserName\Appdata\Roaming\Bitcoin
  • Mac: ~/Library/Application Support/Bitcoin
  • Linux: ~/.bitcoin