Invoice address

From Bitcoin Wiki
Revision as of 17:34, 22 November 2011 by Casascius (talk | contribs) (Addresses can be created offline)
Jump to: navigation, search

A Bitcoin address, or simply address, is an identifier of approximately 33 alphanumeric characters, always beginning with the number 1, that represents a possible destination for a Bitcoin payment. Addresses can be generated at no cost by any user of Bitcoin. For example, using the Bitcoin software, one can click "Get Address" and be assigned an address. An example of a Bitcoin address is 175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W.

A Bitcoin address is like an e-mail address

Like e-mail, you can send Bitcoins to a person by sending Bitcoins to their address. Somewhat unlike e-mail, one person can, and is encouraged, to have an unlimited number of different Bitcoin addresses. It is recommended that you use a unique address for each transaction. Most Bitcoin software and websites will help with this, by generating a brand new address each time you perform a transaction, or will provide a button you can click for a new one.

When using a web site that accepts Bitcoins or holds Bitcoin balances on your behalf, that website will create and assign temporary Bitcoin addresses to you so you can transfer funds into the site. The temporary addresses might change each time funds come in, but the old addresses usually remain valid. When you send Bitcoins to such a temporary address, they will usually be credited to your account at that web site within an hour (depending on the site's policy).

Addresses can be created offline

Creating addresses can be done without any Internet connection or contact with the Bitcoin network. Creating addresses does not consume any resources on the network - the network only knows about an address when it is first used in a transaction. Because addresses can be created so easily and at no cost, it is trivial to create temporary "throwaway" addresses that can be discarded if never needed.

It is also possible to create large batches of addresses offline, using other 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.

Addresses are case sensitive and exact

Bitcoin addresses are case-sensitive. Typically, Bitcoin addresses should be copied and pasted using the computer's clipboard wherever possible. If a Bitcoin address is hand-keyed, and each character is not transcribed exactly - including capitalization - the incorrect address will typically be rejected.

Each address has a "private key"

For every visible address, there is a corresponding secret number known as a private key. When using a Bitcoin client, private key numbers are typically stored in the wallet file. The private key has a special purpose - it is mathematically needed to create transactions acceptable to the Bitcoin network that respend the funds originally sent to the address. If the private key to an address is lost (for example, in a hard drive crash and the user didn't have backups of the wallet file), any associated Bitcoins are lost forever.

What's in an address

Most Bitcoin addresses are 33 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 always avoided. Bitcoin adheres to a rule of always using the number "1" as the first character - this allows visual discrimination from other types of random character strings that might look like Bitcoin addresses - such as private keys which start with "5", or coins from Bitcoin's testnet (which typically start with "m"), or coins from other cryptocurrency systems derived from Bitcoin's source code (which are not compatible with Bitcoin).

Some Bitcoin addresses can be shorter than 33 characters. A significant percentage of Bitcoin addresses are only 32 characters - these are completely valid. Every Bitcoin address stands for a number - somewhat like an account 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 typos can be automatically detected and rejected.

See also: Technical background of Bitcoin addresses