Keys
A wallet is one random seed, made on the device and written down as a 12-word recovery phrase. Every key comes from it:
- Root: HKDF of the seed.
- Owner keys: one Stark key per network and account, from the root. No two accounts share a key, so nothing on chain ties them together.
- Viewing key: from the owner key, as draft SNIP-44's
account-leaf-v1defines it, so another wallet that implements it finds the same private balance. - Wallet key: signs changes to the wallet's passkeys in the vault, and nothing else.
Opening the wallet
A passkey or a password doesn't make a key. Each opens a copy of the seed sealed under it:
- Passkey: sealed under a key from the passkey's PRF output.
- Password: sealed under a key from the password (Argon2id).
- Fingerprint, in the Android app, through the phone's keystore.
The recovery phrase restores the wallet anywhere, without any of them.