Background
Standard Cosmos chains usesecp256k1 keys, derive addresses as
RIPEMD-160(SHA-256(compressedPubkey)), and hash the sign doc with SHA-256
before producing an ECDSA signature. EVM-compatible Cosmos chains use the same
elliptic curve (secp256k1) but follow Ethereum conventions: addresses come from
the last 20 bytes of Keccak-256(uncompressedPubkey[1:]), and the sign doc is
hashed with Keccak-256 instead of SHA-256.
This means:
- The same mnemonic produces different addresses on Cosmos vs EVM chains
- Transactions must be hashed with Keccak-256 before signing
- Public keys use a different type URL in protobuf encoding
- The default HD derivation path uses coin type 60 (Ethereum) instead of 118 (Cosmos)
Comparison
Next Steps
EVM Wallets
Use DirectEthSecp256k1HdWallet for EVM chains.
Full Example
See a complete EVM-compatible chain integration.