Are the Bitcoin public addresses and private keys case-sensitive?
When sending Bitcoin beginners often possess several questions in their mind. One of the most common question asked by newbies on forums is; are the Bitcoin addresses case-sensitive? Also when backing up or while printing the keys user again have the same question; are the private keys case sensitive? The simple and straightforward answer is Yes. Both Bitcoin address and private keys are case sensitive.
Here are few other questions that we found on forums relating to address and keys. My Bitcoin address contains both upper and lower case, will it still work if I interchange the case? Should I copy paste the address or should I type them manually? What happens if a single letter or number gets misplaced, are my funds lost or will the wallet alerts me with invalid address error?
If you are new and wondering any of these questions then please read further.
Are Bitcoin address case sensitive?
In Bitcoin there are currently three address formats in use:
- P2PKH (Pay-to-Pub key Hash) addresses that starts with number 1; Example:
1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uD
- P2SH (Pay 2 Script Hash) addresses that starts with number 3; Example:
3GUHMnx47raxdKGyAvgQGHUYH8h1xhFA1R
- Bech32 type address starting with bc1; Example:
bc1der0srrr7xfkvy5l643lydnw9re59gtzzwf5aqd
Case sensitive public address
The old style Bitcoin address that is P2PKH and P2SH type addresses are often case sensitive and exact.
So whenever you are sending Bitcoin it is important that you either copy paste the address or scan the QR code. If you interchange the case or if you misplace any characters then it will not work.
Luckily there is a checksum in the wallet client to verify the integrity of the public keys. So even if you enter incorrect address by accident the wallet software will most likely reject the transaction with invalid address error. Also if you notice; the Bitcoin address does not contain characters such as 0, O, I to avoid confusion.
According to Bitcoin wiki, the probability of mistyped Bitcoin address getting accepted by the network is negligible and is around 1 in 4.3 Billion.
Case insensitive public address
On the other hand the new style Bech32 type (SegWit) Bitcoin addresses are case insensitive. However unfortunately most software clients does not support this address format yet.
Note: Basically you can’t go wrong with public keys. Anyways to be on safer side it is recommended that you copy and paste Bitcoin address using clipboard whenever possible. If you are sending coins from mobile then scan the QR code. This will ensure that public address is entered correctly.
Though most clients check the integrity of the address there are some web and mobile wallets that does not have this feature. So rather than trusting the wallet; validate the address manually.
Also you must note that there are malware’s that changes the address in your clipboard. So before clicking send button it is advised that you double check the address.
Are private keys case sensitive?
First of all dealing with raw private keys are dangerous and we’ve explained that in this article. If you want to backup use the wallet backup feature or write down the mnemonic seed.
Here you can learn how to backup electrum wallet. Also learn how to backup Bitcoin core wallet.
Note: The following is not recommended for Beginners.
Anyways if you still want to write down you private key or if you wish to engrave the private key in a block of steel then here is something you need to know first.
In Bitcoin, a private key is a 256-bit number which can be represented one of several ways. It’s all up to you how you wish to encode it.
Private Keys are encoded in Base58. The usual WIF (wallet import format) or BIP32 encodings are case-sensitive and so they require both upper and lower case letters.
On the contrary if you represent the keys only using digits then there is no need of lower case letters.
It can seem quite confusing especially if you are new. So when copying or writing down the keys; write them exactly as displayed by your wallet client.
Hope it helps.
If you found this article useful then please do share it. You can also find more interesting topics to learn from our knowledge base.