DEV Community

estell
estell

Posted on

Non Custodial Crypto Wallets, Done Right

noncustodial crypto wallets

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.

  1. Split trust: use passkeys or MPC (e.g., 2-of-3) so no single party 2. can sign.
  2. Sign in memory: combine two factors only to sign, then wipe.
  3. Recovery: passkey + backup/guardian with optional time delay.
  4. 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.

What’s your experience with non custodial crypto wallets?

Top comments (0)