🔐 Offline / Client-Side Key Derivation for ICP (ECDSA & Schnorr)

Developers can derive canister public keys entirely offline / client-side, without calling the management canister.
We’ve released a new Rust library, and a TypeScript library many developers haven’t discovered yet — both supporting ECDSA and Schnorr key derivation.

:blue_book: Why this matters
ICP’s key derivation is deterministic and public — given the master public key, canister ID, and derivation path, anyone can compute the same canister public key locally.
No secrets. No blockchain calls. Just pure math.

:light_bulb: What this enables

  • Verify canister public keys offline / client-side

  • Derive blockchain addresses (e.g. Ethereum, Bitcoin) for canisters

  • Build explorers or dashboards showing cross-chain balances

  • Simplify development and testing without connecting to ICP

:brain: Learn how it works

:package: Get started

5 Likes

@franzstefan @JackLloyd I decided to post about this topic here as @skilesare wasn’t aware that this is possible. so I assume others might also not be aware :sweat_smile:

do we also have a plan to create a Motoko library?

1 Like