Documentation
Docs7. Address Formats

7. Address Formats

Kortana natively supports two distinct address formats, bridging full compatibility with the existing Ethereum tooling ecosystem while supporting modern, high-performance Edwards-curve cryptography.

7.1 Secp256k1 Addresses (0x…)

Secp256k1 addresses in Kortana are 20-byte hexadecimal strings formatted with the standard 0x prefix. These addresses conform strictly to EIP-55 mixed-case checksum encoding, where individual alphabetical characters are capitalized according to the Keccak-256 hash of the lowercased address string. This checksum mechanism prevents catastrophic token loss resulting from typos or copy-paste errors.

Within the node daemon, all smart contracts deployed on the KEVM, user accounts interacting via MetaMask, and developer tooling configured with Foundry or Hardhat utilize this address standard. The internal state trie keys for EVM accounts are derived by taking the 20 raw bytes of the address directly, ensuring full alignment with Ethereum ecosystem tooling.

7.2 Ed25519 Addresses (ktn:)

Ed25519 addresses provide high-speed, constant-time signature verification and superior side-channel resistance for native protocol operations. These addresses are formatted with the human-readable prefix ktn: followed by a base-encoded representation of the underlying cryptographic key digest.

Ed25519 addresses are primarily used within the Kortana CLI, validator node identity management, staking registrations, and native KVM module deployments. Because Ed25519 verification avoids scalar multiplication vulnerabilities that exist in legacy elliptic curves, validator signatures and consensus messages processed with these keys achieve maximum verification performance on multi-core server processors.

7.3 Address Derivation

Address derivation in Kortana follows deterministic mathematical rules depending on the underlying cryptographic curve:

For secp256k1 key pairs, the uncompressed public key (64 bytes, omitting the 0x04 prefix) is hashed using Keccak-256. The rightmost 20 bytes (the last 160 bits) of the resulting 32-byte digest form the raw address bytes:

Address(EVM) = Keccak-256(PubKey(uncompressed))[12..31]

For Ed25519 key pairs, the 32-byte raw public key is hashed using BLAKE3, and the resulting digest is formatted with the ktn: prefix. Both address formats map transparently into 20-byte account keys in the unified world state trie.