Current standards for message signatures are only compatible with "version zero" bitcoin addresses (that begin with the number 1).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.Newer "HD wallets" can generate a "seed" 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. 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. The probability that a mistyped address is accepted as being valid is 1 in 2, that is, approximately 1 in 4.29 billion.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.
It is also possible to get a Bitcoin address using an account at an exchange or online wallet service.
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.
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.