EIPs
EIP-55 — Mixed-case address checksum
0xd8da6bf26964af9d7eed9e03e53415d37aa96045 is the same address as 0xD8dA6BF26964aF9D7eED9e03E53415D37aA96045 — but only the second one is checksummed. EIP-55 specifies how the case of each hex character encodes a four-bit checksum.
import { to_checksum_address } from "@ethernauta/eip/55";
to_checksum_address("0xd8da6bf26964af9d7eed9e03e53415d37aa96045");
// → "0xD8dA6BF26964aF9D7eED9e03E53415D37aA96045" Surface
| Export | Type | Purpose |
|---|---|---|
to_checksum_address | (address: string) => Address | Normalize to EIP-55 mixed-case. |
When you need it
- Displaying an address in a UI — checksummed addresses are visually distinguishable.
- Comparing against a user-pasted string — normalize both sides first.
- Producing addresses for tooling that expects checksumming (some block explorers reject lowercase).
addressSchema in @ethernauta/core accepts both forms but the canonical output is checksummed.
See also
- @ethernauta/core → addressSchema.
- Concepts → schemas are the types — why you parse instead of normalizing manually.