Seed phrases were always the wrong interface for most people: twelve words to write down, never to lose and never to show anyone. Smart accounts under ERC-4337 combined with passkeys remove that step. The user signs in with a fingerprint or face, the key never leaves the device's secure hardware, and the account itself is a smart contract that can enforce its own rules.
That makes onboarding straightforward. It also moves the hard problem somewhere else.
Why recovery is the real design problem
A passkey is stored in a platform keychain — Apple's, Google's, or a password manager's. Within one ecosystem it syncs across devices. A user who moves from one ecosystem to another, or who loses access to their account with the platform, can lose the passkey entirely. If that passkey was the only thing controlling the wallet, the funds are gone.
Recovery is also the flow people use while they are stressed, often months after they last thought about it. It needs more design and testing than sign-up, not less.
What holds up
- Register two credentials during onboarding, not one — for example a passkey and a second device, or a passkey and a hardware key.
- Offer a guardian or social recovery path as a second route, with a time delay so the real owner can cancel a recovery they did not start.
- Show users, in plain language, which recovery options they have set up and prompt them to add one if they have none.
- Test recovery as often as sign-up, with real devices, including the case where the user has switched phone platforms.
Gas sponsorship needs limits
Smart accounts let an application pay transaction fees for its users through a paymaster, which removes the need to hold a network token before doing anything. It also creates an open budget. Sponsorship policies should define who is sponsored, for which actions and up to what amount, and those limits should be enforced on the server rather than trusted from the client.
Custody is a decision, not a default
Smart accounts can be fully self-custodial, held by a provider, or controlled through a threshold scheme. Each has different implications for regulation, for support and for what happens when something goes wrong. The right answer depends on the product, but it should be chosen deliberately and written down with its trade-offs — not inherited from whichever SDK was quickest to integrate.