Crypto & Stablecoins

What is an embedded wallet?

An embedded wallet is a crypto wallet built directly into an app, created automatically when a user signs in with an email, social login, or passkey. The user never installs a separate wallet or handles a seed phrase. To them, it looks like an account balance inside the app.

Behind the scenes, the app uses wallet-as-a-service infrastructure to create and manage the wallet. For example, a stablecoin neobank can give every new user a USDC wallet the moment they sign up with their email. Due supports transfers signed from embedded wallets, so those balances can move out to bank accounts.

How is an embedded wallet different from an external wallet?

An external wallet, like a browser extension or a standalone wallet app, is something the user installs and manages. An embedded wallet is part of the app itself. The differences show up across the whole experience:

  • Setup: embedded wallets are created at sign-up, while external wallets are installed and set up separately
  • Login: embedded wallets use email, social login, or a passkey, while external wallets rely on a seed phrase or private key the user must store
  • Scope: embedded wallets usually live inside one app, while external wallets connect to many apps
  • Signing: embedded wallets can approve actions with in-app prompts, while external wallets show a separate pop-up for each transaction
  • Experience: the app designs the whole flow for embedded wallets, while the wallet maker controls it for external ones

For most users, the result is a crypto product that feels like a normal fintech app. For the business, it means owning onboarding instead of losing users at the "install a wallet" step.

How do embedded wallets secure private keys?

The hard problem is keeping keys safe without asking users to manage them. Providers use a few main approaches, often in combination:

  • Multi-party computation (MPC): the key is split into shares held by the user's device and the provider, so the full key never exists in one place
  • Secure enclaves: keys are created and used inside hardware-isolated environments that even the provider's own systems can't read
  • Smart contract accounts: the wallet is a smart contract with its own rules for approving transactions, which ERC-4337 allows without changes to Ethereum itself
  • Passkeys: a passkey is a key pair stored on the user's device and unlocked with a fingerprint, face scan, or PIN, which smart contract accounts can accept as a signature

Smart contract accounts also make gasless apps possible. Under ERC-4337, a "paymaster" contract can pay gas fees for the user. The effect is similar to a meta transaction: the user acts, and someone else covers the network cost.

A newer standard, EIP-7702, lets ordinary Ethereum accounts point to smart contract code. That gives existing wallets the same features, such as sponsored gas and custom approval rules, without moving funds to a new address.

Is an embedded wallet custodial or non-custodial?

It depends on who can move the funds. An embedded wallet can be built either way, so "embedded" describes the user experience, not the custody model.

In the US, FinCEN's 2019 guidance on convertible virtual currency asks four questions about any wallet provider. Who owns the value? Where is it stored? Does the owner deal directly with the blockchain? And does the provider have "total independent control over the value"?

That last test matters most. A provider whose role is limited to creating wallets that need a second key from the user is not a money transmitter, because it does not accept and transmit value. A provider that can move user funds on its own likely is, which brings money transmission licensing into play.

What are the trade-offs of embedded wallets?

Embedded wallets remove friction, but they shift some responsibility from the user to the app. Three trade-offs come up most often:

  • Portability: the wallet usually lives inside one app, so users can't take it elsewhere unless the provider supports exporting the key
  • Provider dependency: recovery and signing rely on the wallet provider's systems, so its uptime and security become part of the app's own risk
  • Compliance scope: the custody design decides whether the app or its provider may need money transmission licenses, so it's a legal choice as much as a technical one

How does Due work with embedded wallets?

Due lets platforms send stablecoins from embedded wallets to bank accounts, per its Sign with Privy guide. Several signing options are documented:

  • Privy embedded wallets: sign Due transfer intents through Privy's API, covering a token approval and the payout itself, as in the guide's example of USDC on Base
  • Due Wallets: create a credential and a Due Wallet, then sign transfers with it
  • Smart accounts: sign from ZeroDev Kernel v3 accounts that use EIP-7702, with a modified signing process
  • Funding address: skip signing and send USDC to a temporary deposit address instead

That covers the off-ramp side of an embedded wallet app. Users hold stablecoins in the app and cash out to local bank accounts in the same flow. For an example in production, see how Due and Ready connect Ready's app to fiat rails.

Book a demo to connect your embedded wallets to fiat rails →

Continue learning

IFSC (Indian Financial System Code)

Category
Read more

Embedded wallet

Category
Read more

IMPS (Immediate Payment Service)

Category
Read more

Payment purpose code

Category
Read more

Money mule account

Category
Read more

TRC-20

Category
Read more

Enhanced due diligence (EDD)

Category
Read more

KYC reliance

Category
Read more

Prefunding

Category
Read more

CLABE (Clave Bancaria Estandarizada)

Category
Read more

NUBAN (Nigeria Uniform Bank Account Number)

Category
Read more

OUSD (Open USD)

Category
Read more

Meta transaction

Category
Read more

Gas fees

Category
Read more

Batch payments

Category
Read more

Wallet-as-a-Service (WaaS)

Category
Read more

Wallet screening

Category
Read more

KYT (Know Your Transaction)

Category
Read more

KYB (Know Your Business)

Category
Read more

Settlement finality

Category
Read more

Stablecoin redemption

Category
Read more

E-Money Token (EMT)

Category
Read more

MiCA

Category
Read more

Travel Rule

Category
Read more

CCTP (Cross-Chain Transfer Protocol)

Category
Read more

Stablecoin depeg

Category
Read more

FX risk (currency risk)

Category
Read more

Banking-as-a-Service (BaaS)

Category
Read more

ISO 20022

Category
Read more

Nostro and vostro accounts

Category
Read more

UETR (Unique End-to-End Transaction Reference)

Category
Read more

Stablecoin settlement

Category
Read more

Automatic reconciliation

Category
Read more

Balance reconciliation

Category
Read more

Identity verification API

Category
Read more

Interbank settlement

Category
Read more

Open banking

Category
Read more

FedGlobal ACH

Category
Read more

Ledger API

Category
Read more

Subsidiary ledger

Category
Read more

Cross-chain bridges

Category
Read more

Ledger sharding

Category
Read more

Reconciliation API

Category
Read more

ACH debit

Category
Read more

Ledger database

Category
Read more

Stablecoin reserves

Category
Read more

Transaction reconciliation

Category
Read more

Closed loop payments

Category
Read more

Open loop payments

Category
Read more

Stablecoin sandwich

Category
Read more

ACH reversal

Category
Read more

Layer 2 blockchain

Category
Read more

Layer 1 blockchain

Category
Read more

FedNow API

Category
Read more

eCheck

Category
Read more

Payment controls

Category
Read more

Faster Payment System (FPS)

Category
Read more

Request for payment (RfP)

Category
Read more

Stablecoin orchestration

Category
Read more

ACH API

Category
Read more

BACS

Category
Read more

ACH payment returns

Category
Read more

Stablecoin yield

Category
Read more

Cash float

Category
Read more

BAI2

Category
Read more

Compliance risk management

Category
Read more

ACH transfer limit

Category
Read more

Deposit Account Control Agreement (DACA)

Category
Read more

Currency Transaction Report (CTR)

Category
Read more

Crypto faucet

Category
Read more

FBO account

Category
Read more

OTC trading

Category
Read more

Virtual IBAN

Category
Read more

Third-party payment

Category
Read more

Ledger balance

Category
Read more

Issuer Identification Number (IIN)

Category
Read more

CASPs (Crypto-Assets Service Providers)

Category
Read more

Section 314(b)

Category
Read more

OFAC (Office of Foreign Assets Control)

Category
Read more

Penny test

Category
Read more

Cash pooling

Category
Read more

Money transmission

Category
Read more

Core banking

Category
Read more

Sweep account

Category
Read more

Flow of funds

Category
Read more

Cash application

Category
Read more

Bank Reconciliation

Category
Read more

Clearing account

Category
Read more

Cash reconciliation

Category
Read more

Take rate

Category
Read more

CHAPS (Clearing House Automated Payment System)

Category
Read more

The Clearing House (TCH)

Category
Read more

A2A payments

Category
Read more

Bulk Electronic Clearing System (BECS)

Category
Read more

Real-time gross settlement (RTGS)

Category
Read more

Same-day ACH

Category
Read more

ACH return codes

Category
Read more

PYUSD (PayPal USD)

Category
Read more

Sort Code

Category
Read more

Atomic settlement

Category
Read more
Download Due & Move Money Without Borders