What Is a Bitcoin Address and How Do You Create One?

By Kurt Wuckert Jr.

A Bitcoin address is a short string of letters and numbers that your wallet derives from a key, and the whole reason it exists is so that strangers can pay you without ever touching the thing that matters. Anyone holding the string can send coins to it. Only the person holding the matching private key can spend them. The address is not your wallet, it is not your key, and it is not even part of the protocol in the way most people assume: it is closer to an account number you print yourself, as many times as you like, for free.

That last part is where the confusion starts, so let's get the vocabulary straight before anyone pastes an Ethereum address into a Bitcoin wallet and wonders where the money went.

What a Bitcoin address looks like

Three real examples, all public record:

  • 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa is the address every block explorer shows for the first coins ever mined, the 50 bitcoin in the genesis block of January 3, 2009. It starts with a 1.

  • bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 is the published test address from BIP 173, the 2017 document that defined the bc1q format.

  • bc1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vqzk5jj0 is the published test address from BIP 350, the bc1p format that arrived with Taproot.

The strings are long enough that nobody sane types them, which is why every wallet shows a QR code and a copy button. And the first character or two tells you which family the address belongs to, and the family decides which lock is sitting behind the string.

The 1-style and 3-style addresses are case sensitive and never contain the characters 0, O, I or l, a deliberate choice so that a handwritten address cannot be misread. The bc1 family is not case sensitive at all, but it must be entirely lower case or entirely upper case, never mixed.

Address, wallet, key, seed: four words people mix up

So, is a Bitcoin address the same as a wallet?

No.

The wallet holds the keys and mints addresses from them, usually a fresh one for every payment. One wallet, a thousand addresses, zero cost! The private key is the thing you guard, the seed phrase is the thing you guard harder, and the address is the thing you give away.

The address types you will meet

On BTC there are four formats in circulation today, and every one of them is a different locking script dressed up as a string.

  1. Legacy, starts with 1. Pay-to-public-key-hash, the format Satoshi's own software produced. Base58 encoding, 26 to 35 characters.

  2. Script hash, starts with 3. Pay-to-script-hash, from BIP 13 in 2012. The address commits to a script (very often a multisignature script) instead of a single key. The version byte is 5, and 5 is what turns the leading character into a 3.

  3. Native SegWit, starts with bc1q. Bech32 encoding from BIP 173, 2017. Cheaper on BTC because the signature data is counted differently after SegWit.

  4. Taproot, starts with bc1p. Bech32m from BIP 350, 2020, for the Taproot outputs defined in BIP 341.

Four formats in eleven years, each one a new wrapper around the same old idea, because BTC kept changing what it wanted the lock to be!

On BSV the picture is simpler, because the protocol stopped moving. Addresses are the legacy 1-style format, the script-hash format was retired in the Genesis upgrade of February 2020, and the user-facing layer moved up a level to Paymail: a handle that looks like an email address (name@wallet.com) which the sender's wallet resolves to a fresh locking script at the moment of payment. The long string still exists under the hood. You just never have to look at it.

Can you send between address types? On BTC, yes. The address only describes the lock on the receiver's side, and any wallet that recognizes the format can build a payment to it. Across chains, no. An Ethereum address starts with 0x and belongs to a different system entirely, and a BTC bc1q address means nothing to a BSV node. Check the chain before you check the string!

How an address is made

  1. Draw the key. The wallet picks a random 256-bit number. That is the private key, and it never leaves the device.
  2. Derive the public key. Elliptic-curve math turns the private key into a public key. The step runs one way only; nobody gets the private key back out.
  3. Hash it down. The public key goes through SHA-256 and then RIPEMD-160, leaving 20 bytes.
  4. Prefix the version byte. This is the byte that decides the leading character: 1 for the legacy format, 3 for script hash.
  5. Append the checksum. Four bytes for the 1 and 3 styles, six characters for bc1.
  6. Encode as text. Base58 for the 1 and 3 styles, Bech32 or Bech32m for bc1, and out comes the string.

The checksum is the part that protects you. Change one character of a valid address and the checksum stops matching, so a wallet refuses it before a single satoshi moves. BIP 173 even publishes a deliberately broken address, bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t5, one character off the real one, as a test that every wallet must reject.

So a typo cannot send your coins into the void.

A correctly formed address you did not mean to use absolutely can, and the lookalike-address scam exists for exactly that reason: copy from your wallet, never retype, and compare the first and last four characters before you hit send. The hash function and the digital signature each get their own article in the deeper series.

How to create and find your address

In a wallet app: open it, tap Receive, and the app shows a QR code and the string. That is a brand new address, ready to use. Most wallets rotate to a fresh one after each payment, so the address you shared last week will differ from the one on screen today. The old one still works, and the coins paid to it are still yours. People search "how can I find my real Bitcoin address" as if the rest were counterfeits... Every address your wallet has ever shown you is real.

On an exchange or a payment app: look for Deposit, Receive or Get address, pick Bitcoin and, where the app asks, pick the network. The string the app shows is an address the exchange controls on your behalf, not one made from your keys. That is fine for a deposit and it is the whole argument for moving coins into your own wallet afterwards.

Where an app asks you to choose a network, the choice is the chain, and it has to match the sender's chain. A deposit sent on the wrong chain is not something the address can rescue.

What a block explorer shows for an address

Paste any address into a block explorer and you get its full history: every payment in, every payment out, the balance right now, and not one word about who owns it.

That is the entire privacy story of Bitcoin, and it is why reusing one address for years turns it into a public ledger of your income, why wallets hand out a new one every time, and why "is Bitcoin anonymous" gets the answer it gets. The coins themselves sit in unspent outputs locked to the address; the address is the label on the envelope, not the envelope.

Where addresses came from

The Bitcoin white paper never uses the word "address." Not once. It talks about keys and signatures, because that is what the system actually runs on. The first coins ever mined, in the genesis block, were locked to a raw public key with no address at all; the 1A1zP1eP... string that explorers display for that output is a label the explorer derives from the key after the fact, not something that sits in the block.

If you want the history of how the keys-and-signatures system got its first users, start with Part 1 of the Written History of Bitcoin, or read the white paper itself and count the addresses. You will find zero.

Frequently asked questions

How do I get my Bitcoin address?
Open your wallet and tap Receive. On an exchange, use the Deposit screen and choose Bitcoin and the right network.
Is a Bitcoin address the same as a wallet?
No. The wallet holds your keys and makes addresses from them. One wallet produces as many addresses as you like.
How can I find my real Bitcoin address?
Every address your wallet has ever shown you is real and still yours. The current one is on the Receive screen; past ones are in the wallet's address or transaction history.
Is it safe to share my Bitcoin address?
Yes. An address lets people pay you, not take from you. Sharing it does reveal that address's balance and history to anyone who looks it up, so use a fresh one per payment if that matters to you.
Can I send bitcoin to the wrong address type?
Between BTC address types, payments work as long as the sending wallet supports the format. Across chains (BTC, BSV, Ethereum) they do not; the string has to belong to the chain you are sending on.

Next in the series: What Is the Bitcoin Blockchain? Explained in Plain English.