Ethereum addresses can be written in two ways - in a non-checksummed variety with all lower case letters and checksummed version that includes capital letters. Checksummed addresses are preferable to their non-checksummed counterparts since they ensure address validity and prevent potential typos. Ethereum addresses can be easily checksummed using any of the popular blockchain explorer services.
Ethereum address checksum validation is a cryptographic function that allows users to verify their blockchain addresses to ensure they are valid and don't contain any typos. Your Ethereum address–as well as every other Ethereum address in existence–has two versions - one that includes uppercase letters and one that doesn’t. These are called the checksummed and non-checksummed versions.
Here’s an example of the same address as a:
- Ethereum Non-checksummed version:
- Ethereum Checksummed version:
This case sensitivity is used for checksum validation. The address is compared against the raw binary keccak-256 hash of the address bytes, and where there are letters in the same corresponding place as a “1” bit, the letter is capitalized.
In simpler terms, checksum validation is a way to tell if an address is valid and doesn’t contain any typos. While both addresses are viable and lead to the same destination, using the checksummed version is always preferable.
It might seem redundant to anyone who only copy-pastes addresses (which you should always do and never enter a hexadecimal address by hand), if even one character of an address is off, any tokens or coins sent to the wrong address will be lost forever.
This is not something to be taken lightly and soft errors in your RAM, the switch of a bit from a 0 to a 1, caused by occurrences like cosmic rays, do happen. Unbeknownst to you, the address stored in your clipboard could be different from the one you copied. Such unfortunate situations can easily be prevented with checksum.
With the importance of Ethereum checksum addresses outlined in the paragraphs above, you are now probably wondering how to checksum your own Ethereum address. There are multiple services that convert non-checksummed Ethereum addresses to checksummed addresses, but we found the easiest way is to use etherscan.io:
Use your preferred internet browser to navigate to ethererscan.io. It is worth noting that you can use any of the other Ethereum blockchain explorer services–like Ethplorer and Etherchain, for instance–to checksum a blockchain address.
Enter an Ethereum address you wish to convert to a checksum version in the search box located at the top of the webpage. As a side note, we’ve blurred out the last five digits of the Ethereum address used in the guide for privacy reasons.
After searching for the Ethereum address entered in the search field, you will be taken to an overview page showing various publicly available data–like current ETH balance, transaction history, and more–pertaining to the address you’ve searched for. In the upper left corner of the page, you can see the blockchain address (highlighted in red in the image below).
A checksummed version of the Ethereum address is listed on the address overview page. This can be verified by checking if it contains capital letters.
That's it — you’ve successfully checksummed your Ethereum address and helped avoid losing funds by mistakenly sending coins to the incorrect address.
You might be asking yourself why don’t Ethereum addresses already come with checksum as standard, which is the case with Bitcoin wallet addresses?
Not too long ago, Ethereum addresses did not have any checksum at all, and it was only in 2016 that Ethereum co-founder and lead developer Vitalik Buterin implemented the function due to popular demand.
His reasoning as to why Ethereum addresses did not come with checksum implemented at the get-go is that users should never have to interact with the hexadecimal version of the addresses at all, as Ethereum is supposed to eventually transition to actual domain names like “BobsEtherAddress.eth” for Ethereum addresses and ICAP address versions, compatible with systems using the International Bank Account Number or IBAN conventions.
It is worth noting that in late 2021, the Ethereum Name Service, a decentralized name system built on Ethereum, started providing users the option to attach easy-to-remember domain names to their ETH addresses. ENS, which was initially developed by Ethereum Foundation programers Nick Johnson and Alex Van de Sande, is designed to work similarly to Domain Naming Service (DNS), which maps domain names (e.g. coincodex.com) to IP addresses. In principle similar to DNS, ENS allows users to use domain names (e.g. coincodex.eth) instead of a long string of numbers and letters when transferring ETH and ERC20 tokens.
Due to the nature of cryptocurrencies, you are the sole owner of your address and your funds. There is no higher authority to appeal to in the event of a mistake. While some services can’t read checksum addresses, they will simply ignore the capital letters and process your address as normal, meaning there is no disadvantage to always using a checksummed address.
If you're looking to learn about other interesting topics related to Ethereum, make sure to check out our article exploring the concept of the Ethereum triple halving and why it could make Ethereum a good investment over the long term.