A Bitcoin wallet address is a digital address, made up of letters and numbers, that you use for sending and receiving Bitcoin transactions. In just the same way that an email address is used to send and receive emails, a Bitcoin wallet address is the digital address from which you send and receive BTC. Because an address is just a modified representation of a Bitcoin public key, you can securely share your BTC address with anyone they wish, without having to worry about security vulnerabilities.
In this article, we’ll go over the basics of Bitcoin addresses, private keys, and wallets. We’ll look at the fundamentals of sending and receiving BTC transactions. Finally, we’ll highlight a few commonly-used Bitcoin wallet formats.
Bitcoin Addresses, Private Keys, and Wallets
A Bitcoin wallet addresses— also known simply as a Bitcoin address or BTC address— is distinct from a Bitcoin private key or a Bitcoin wallet. While all three of these things are interconnected, it’s crucial to understand the differences. Let’s have a look at how each works to support transactions on the Bitcoin protocol.
A Bitcoin address is a more efficient way of representing a Bitcoin public key. Just like any other public key cryptosystem, the Bitcoin network uses asymmetric encryption. This is just a fancy way of saying that the network enables users to generate and use private-public key pairs.
On most public key cryptosystems, users just need to share a public key in order to receive encrypted messages. Similarly, it’s possible to receive BTC transactions through a Bitcoin public key. However, a Bitcoin wallet address is widely considered to be the better choice. Addresses have two major benefits over public keys.
First, addresses are created using hashing algorithms, which adds an extra layer of encryption for enhanced security. This means that it’s very, very difficult to reverse-engineer the corresponding private key given only a Bitcoin wallet address. As a result, there’s effectively zero chance that someone else other than the owner of a specific address can spend funds belonging to that address.
Second, addresses are much shorter and easier to manage than public keys. In other words, they offer a smoother user experience. Bitcoin wallet addresses function like email addresses in the sense that both can be used to provide a means of secure communications. The main difference is email addresses are used to determine where to send text or files, while Bitcoin wallet addresses are used to determine where to send BTC transactions.
When sending BTC (or any other cryptocurrency), always make sure to use the correct wallet address. Whenever BTC is sent to the wrong address, there is no solution that enables the sender to recover funds. If you send BTC to the wrong address, those coins are almost certainly gone forever.
Bitcoin wallet addresses always start with a “1”, “3”, or “bc1”, making them easily distinguishable from public keys and private keys. Bitcoin public keys and addresses are presented in various formats. Here are a few examples.
Note: These examples are listed for educational purposes only. Don’t send funds to any of the following destinations.
Bitcoin Public Key (Uncompressed): 042E6EFFCA888036CE13D7201AB58F567AE8C6E4A334835B70E6979B9B88A6AB0EBDB248474B6952A3ECECFAB6C8940ADC695BC54E0C8AEC33E5AB735F182F1BDD
Bitcoin Public Key (Compressed):
Bitcoin Wallet Address:
Bitcoin Wallet Address (Compressed):
As mentioned earlier, private keys are generated together with public keys (and addresses) as part of private-public key pairs.
Bitcoin private keys are a very important part of keeping BTC secure on the Bitcoin network. Each Bitcoin private key is essentially a very secure passcode that is used to unlock and spend BTC belonging to a specific public key and wallet address. This means that Bitcoin private keys should always be kept secret. If someone has access to your private key, they could easily steal your BTC.
Just like Bitcoin wallet address formats, Bitcoin private keys come in a variety of formats. Here is an example of a private key in hexadecimal format.
Bitcoin Private Key: DA46B559F21B3E955BB1925C964AC5C3B3D72FE1BF37476A104B0E7396027B65
The only way to spend funds on the Bitcoin network is through the use of a private key. In regards to private key management, there are two main types of wallets: custodial wallets and non-custodial wallets. Coinbase, Kraken, and Gemini are examples of custodial wallet providers. BRD, Trust Wallet, and Exodus are examples of non-custodial wallet providers.
With custodial wallets, a custodian (the wallet provider) keeps private keys secure on behalf of wallet owners. Users typically create/ log into an account via an email address and password. Custodial wallets never require users to hold their private keys. If you forget your wallet password, regaining access to funds is quite easy. You would just go through the typical password reset steps via an email account as you would for most other online accounts. However, there are potential security risks involved with trusting someone else to manage your private keys. For example, if a wallet provider’s database suffers a security breach, private keys may be compromised. This could lead to the theft of funds.
With non-custodial wallets, wallet providers never store private keys. The user is responsible for keeping their own private keys secure. You sometimes have the option to export a private key (usually in WIF format) and use it to access a non-custodial wallet. However, wallet providers widely recommended to avoid using a private key directly as a means of accessing a non-custodial wallet. Much like custodial wallets, users typically create/ log into a non-custodial wallet via an email address and password. Note that a few types of non-custodial wallets (e.g. desktop applications) sometimes don’t require you to create an email or username login. While non-custodial wallets generally provide more security than custodial wallets, the process of recovering access to funds may be a bit more difficult if you forget your password.
So what happens if you somehow forget your password to a non-custodial wallet? Instead of being able to reset your password via an email account, you will need to use a seed phrase in order to regain access to your funds. Sometimes called a mnemonic phrase, a seed phrase is a list of random and unique words (usually 12 or 24 words) that is generated whenever you create a non-custodial wallet. You should write down the seed phrase and store this information in a secure place.
Just like private keys, seed phrases should always be kept secret. Assuming that no one else gains access to your private key or seed phrase, you should be able to use your seed phrase to recover funds. Usually, the recovery process asks for certain words in the seed phrase. That’s why it’s important to make sure you write down words in the exact order in which they are presented. For example, during the recovery process, you may be prompted to enter the 2nd, 3rd, 7th 10th, and 12th words in the seed phrase (or another combination) through your selected Bitcoin wallet software.
Seed Phrase (12 Words):
moldy reply therapeutic tense car add knife cork chase attention type please
Bitcoin wallets are often compared to key rings. That’s because each Bitcoin wallet can support multiple private-public key pairs and wallet addresses. If you want to generate a new Bitcoin wallet address, you can easily do so within any existing wallet. Regardless of whether you choose a custodial or non-custodial wallet provider, you’ll generally only need one password to access all the addresses belonging to each wallet.
Although BTC is technically stored and transferred via unspent transaction outputs (UTXOs), a Bitcoin wallet provides an easy-to-use interface for managing addresses and BTC belonging to those addresses. For example, if you want to send or receive BTC, you will likely want to use some sort of Bitcoin wallet. While it’s possible to complete transactions via a command-line interface, this isn’t a user-friendly option for most users. Bitcoin wallets are accessible through a variety of formats, including computers, web browsers, hardware devices, and mobile devices.
Basics of Sending And Receiving BTC
Now that we’ve covered the basic definitions required for Bitcoin transactions, there are a few concepts you should understand about sending and receiving BTC. Knowing this information will enable you to avoid making common mistakes.
The ‘Single-Use Token’ Concept
As discussed above, email addresses and BTC addresses function quite similarly. However, unlike email addresses, each BTC address generally isn’t meant to be used more than once. This is known as the ‘single-use token’ concept. While it’s certainly possible and more convenient to re-use the same Bitcoin wallet address for every BTC transaction, generating and using new addresses for each transaction has privacy and security benefits.
On the privacy side, It’s crucial to understand that a Bitcoin wallet address is not like an email account. With an email account, no one other than the account owner (and possibly the email provider) can see incoming data sent to a specific account. In contrast, BTC transactions are publicly broadcast on the Bitcoin blockchain network, meaning data is transparent.
Once you send out your Bitcoin wallet address to someone, that person can use a blockchain explorer website such as BTC.com or BlockCypher to search your entire transaction history for that specific address. That user is able to see which addresses you sent BTC to and/or received BTC from at any point in the past or future. They can also know how much BTC belongs to your Bitcoin wallet address in real-time.
To increase data privacy, it’s best to use a new address for every transaction or at least for every new interaction with another user. For example, Bob should ideally have one Bitcoin wallet address for transactions between him and Alice and a separate Bitcoin wallet address for transactions between him and Chris.
On the security side, vulnerabilities due to flaws in the design of Bitcoin digital signatures have made it possible to calculate the corresponding private key. This has led to cases of double-spending attacks. Although this particular vulnerability has since been fixed on the Bitcoin network, using new addresses is an effective way to deter any future security vulnerabilities that might lead to the theft of BTC belonging to a specific address.
No Return To Sender Function
Bitcoin wallet addresses don’t have a return to sender function. The process of sending funds to a specific address is kind of like writing “Return to Sender” on an envelope and sending it back to the return address through the mail. When you send BTC back to the original address, it will go back to that address. However, there is no guarantee that the same person still owns that wallet address.
For someone who follows the ‘single-use token’ concept, they may have discarded that address and the corresponding private key because they weren’t expecting to re-use it. That’s why it’s crucial to make sure that the recipient is able and willing to receive funds sent from a previously-used address.
Another problem to consider is that addresses themselves aren’t actually owned by the original sender in some scenarios. For example, centralized exchanges often use Bitcoin addresses that aren’t directly linked to a specific user for outbound BTC transactions. These wallets are instead linked to the exchange itself and used multiple times across various users.
If someone tries to send funds back to one of these addresses, it may be impossible for the exchange to know which funds to credit to which user’s Bitcoin wallet. As a result, this may lead to a loss of those funds. Other centralized platforms (e.g. cryptocurrency mining pools) function quite similarly. To avoid the potential loss of funds, it’s best for the recipient to verify that the original Bitcoin wallet address actually belongs to them. Most centralized applications enable users to generate new deposit addresses that belong specifically to an individual user rather than the platform itself.
Other Cryptocurrency Wallet Addresses
Bitcoin wallet addresses are actually just one variety of cryptocurrency wallet address. BTC should only ever be sent to Bitcoin wallet addresses. Other blockchain networks have their own wallet addresses.
For example, Bitcoin (BTC) and Bitcoin SV (BSV) are two entirely separate cryptocurrencies. They also run on two entirely separate blockchains. Let’s suppose you accidentally send BTC to a BSV wallet address. This is actually a common mistake considering that BTC addresses and BSV addresses share the same format. It’s not possible to use BTC on the Bitcoin SV blockchain, or vice versa. However, it’s possible to go through a few steps to recover those funds and send them back to the Bitcoin blockchain.
For other blockchain networks that use distinct address formats, most wallet software includes an integrated address validator. For example, if you accidentally try to send BTC to an Ethereum wallet address, the system will automatically recognize this mistake. You should be presented with an error message that says the address is invalid, and you won’t be able to even attempt to send the funds to the wrong blockchain network.
Bitcoin Wallet Formats
There are a number of ways in which users can complete transactions on the Bitcoin network. Note that, besides P2PK, each of these payment types has a corresponding address format. Using any Bitcoin wallet software or block explorers, you should be able to easily identify payment types based on address formats.
Pay To Pubkey (P2PK) enables users to send funds to a specific public key rather than an address. As discussed earlier, the overwhelming majority of users prefer the added benefits provided by using public addresses instead of public keys. Thus, the usage of P2PK is currently quite limited.
Pay To Pubkey Hash (P2PKH) is considered to be more secure and more user-friendly than P2PK. P2PKH creates a shorter representation of the recipient's public key called a pubkey hash that adds an extra layer of encryption. P2PKH addresses start with the number ‘1’.
Pay To Script Hash (P2SH) supports functionalities not provided through P2PK or P2PKH payment types. P2SH transactions are often used for multisig transactions — transactions that require digital signatures from multiple private keys in order to unlock funds. P2SH addresses start with the number ‘3’.
Bech32 supports full compatibility with SegWit blocks on the Bitcoin network. SegWit blocks move BTC transaction data (digital signatures and scripts) to extended blocks. Bech32 addresses start with the phrase ‘bc1’.
Learn More About Payments On the Bitcoin Network
If you've found this overview of Bitcoin wallet addresses helpful and want to learn more about similar topics, check out Komodo’s Blockchain Fundamentals series. There are dozens of informative articles to help you learn all about how blockchain technology works. You can read more about related topics such as Bitcoin private keys, UTXOs, and asymmetric encryption.
Begin your blockchain journey with Komodo today.