TL;DR
Non custodial crypto wallets give you control of the keys. No seed phrases required if you use passkeys or MPC. In this guide you’ll learn: the options (seed phrase, smart accounts, MPC), how recovery works without support tickets, and how to avoid vendor lock-in. Short, practical, and open to debate.
What are non custodial crypto wallets?
Think of a safe and a key.
- Custodial: someone else holds the key. They can open the safe.
- Non custodial: you hold the key. No one moves funds without you.
Why it matters:
Control: you sign every transaction.
- Resilience: if a provider shuts down, your money stays yours.
- Portability: you can change apps or vendors and keep access.
If a company can move funds without you, it’s not non custodial
Non custodial crypto wallets: the main options
1) Classic seed phrase (EOA)
- Pros: simple, widely supported.
- Cons: users lose phrases; support pain.
- Best for: crypto-native, power users.
2) Smart accounts (4337)
- Pros: web2-like UX, spend limits, session keys, sponsored gas.
- Cons: more moving parts under the hood.
- Best for: consumer apps that want smooth sign-up and safer defaults.
3) MPC / passkeys (seedless)
- Pros: no single point of failure; friendly recovery.
- Cons: coordination across factors/servers/devices.
- Best for: teams that want “no seed phrase” + easy device migration. Many products combine smart accounts (UX) + passkeys/MPC (security & recovery).
Non custodial ≠ bad UX
You can have both safety and speed:
- Passwordless login: passkeys instead of seed phrases.
- Invisible signing for low-risk actions: use session keys and policies.
- Simple recovery: any 2 of 3 factors (device + passkey, passkey + backup, guardian + delay).
Result: fewer pop-ups, fewer tickets, faster onboarding.
Embedded vs global wallets (and vendor lock-in)
- Global wallets: browser or app wallets that work across many sites.
- Embedded wallets: live inside your app for smoother UX.
Watch out for vendor lock-in. Some SDKs hide keys or block export.
Choose solutions that:
- document key export and migration,
- expose a standard provider (EIP-1193) so you can switch vendors,
- allow self-hosting of critical parts if needed.
A simple architecture that works
Create the wallet on sign-up.
- Split trust: use passkeys or MPC (e.g., 2-of-3) so no single party 2. can sign.
- Sign in memory: combine two factors only to sign, then wipe.
- Recovery: passkey + backup/guardian with optional time delay.
- Portability: expose EIP-1193 and keep export/migration documented
Goal | Easiest path | Why |
---|---|---|
Easiest for beginners | Passkeys + smart account | no seed, sponsored gas, policies |
Max self-sovereignty | Seed phrase | full control, widely known |
UX + strong recovery | MPC (2-of-3) + smart | no single point of failure |
Checklist: picking a non custodial crypto wallet
Use this list to evaluate non custodial crypto wallets and SDKs:
- True non custodial: provider cannot move funds alone.
- Key export & migration: users keep addresses across vendors.
- Seedless recovery: passkeys/MPC/guardians; no 24-word backup.
- Standard provider (EIP-1193): works with wagmi/viem and friends.
- Session policies: limits, expiries, per-domain rules.
- Self-hosting option: keep control if a vendor sunsets.
- Multi-chain support: what your app actually needs.
- Clear docs + audits: security you can verify.
Some extra reading and docs:
Openfort Docs (overview): embedded wallets, EIP-1193, export & recovery patterns
OpenSigner (split-key approach): built to avoid vendor lock-in
Use any stack that meets the checklist. Links above are examples many devs find helpful.
Top comments (0)