To avoid sending your tokens to the wrong destination, be sure to use (Ethereum ETH) built-in checksum function. 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 version. Here’s an example of the same address as a:
- Non-checksummed version: 0x12ae66cdc592e10b60f9097a7b0d3c59fce29876
- Checksummed version: 0x12AE66CDc592e10B60f9097a7b0D3C59fce29876
This case-sensivity 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 would be different to the one you copied. Such unfortunate situations can easily be prevented with checksum.
Ok, so that sounds great and all, but how can you checksum your Ethereum address? There are multiple services which convert you non-checksummed Ethereum address to a checksummed, but we found the easiest way is to use etherscan.io:
- Go to etherscan.io.
- Insert your Ethereum address in the search field.
- You will be taken to an overview of the inputted address.
- At the top of the page will be your checksummed address. This can be verified by checking if it contains capital letters.
- That's it!
You might be asking yourself, why don’t Ethereum addresses already come with checksum as standard, which is the case with
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.
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 an 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.