Glossary / Addresses & keys
Bitcoin address
Also known as Address.
- Definition
- A bitcoin address is a short encoded string that tells a sender's wallet which locking condition to put on the coins, so only your keys can later spend them.
An address is not an account and holds no balance; it is a destination format that encodes a script. Bitcoin has four in common use, from the legacy strings that begin with 1 to the Taproot strings that begin with bc1p, which became spendable at block 709,632 on November 14, 2021. Which one your wallet hands out changes the fee you pay to spend and the privacy you keep.
How it works
Every payment creates an output, and every output carries a script setting out what a future spender must supply. An address is that script in a form a human can transfer over a chat window or a QR code. Your wallet takes a key you control, works out the script that locks coins to it, and encodes the result together with a checksum, so a mistyped character produces an error instead of quietly sending money nowhere.
Two encodings are in circulation. Strings beginning with 1 or 3 use Base58Check, an older format with a short checksum appended and an alphabet chosen to avoid look-alike characters. Strings beginning with bc1 use bech32 from BIP-173, or bech32m from BIP-350 for Taproot. Both bech32 variants detect up to four wrong characters and can point at where the mistake is, and both are case insensitive, which lets a wallet render them as a smaller, more reliably scanned QR code.
A balance is not stored at an address. It is the sum of the unspent outputs a wallet can find that are locked to addresses it knows how to derive. A modern wallet derives those in the thousands from a single seed, which is why the receive screen offers you a fresh address every time you open it.
Why this matters when you buy bitcoin
The first address most people ever use is the one they paste into an exchange withdrawal form, and that is the step with the most ways to go wrong.
Copy the address out of your wallet and confirm it on the wallet's own screen rather than the browser's. Clipboard malware replaces a copied address with an attacker's, and the swap is invisible unless you compare the characters. A hardware wallet's display is the defence here: it shows the address the device actually derived, and the computer cannot edit what appears on it.
Send a small test amount first whenever a destination is new, then send the rest. Most exchanges charge a flat bitcoin withdrawal fee per transaction, so splitting one withdrawal into two costs the fee twice. On a large transfer that is cheap insurance; on a small one it may swallow more than it protects.
Prefer bech32 when the platform supports it. Spending a native SegWit input takes roughly 68 vbytes against roughly 148 vbytes for a legacy input, so at 20 sat/vB the same spend costs about 1,360 satoshis instead of 2,960. You pay that difference later, when the coins move, which is why a choice made at withdrawal time still matters months afterward. Some platforms lag behind: if a withdrawal form refuses a bc1p string, it has not added Taproot support, and a bc1q address is the fallback.
Then use each address once. Exchanges, chain analysis firms, and everyone you have ever paid can see every transaction that touches an address, so reusing one ties your purchases together permanently.
The four address types you will actually meet
Four address formats cover essentially every payment made today, and each one tells you something about the wallet that produced it.
- 1... (P2PKH, legacy). Base58Check, in use since the first release in 2009. Accepted everywhere, and the most expensive type to spend from.
- 3... (P2SH). Base58Check. Created for multisig, and now most often a wrapped SegWit address, which is what an exchange usually means by "SegWit compatible".
- bc1q... (P2WPKH, native SegWit). Bech32, 42 characters, available since SegWit activated at block 481,824 on August 24, 2017. The default in most current wallets.
- bc1p... (P2TR, Taproot). Bech32m, 62 characters, live since block 709,632. Cheapest for complex spending conditions, and the format behind Schnorr signatures and multisig that looks like an ordinary single-key payment.
Reading the prefix is a quick sanity check: 1 and 3 belong to the old world, bc1q is witness version 0, bc1p is witness version 1. Test networks use tb1 instead, so anything starting with tb will never work with real coins.
Bitcoin address vs public key
A bitcoin address is not a public key, although the two are related. A public key is a point on the secp256k1 curve derived from your private key, while an address is an encoded script, and for the older types that script contains a hash of the public key rather than the key itself. The practical consequence is that publishing an address reveals nothing about the key behind it, and for legacy and SegWit version 0 outputs the key stays hidden until the first time you spend. Taproot altered that detail: a bc1p address embeds a 32-byte key directly.
Bitcoin address vs wallet
A bitcoin address is a single destination; a wallet is the software plus the secret behind thousands of them. Restoring a wallet from its seed phrase regenerates every address it has ever produced, which is why nobody backs up addresses individually. Losing an address is a non-event, since the coins sit in outputs the wallet can still locate. Losing the seed loses everything, including the coins parked at addresses you can still read on a block explorer.