Welcome fren! We’re here to help explain Bitcoin simply and one of the most common things you’ll be interacting with when dealing with Bitcoin is addresses. So what is a Bitcoin address? Why are there different types of addresses? And how can you save thousands of Satoshi? Well that last ones easy, simply keep reading this free post 😉
Contents
What Is A Bitcoin Address?
A Bitcoin address is a string of 26-35 alphanumeric characters that’s used to receive bitcoins.
eg: bc1qelem0ann687r2e9jax542lja7q8cu8s35h96pc
When sending any payment you always need to know where you’re sending it to. When using the Bitcoin network this “where” is represented by these automatically generated address. Your Bitcoin Wallet software is able to generate essentially infinite addresses for you at no cost and in simple terms this is how the process works:
- Wallets manage and store your Private Keys
- The wallet software uses your Private Keys to generate your Public Keys
- The wallet software uses your Public Keys to generate your Bitcoin Addresses
We will go into more detail about Private and Public Keys below, but the other extremely important thing to remember is that Bitcoin addresses should only ever be used once.
Don’t reuse addresses ever!
While it’s technically possible to use an address for multiple payments, this works by accident and harms your Bitcoin Privacy as well as other unrelated third parties, so it is considered a very bad practice.
Virtually all “good” wallet software does this for you automatically these days, so it’s not something you actively need to manage, but it’s good to keep in mind.
What Does A Bitcoin Address Look Like?
As shown above, a bitcoin addresses simply looks like a string of 26-35 alphanumeric characters. Over the years as Bitcoin developed, there have been a number of different formats for addresses.
Pay To Pubkey (P2PK) – Legacy
This address format is simply your Public Key which again just looks like a bunch of really long, randomly generated alphanumeric characters as shown above. Back when Bitcoin was first created this is what everyone used, but since around 2013 virtually no one uses this format anymore.
Pay To Pubkey Hash (P2PKH) – Legacy
These start with the number 1: 18c2Ykj4CAfoNBLq65e15hot6Wo6CShMgb
- Address Format: P2PKH
- Transaction Size (2 Input / 2 Output): 374 vBs
- Cost (@10 sats/vB): 3,740 sats
- Fee Savings (vs P2PKH): 0%
As the name suggests, this is simply the hash of your Public Key. While this is a legacy type of format, around 30% of people still use it according to Blockchain analysis. This is despite it using a lot more space (in kilobytes) inside a transaction and thus, costing a lot more than it normally would in Bitcoin Transaction Fees than if you used a more modern day format.
Pay To Script Hash (P2SH)
These start with the number 3: 3orM1pUeZsadrZoQp45PBEH8VQaofnnNSN
- Address Format: P2SH
- Transaction Size (2 Input / 2 Output): 256.5 vBs
- Cost (@10 sats/vB): 2,560 sats
- Fee Savings (vs P2PKH): 32%
While the legacy formats involved paying to the Public Key (or the hash of it), P2SH involves paying to the hash of a script. These scripts not only allow transactions to have programs and functions in them, such as Multisig transactions or time locks, but also reduce the size too.
With this reduced size (in kilobytes) comes lower fees. For a standard 2 input and 2 output transaction you will save around 32% in fees!
Pay To Witness Script Hash (P2WSH)
These start with the number 3: 3orM1pUeZsadrZoQp45PBEH8VQaofnnNSN
- Address Format: Bech32
- Transaction Size (2 Input / 2 Output): 208.5 vBs
- Cost (@10 sats/vB): 2,085 sats
- Fee Savings (vs P2PKH): 44%
Similar to the previous P2SH address, P2WSH also involves paying to the hash of a script. Just like P2SH, they also start with a “3” and the two are indistinguishable until the UTXO is spent.
Where things start to differ is that it uses Segregated Witness or SegWit (explained below) and the location of the scriptSig is changed. We won’t go too deep into this, but P2WSH is very similar to P2SH and saves you around 44% in fees over P2PKH.
Pay To Witness Public Key Hash (P2WPKH) – Native SegWit v0
These start with bc1q: bc1qh2e9jax542lja79elem0anu8s356pn687rq8cc
- Address Format: Bech32
- Transaction Size (2 Input / 2 Output): 208.5 vBs
- Cost (@10 sats/vB): 2,085 sats
- Fee Savings (vs P2PKH): 44%
In order to reduce the amount of information stored in a transaction – and thus the cost – even more P2WPKH moves the signature and script part outside of the transaction body and into the Witness Stack.
Note, this is where the SegWit name comes from as you’re “segregating” (ie. separating) the witness data. This lowers the fees even more for transactions, saving you 44% compared to the legacy address types.
This address type also introduces a new address format called Bech32. Bech32 (pronounced “besh 32”) addresses are used to pay native SegWit outputs and always start with “bc1”. P2WPKH uses the Bech32 address format with an encoding version of 0 (hence the v0) and start with bc1q because “q” encodes to 0 in Bech32 (the more you know).
Bech32 addresses are an improvement because they don’t used mixed case and are thus, case insensitive. This not only gives a cleaner look, but also reduces mistakes too. To help further reduce mistakes made, they include an error correction code that catches almost all typos and can even identify where the typo has occurred in some cases.
Pay To Taproot (P2TR) – Native SegWit v1
These start with bc1p: bc1pmzfrwwmk5yndsvgfg4esc06e8c0tqh69yjr5lf
- Address Format: Bech32
- Transaction Size (2 Input / 2 Output): 211.5 vBs
- Cost (@10 sats/vB): 2,115 sats
- Fee Savings (vs P2PKH): 44%
Taproot addresses are the newest and most complex of the address formats to understand. They enable a great improvement in Bitcoin Privacy as they make many different types of transactions all look the same.
This stuffs up a lot of Chain Analysis heuristics all while it allows more flexibility and options for the user to spend their bitcoins. They again use the Bech32 address format, but this time with the encoding version of 1 (hence the v1) and start with bc1p because “p” encodes to 1 in Bech32.
For multisignature transactions, which are becoming more common due to bigger and more advanced users like companies and governments getting into Bitcoin, it also saves a lot of block space and thus, fees.
New to Athena Alpha? Start today!
How Do I Get A Bitcoin Address?
The management of your bitcoins as well as address generation is done in wallet software. There are Bitcoin Wallets for all platforms and computer types:
- Mobile Wallets: Electrum, BlueWallet, Blockchain
- Desktop Wallets: Sparrow, Electrum, Specter
- Hardware Wallets: Blockstream Jade, BitBox02, COLDCARD Mk4
- Web Wallets: Blockchain, BitGo (web wallets aren’t recommended)
The very first and most important thing you need to know about Bitcoin Wallets is that they do not store any bitcoins!
The name “wallet” is used because the creators are trying to make it easily relatable to everyday people, but in actual fact Bitcoin Wallet software isn’t like a normal “wallet” that might store physical cash or coins.
Instead, Bitcoin Wallets only ever store your private keys. These are cryptographic keys that prove to everyone else that you – and you alone – own and have the authority to spend certain bitcoins on the Bitcoin network. Every bitcoin is and always has been only located on the Bitcoin network.
- Bitcoin Wallet: Stores your private keys
- Bitcoin Network: Stores your bitcoins
This might seem like a simple distinction, but it’s a critical one that is very important when Understanding Bitcoin and you should embed it right from the start as otherwise it leads to lots of confusion.
For example, people mistakenly believe that if they uninstall their Bitcoin Wallet software “all the bitcoins are now gone”. This isn’t true as long as you still have your private keys. There are no bitcoins ever “stored” in your “wallet”, only private keys.
The easiest way to properly think about a Bitcoin Wallet is to instead think of it as a “viewer”. You use this viewer software to look into the Bitcoin network and see what bitcoins you own with your specific private keys.
These private keys give you the ability to spend those bitcoins. They also are used to generate a corresponding public key which is what’s used by other people to send you bitcoins, similar to the address of a house. So in summary:
- People use your public key to know where to send you bitcoins
- You use your private key to spend those bitcoins
As such, public keys are free to be shared publicly, while private keys should always be kept private. If anyone else gets a hold of your private keys, they can just install any Bitcoin Wallet software, enter in your private keys and spend your bitcoins and no one can stop them.
>> Deeper Dive: What Is A Bitcoin Wallet?
There is a lot more to wallet software as well as private / public keys, but it’s outside the scope of this piece. Now that you’ve got your Bitcoin address, you can make use of it by checking out our piece on What Can You Do With Bitcoin? or learning more about Why Does Your Bitcoin Address Change.
FAQ
How Long Do Bitcoin Transactions Take?
Bitcoin transaction are generally considered complete once they have been confirmed in anywhere from 1-6 blocks (around 5-60 minutes). We also have a full guide that explains How To Confirm A Bitcoin Transaction.
Are Bitcoin Addresses Traceable?
Yes. Every Bitcoin transaction is permanently stored on the Bitcoin blockchain which is an open, distributed ledger viewable to anyone. Anyone can look at any transaction and see both it, as well as the transactions before and after it. What cannot be known is who the to/from addresses represent unless you have other 3rd party information to pair it up with.
Are Bitcoin Addresses Case Sensitive?
Depending on what address type you use, they can be case sensitive:
– Pay To Pubkey (P2PK): Yes
– Pay To Pubkey Hash (P2PKH): Yes
– Pay To Script Hash (P2SH): Yes
– Pay To Witness Script Hash (P2WSH): No
– Pay To Witness Public Key Hash (P2WPKH) – Native SegWit v0: No
– Pay To Taproot (P2TR) – Native SegWit v1: No
How Do You Identify A Bitcoin Address?
A Bitcoin address can be identified by the first few letters:
– Addresses starting with a “1” are legacy addresses
– Addresses starting with a “3” are P2SH addresses
– Addresses starting with “bc1q” are native SegWit addresses
– Addresses starting with “bc1p” are Taproot addresses
What Bitcoin Address Should I Use?
Modern Bitcoin Wallets usually use bech32 (also called native SegWit) addresses as they use the least amount of blockchain space and thus, cost the least in Bitcoin Transaction Fees.
Do I Have To Change My Bitcoin Address?
If you have an “old” address type there’s no need to change it. It’s best just to make sure you use a newer type the next time you do use it. To do this you will need to do a normal transaction and send them to another new address that you’ve generated. Check out our guide How To Send Bitcoin for simple step-by-step instructions.
Where Can I Get A Bitcoin Address?
Bitcoin addresses are automatically (and freely) generated by your Bitcoin Wallet software. Any time you go to the “Receive” tab, your wallet should provide you with one or many generated addresses for you to use. Just make sure you only use each one of them once as otherwise it can harm both yours and others Bitcoin Privacy.