ETH Address - upper and lower characters does NOT matter?

m100m100 Member Posts: 2
I have printed several ETH paper wallets via yesterday and have noticed that sometimes it gives me ETH Address with upper and lower characters and sometimes - only with lower characters, e.g.:

0xA0100A27374bAedd24504B9c02b8356Fa1dE54c8 << in browser I see this
0xa0100a27374baedd24504b9c02b8356fa1de54c8 << this one I see on "Print" pages

Well... as I understand "A" and "a" has different code in binary form...An I wrong?
Bitcoin addresses also does not recognize my address if I change "A" to "a".
ETH seems like it treats the same "A" and "a" in address line, but I can't understand the logic - WHY.

I am afraid to send funds to wrong address.

Thank you for comments or links etc.


  • workwork Member Posts: 2,084 ✭✭✭✭
    Ethereum wallet addresses are in hex [0-9A-F]*. While the address itself is case-insensitive (A is the same as a to the network), the case sensitivity is used as a (optional) checksum. It was built as an after-thought to an addressing scheme that lacked basic checksum validation.

    The checksum works like so:
    1) lowercase address and remove 0x prefix
    2) sha3 hash result from #1
    3) change nth letter of address according to the nth letter of the hash:
    0,1,2,3,4,5,6,7 → Lowercase
    8, 9, a, b, c, d, e, f → Uppercase

    So, you sha3 hash the address, and look at each Nth character of the sha result. If it's 7 or below, the Nth character in the address is lowercase. If it is 8 or above, that character is uppercase.
Sign In or Register to comment.