Username + Password β Wallet Generation
At signup, users choose a username and password. Behind the scenes, these credentials are passed through a strong key derivation function (e.g., Argon2id or scrypt), which generates a deterministic encryption key. This key is used to locally derive an Ethereum-compatible private key that forms the foundation of your wallet.
The wallet is generated entirely client-side.
The private key is encrypted using the derived encryption key.
The encrypted wallet is saved to local storage or optional decentralized storage.
A seed phrase can be optionally generated for recovery, but is not required.
This approach removes the need for browser extensions, custodial wallets, or seed phrases during onboarding - making Ethereum more accessible to mainstream users, while retaining the sovereignty and security expected in Web3.
Last updated