A Bitcoin address, or simply address, is an identifier of 26-35 alphanumeric characters, beginning with the number 1 , 3 or bc1 that represents a possible destination for a bitcoin payment. Addresses can be generated at no cost by any user of Bitcoin. For example, using Bitcoin Core, one can click "New Address" and be assigned an address. It is also possible to get a Bitcoin address using an account at an exchange or online wallet service.

There are currently three address formats in use:

  1. P2PKH which begin with the number 1 , eg: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 .
  2. P2SH type starting with the number 3 , eg: 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy .
  3. Bech32 type starting with bc1 , eg: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq .

A Bitcoin address is a single-use token

Like e-mail addresses, you can send bitcoins to a person by sending bitcoins to one of their addresses. However, unlike e-mail addresses, people have many different Bitcoin addresses and a unique address should be used for each transaction. Most Bitcoin software and websites will help with this by generating a brand new address each time you create an invoice or payment request.

Addresses can be created offline

Creating addresses can be done without an Internet connection and does not require any contact or registration with the Bitcoin network. It is possible to create large batches of addresses offline using freely available software tools. Generating batches of addresses is useful in several scenarios, such as e-commerce websites where a unique pre-generated address is dispensed to each customer who chooses a "pay with Bitcoin" option. Newer "HD wallets" can generate a "master public key" token which can be used to allow untrusted systems (such as webservers) to generate an unlimited number of addresses without the ability to spend the bitcoins received.

Addresses are often case sensitive and exact

Old-style Bitcoin addresses are case-sensitive. Bitcoin addresses should be copied and pasted using the computer’s clipboard wherever possible. If you hand-key a Bitcoin address, and each character is not transcribed exactly – including capitalization – the incorrect address will most likely be rejected by the Bitcoin software. You will have to check your entry and try again.

The probability that a mistyped address is accepted as being valid is 1 in 2 32 , that is, approximately 1 in 4.29 billion.

New-style bech32 addresses are case insensitive.

Proving you receive with an address

Most Bitcoin wallets have a function to "sign" a message, proving the entity receiving funds with an address has agreed to the message. This can be used to, for example, finalise a contract in a cryptographically provable way prior to making payment for it.

Some services will also piggy-back on this capability by dedicating a specific address for authentication only, in which case the address should never be used for actual Bitcoin transactions. When you login to or use their service, you will provide a signature proving you are the same person with the pre-negotiated address.

It is important to note that these signatures only prove one receives with an address. Since Bitcoin transactions do not have a "from" address, you cannot prove you are the sender of funds.

Current standards for message signatures are only compatible with "version zero" bitcoin addresses (that begin with the number 1).

Address validation

If you would like to validate a Bitcoin address in an application, it is advisable to use a method from this thread rather than to just check for string length, allowed characters, or that the address starts with a 1 or 3. Validation may also be done using open source code available in various languages or with an online validating tool.

Multi-signature addresses

Addresses can be created that require a combination of multiple private keys. Since these take advantage of newer features, they begin with the newer prefix of 3 instead of the older 1. These can be thought of as the equivalent of writing a check to two parties – "pay to the order of somebody AND somebody else" – where both parties must endorse the check in order to receive the funds.

The actual requirement (number of private keys needed, their corresponding public keys, etc.) that must be satisfied to spend the funds is decided in advance by the person generating this type of address, and once an address is created, the requirement cannot be changed without generating a new address.

What’s in an address

Most Bitcoin addresses are 34 characters. They consist of random digits and uppercase and lowercase letters, with the exception that the uppercase letter "O", uppercase letter "I", lowercase letter "l", and the number "0" are never used to prevent visual ambiguity.

Some Bitcoin addresses can be shorter than 34 characters (as few as 26) and still be valid. A significant percentage of Bitcoin addresses are only 33 characters, and some addresses may be even shorter. Every Bitcoin address stands for a number. These shorter addresses are valid simply because they stand for numbers that happen to start with zeroes, and when the zeroes are omitted, the encoded address gets shorter.

Several of the characters inside a Bitcoin address are used as a checksum so that typographical errors can be automatically found and rejected. The checksum also allows Bitcoin software to confirm that a 33-character (or shorter) address is in fact valid and isn’t simply an address with a missing character.

Addresses on the Bitcoin Testnet are generated with a different address version, which results in a different prefix. See List of address prefixes and Testnet for more details.

Misconceptions

Address reuse

Addresses are not intended to be used more than once, and doing so has numerous problems associated. See the dedicated article on address reuse for more details.

Address balances

Addresses are not wallets nor accounts, and do not carry balances. They only receive funds, and you do not send "from" an address at any time. Various confusing services and software display bitcoins received with an address, minus bitcoins sent in random unrelated transactions as an "address balance", but this number is not meaningful: it does not imply the recipient of the bitcoins sent to the address has spent them, nor that they still have the bitcoins received.

An example of bitcoin loss resulting from this misunderstanding is when people believed their address contained 3btc. They spent 0.5btc and believed the address now contained 2.5btc when actually it contained zero. The remaining 2.5btc was transferred to a change address which was not backed up and therefore lost. This has happened on a few occasions to users of Paper wallets.

"From" addresses

Bitcoin transactions do not have any kind of origin-, source- or "from" address. See the dedicated article on "from address" for more details.

Random Bitcoin address generation

A Bitcoin address, or simply address, is an identifier of 27-34 alphanumeric characters, beginning with the number 1 or 3, that represents a possible destination for a Bitcoin payment.

Is any random address I create following the above rules going to be an address I can sucesfully send Bitcoin to?

For example if I randomly generate these addresses:

  • 1AAAAAAAAAAAAAAAAAAAAAAAAAA
  • 3111111111111111111111111111111111
  • 2FWIOHFEWNFEOWEFHO34234242244EFDE

Are these all valid addresses I can always send Bitcoin payments to? Or do they have to already ‘exist’ in some capacity?

2 Answers 2

Addresses are randomly generated starting from a private key. The private key is the only truly random value in a whole chain of interesting values. These values are then mathematically derived from the private key. On the other end of the chain of values is the address.

Now if you could simply pick an address and recover the private key that, when passing it through the address derivation mechanism, gives you that address we would be in a lot of trouble. People could simply listen to transactions on the network, extract the receiving address, reconstruct the private key and spend the funds, even if they were not the intended recipient. So at this point it should be clear that simply picking an address and go ahead from there is not possible, in other words some of the functions in the chain are non-reversible.

So starting from the private key, we construct a public key. Already this first step is non-reversible, otherwise public-key cryptosystems would stop working. It should be computationally unfeasible to recover the private key from the public key. Bitcoin further goes ahead and hashes the public key twice. This step is non-reversible as well.

The first character of the address depends on the address version and may not be freely chosen. Then there is the matter of the Base58 encoding, which unlike the other mechanisms is reversible.

Finally the last few characters in the address are a checksum which is again calculated as a double hash of the already hashed public key. So for these last characters there is simply no way of "choosing" them so that the address looks a certain way.

How can I quite simply generate a Litecoin vanity public address (personalized address) ?

I will tip 1 LTC for best answer.

Vanitygen is really the only way to generate a vanity address. You will quickly findout that if you want more than 4 or 5 characters it will take a long time to generate (because of course it is just generating random addresses till it happens to find one that fits your pattern). darrenturn90 gave the right link, and a good example command.

-X 48 is necessary for litecoin

Keep in mind that some characters are not allowed in the address (because they should be easily distinguishable). So for example some I have done are:

LiTeCoin (takes me about a week of CPU time for each address I generate) LaJent LiJent LXjentX

So just replace the example command from darrenturn90 ‘Li’ with the prefix you want for your vanity address.

I have considered selling vanity addresses, but I am guessing no one would trust to me enough to buy one (since I of course would be generating the private key). So I have never done so.

Random litecoin address

Public Address (SHARE):

Private Key (SECRET):

Hide Private Key

Brainwallet.io is a deterministic cryptocurrency address generator for Bitcoin and Litecoin that runs in your web browser. It converts any text or file into a private key and public address, allowing you to store cryptocurrency on paper, in a password manager, within a photograph or document, or in your brain by memorizing the passphrase and salts. Key generation takes place in your browser, and no information is ever sent to our server.

Disclaimer: Use at your own risk. Brainwallets can be dangerous if you don’t know what you are doing. You must use a strong passphrase and take security precautions to prevent loss or theft. By using brainwallet.io, you are agreeing to our Terms of Service (below).

Use a long, unique passphrase that is never used in any song, literature, or media. If you use a weak passphrase, you are at risk of having your money stolen. We recommend a minimum of 8 random words. Click the "random" button to have a secure 12-word passphrase generated for you. If you forget your passphrase, your cryptocurrency will be lost forever, so please write down your passphrase and salts.

Your salts are used as additional inputs to the cryptographic function that generates your brainwallet. This information never gets sent or stored anywhere, and is only used to strengthen your passphrase. You are required to enter at least one salt, and you have the ability to choose between different types of salts. There is no recovery process, so don’t forget what you enter.

Instead of typing a passphrase, you can use any file as your passphrase by selecting a file, or by dragging the file to the passphrase field. Your browser performs an SHA256 hash operation on the file to derive a checksum, which is used as your passphrase. The file hashing takes place in your browser, and the file is never uploaded. It’s important to never use a file that exists on the internet, and to keep it stored securely. We recommend using a photograph that you have taken.

Note: If you have difficulty recovering your brainwallet using the file hashing functionality, please try this older version, which generated non-standard checksums with some file formats. This has been corrected in the current version.

Brainwallet.io uses the scrypt key derivation function to generate cryptocurrency keys. Your salt inputs are concatenated and used as the salt for the scrypt function.

The process is as follows (pseudocode):

  • key = scrypt(passphrase, salt, N=2 18 , r=8, p=1, dkLen=32)
  • keypair = generate_keypair(sha256(key))
    Scrypt is a memory-intensive function that is deliberately slow to frustrate brute-force attacks. Performance may vary depending on your hardware, and in some cases may not work at all. If you run into problems, try a different web browser or a newer computer. We can’t sacrifice security for legacy support.
  • Brainwallet.io is a self-contained website that can be run offline. We recommend that you download the latest HTML file from GitHub, verify file integrity (checksum) with the PGP-signed changelog, and run it on an offline computer. Keep a copy of the HTML file that you used to generate your brainwallet with for safekeeping.

    Terms of Service

    These Terms of Service (“Terms”) govern your access to and use of brainwallet.io (“Service”), and any information, text, links, graphics, photos, videos, or other materials uploaded, downloaded or appearing on the Service (collectively referred to as “Content”). By using the Service you agree to be bound by these Terms.

    You are responsible for your use of this Service and for any Content you provide, including compliance with applicable laws, rules, and regulations. Your access to and use of the Service or any Content are at your own risk. You understand and agree that the Service is provided to you on an “AS IS” and “AS AVAILABLE” basis.

    In no event shall brainwallet.io be held liable for anything arising out of or in any way connected with your use of this Service whether such liability is under contract. Brainwallet.io shall not be held liable for any indirect, consequential or special liability arising out of or in any way related to your use of this Service.

    Brainwallet.io is not responsible for any losses in cryptocurrency that you may incur for any reason.

    We reserve the right to modify or terminate the Service for any reason, without notice at any time. We reserve the right to alter these Terms at any time.

    PGP key
    EB6E BB0A 6C1B 762F B282
    A38A DE5F 7DB2 1B0B 3CCA

    Donate BTC: 1G65KRrVxRw4FM8bHuiBia2CqChTeEHWuS
    Donate LTC: LYPwR2yRumYUYGgJkU7xhhy1FWCmUzeS33

    Bitcoin, Ethereum, Litecoin and Ripple Private Key Database

    Your private secret key and address is in this database can you find it?

    You just read that right somewhere within this database is your private key and address!

    Did you know that there are over 4 million Bitcoin’s that have been lost to people that have lost their private key, perhaps you will find one of those keys on here and unlock some lost Bitcoin’s.

    Just by luck by browsing through this database you may find a crypto wallet with something in it perhaps you could find the Private key to Bitcoin’s Genesis Address the very first bitcoin address, which is home to the first bitcoin ever mined from the genesis block. It is assumed to be owned by Satoshi Nakamoto the founder of Bitcoin, although the btc has never been moved. The Genesis Address account has a current balance of 66 BTC.

    This Bitcoin Key checker is Running in Auto Mode. If the checker finds anything it will store them in your Key Basket for you.

    Bitcoin Auto Mode Options
    We created some simple auto modes that will allow you to browse the Bitcoin Key pages automatically.

    • Bitcoin Random Formula generates a random set of keys based off our secret formula.
    • Bitcoin Random Page generates a set of keys based of the page number.
    • Bitcoin Page Ascending runs in ascending order from this page to the last page.
    • Bitcoin Page Descending runs in descending order from this page to the first page.

    If the Bitcoin checker finds anything whilst using any modes it will store it in your Key Basket for you.

    Bitcoin Private Keys

    Our Bitcoin balance checker is powered by Blockchain.info, try running the Bitcoin checker in Auto Mode.

    Ethereum Private Keys

    Our Ethereum balance checker is powered by Etherscan.io, try running the Ethereum checker in Auto Mode

    This Ethereum Key checker is Running in Auto Mode. If the checker finds anything it will store them in your Key Basket for you.

    Ethereum Auto Mode Options
    We created some simple auto modes that will allow you to browse the Ethereum Key pages automatically.

    • Ethereum Random Formula generates a random set of keys based off our secret formula.
    • Ethereum Random Page generates a set of keys based of the page number.
    • Ethereum Page Ascending runs in ascending order from this page to the last page.
    • Ethereum Page Descending runs in descending order from this page to the first page.

    If the Ethereum checker finds anything whilst using any modes it will store it in your Key Basket for you.

    Litecoin Private Keys

    Our Litecoin balance checker is powered by Awesomeness, try running the Litecoin checker in Auto Mode

    This Litecoin Key checker is Running in Auto Mode. If the checker finds anything it will store them in your Key Basket for you.

    Litecoin Auto Mode Options
    **Please Note** Our checks for Litecoin run slower beacuse of the API we use to check the data sorry. We are working on making it faster.

    We created some simple auto modes that will allow you to browse the Litecoin Key pages automatically.

    • Litecoin Random Formula generates a random set of keys based off our secret formula.
    • Litecoin Random Page generates a set of keys based of the page number.
    • Litecoin Page Ascending runs in ascending order from this page to the last page.
    • Litecoin Page Descending runs in descending order from this page to the first page.

    If the Litecoin checker finds anything whilst using any modes it will store it in your Key Basket for you.

    Ripple Secret Keys

    Our Ripple balance checker is powered by Love, try running the Ripple checker in Auto Mode

    This Ripple Key checker is Running in Auto Mode. If the checker finds anything it will store them in your Key Basket for you.

    Ripple Auto Mode Options
    We created some simple auto modes that will allow you to browse the Ripple Key pages automatically.

    • Ripple Random Formula generates a random set of keys based off our secret formula.
    • Ripple Random Page generates a set of keys based of the page number.
    • Ripple Page Ascending runs in ascending order from this page to the last page.
    • Ripple Page Descending runs in descending order from this page to the first page.

    If the Ripple checker finds anything whilst using any modes it will store it in your Key Basket for you.