🏦 Derived Addresses
Derive module account addresses and IBC transfer escrow addresses — no keys involved.
Module account
IBC transfer escrow (ICS-20)
How it works
Module accounts hold funds for SDK modules (fee collector, staking pools, community pool…). Their address is the first 20 bytes of SHA-256(module name) — authtypes.NewModuleAddress in the SDK.
Escrow accounts hold tokens sent out over an IBC channel until they come back. The address is the first 20 bytes of SHA-256(version ‖ 0x00 ‖ "port/channel") — GetEscrowAddress in ibc-go, with version "ics20-1".