D0

Embedded Wallets

No seed phrases. No extensions. Still self-custody.

Your users sign in with an email or a social account and get a real non-custodial wallet — keys they control, assets they own — embedded inside your application. You keep the experience. Users keep custody. D0 handles the cryptography.

The D0 Account widget: a Log in or sign up card with an email field, Discord, Google, X and Telegram sign-in, and MetaMask, Coinbase, Phantom, Rabby and WalletConnect below

Self-custody that feels like signing in.

Your user

Email or social login

D0

AuthenticateProvision keySponsor gas
Keys on user sideGaslessIn your app

What they end up with

A wallet they own

Non-custodial by design

Keys are generated and controlled on the user’s side. D0 never takes custody of user funds.

One-login onboarding

Users create a wallet with an email or a social account — no seed phrase, no extension, no download.

Gasless and abstracted

Users transact without holding a native gas token. D0 covers the gas and the wallet signs in the background.

Embedded and native

The wallet lives inside your application. Users never leave your product to manage keys or approve a payment.

03How it works

From login to on-chain, in one flow.

A real self-custody wallet is created and used without the user ever meeting a seed phrase, an extension, or a gas token.

The D0 Account sign-in screen offering Google, Apple and email, headlined One account. Every platform.

Step 01

Authenticate

The user signs in with an email or a social account they already have. Nothing to write down, nothing to install.

Security your users can trust.

A wallet is only worth embedding if the person holding it can get in, and get out, on their own terms.

Non-custodial

D0 never holds user keys. Funds sit in a wallet the user controls, not on our balance sheet or yours.

No seed phrase

There is no password and no phrase to write down anywhere in the product — so there is nothing for a user to lose or a phisher to ask for.

Exportable

The private key can be exported from settings at any time. Non-custody only means something if leaving is real.

Recoverable

If a social login stops working — the account is lost, or the provider goes down — a verified email gets the user back in.

The account recovery settings in D0 Account, explaining that a verified email is how a user gets back in if a social login stops working

Account recovery, in the user’s own settings.

Self-custody, without the trade-off.

Most options make you choose: a custodial wallet that is easy but holds your users’ funds, or a self-custody wallet that is safe but loses them at the seed phrase. D0 gives your users real custody behind a login as ordinary as any other.

The usual way

  1. 1Install a browser extension
  2. 2Write down a seed phrase
  3. 3Buy a native gas token
  4. 4Approve the token
  5. 5Sign the transaction
  6. 6Sign again
  7. 7Finally transact

With D0

  1. Sign in
  2. Pay

The user controls the keys

No seed phrase, no extension

Gasless, in-app payments

Exportable — never locked in

Built for every user, every chain.

Email OTPGoogleAppleXFacebookDiscordGitHubLinkedInAn existing walletEmail OTPGoogleAppleXFacebookDiscordGitHubLinkedInAn existing walletEmail OTPGoogleAppleXFacebookDiscordGitHubLinkedInAn existing walletEmail OTPGoogleAppleXFacebookDiscordGitHubLinkedInAn existing wallet
EthereumBaseSolanaTronBNB ChainEthereumBaseSolanaTronBNB ChainEthereumBaseSolanaTronBNB ChainEthereumBaseSolanaTronBNB ChainEthereumBaseSolanaTronBNB ChainEthereumBaseSolanaTronBNB Chain
USDCUSDTBTCETHSOLUSDCUSDTBTCETHSOLUSDCUSDTBTCETHSOLUSDCUSDTBTCETHSOLUSDCUSDTBTCETHSOLUSDCUSDTBTCETHSOL
MetaMaskPhantomCoinbase WalletTrust WalletRainbowOKX WalletRabbyZerionLedgerWalletConnectMetaMaskPhantomCoinbase WalletTrust WalletRainbowOKX WalletRabbyZerionLedgerWalletConnectMetaMaskPhantomCoinbase WalletTrust WalletRainbowOKX WalletRabbyZerionLedgerWalletConnectMetaMaskPhantomCoinbase WalletTrust WalletRainbowOKX WalletRabbyZerionLedgerWalletConnect

D0

Embedded wallet

Lives inside

Your application

Give every user a wallet they actually own.

One SDK. Self-custody by default. Payments that feel native.