

An embedded crypto wallet is a wallet experience built into an app or website. A user may create it while signing in with an email address, social account, passkey, or another familiar method, then view a balance and approve blockchain transactions without opening a separate wallet extension.
That smoother interface does not answer the most important questions. Who can authorize a transaction? Where is the signing key or its shares? Can the user recover or export the wallet? What happens if the app or wallet provider is unavailable?
“Embedded” describes where the wallet appears, not who controls the funds. Product teams should evaluate the interface, custody model, account type, recovery path, and payment logic as separate layers.
A crypto wallet manages the authority needed to sign blockchain transactions. An embedded wallet brings that function into the product a person is already using: a marketplace, game, fintech app, loyalty program, creator platform, or checkout.
The user may never install a browser extension or copy a seed phrase during onboarding. Instead, the application can create or connect the wallet after the user authenticates. Current products use methods such as email one-time codes, social login, PINs, biometrics, and passkeys.
This delivery model is also called an in-app wallet. Wallet-as-a-Service, or WaaS, usually refers to the developer infrastructure behind it: SDKs and APIs for creating wallets, requesting signatures, applying policies, and reading balances or transaction states.
These phrases overlap, but they are not interchangeable with “non-custodial.” An embedded wallet can be designed so that only the user can authorize transactions, so that the application controls signing, or so that both participate under a defined policy.
The visible wallet is only one part of the system. A production design normally has several layers:
The app can own the interface without owning the signing authority. It can also request a transaction without having the ability to approve it. Keeping these responsibilities separate is essential when comparing wallet products.
Implementations differ, but the user journey usually follows the same broad sequence.
The application first establishes who is requesting access. Depending on the provider and design, that can involve email, SMS, a social account, a PIN, a passkey, or an existing app session.
This authentication is not automatically the blockchain signature. It may unlock the ability to request a signature, provide one factor in a distributed signing process, or activate a passkey that controls a smart account.
For a new user, the system creates a blockchain account and associates it with the application identity. A returning user receives access to the same account after completing the required recovery or authentication checks.
Product teams need to test what “same account” means across browsers, phones, email changes, social-account loss, and provider migration. A smooth first login is not a complete recovery design.
The app builds a transfer, contract call, token approval, purchase, or other request. A good interface shows the user what matters before signing:
If these details are hidden behind a generic “Confirm” button, embedded onboarding has simply moved wallet friction to the riskiest moment.
Authorization answers who is allowed to approve the action. Signing produces the cryptographic proof accepted by the blockchain. These steps may involve the user alone, the application backend, a threshold of several parties, or programmable rules.
Circle’s current signing and authorization documentation, for example, separates transaction initiation, authorization, signing, and broadcast. That distinction is useful beyond any one provider.
After signing, the transaction is sent to a blockchain network. Submission is not finality. The application still needs to monitor whether the transaction is pending, confirmed, replaced, reverted, or otherwise unsuccessful.
For a payment, that means the order should not be fulfilled merely because the wallet showed a success animation. The backend needs a defined confirmation rule and an authoritative payment state.
The most important architecture question is who can move the assets.
In a user-controlled model, the user must authorize transactions. The provider and the application should not be able to sign unilaterally under the documented design.
This can feel similar to a self-custody wallet while keeping onboarding inside the app. However, the team still needs precise answers about recovery, provider participation, export, account migration, and the consequences of losing every authentication factor.
“User-controlled” is stronger than “the user has an account.” It should describe actual signing authority, not only who sees the wallet interface.
In a developer-controlled or server-controlled model, the application backend can initiate and authorize transactions through its credentials and policies. This can support automated payouts, deposit collection, treasury operations, or service accounts.
The trade-off is responsibility. The platform must protect credentials, separate roles, set limits, log every action, handle key recovery, and define incident response. It also needs legal and compliance analysis appropriate to the service and jurisdictions involved.
Calling such a wallet “embedded” does not reduce those obligations. It only describes how the experience is delivered.
Some systems distribute signing authority or add policy checks. A transaction might need user approval plus provider participation, multiple key shares, or a rule that restricts destinations and amounts.
These controls can reduce single-key risk, but they introduce new dependencies. The product team should identify every party and service needed to sign, recover, update a policy, or move to another provider.
Embedded-wallet marketing often groups several technologies together. They solve different problems.
Multi-party computation, or MPC, can distribute a signing process across key shares so that one complete private key is not reconstructed in a single place. The security outcome depends on the threshold, where the shares live, who operates each participant, how authentication works, and how recovery is performed.
A passkey is an authentication or signing credential tied to public-key cryptography and protected by a device or credential provider. It can make approval feel familiar, but teams still need to decide how device loss, cloud synchronization, account recovery, and high-risk actions are handled.
A smart account is a blockchain account implemented with smart-contract logic. It can support features such as batched calls, sponsored network fees, spending policies, multiple signers, and recovery modules. Our guide to account abstraction and smart wallets explains that layer in detail.
An embedded wallet may use any combination of these approaches. It may also use a conventional externally owned account. Product documentation should state the actual combination instead of relying on “seedless” or “smart” as a complete architecture description.
Wallet creation is the easy demo. Recovery is the harder product.
A team should test recovery as a set of failure scenarios:
Private-key export can give a user a route to another wallet client, but it also creates a moment when sensitive key material may be exposed. Providers can restrict export by platform or wallet-creation environment. Privy, for example, documents different export availability for client-created and server-created wallets.
Export is not the only form of portability. A smart account might support changing owners or signers without exposing one private key. Another system may support migration through a recovery process. Whatever the method, “the user can always recover” is not specific enough for a security review.
An external wallet is a separate wallet application or extension that the user brings to the product. The app requests a connection and asks the wallet to sign. Protocols such as WalletConnect link wallets to apps without embedding the wallet itself.
Embedded wallets and external wallets serve different user expectations.
Embedded wallets can reduce setup steps for newcomers and keep the experience consistent with the application. The product can design onboarding, transaction explanations, recovery prompts, and support around a known flow.
External wallets give experienced users continuity across many applications. They already understand their wallet, hold assets there, and do not need a new address for every service. The application receives less control over the signing interface and must handle many wallet and network combinations.
Many products support both. A new user can start with an embedded wallet, while an experienced user connects an external one. If accounts can later be linked, the product needs clear rules for identity, balances, duplicate accounts, recovery, and unlinking.
An embedded wallet can make an in-app payment shorter: the user may already be authenticated, the product knows the intended network, and the signing prompt appears in the same interface. This is useful in games, marketplaces, creator platforms, and fintech products where a separate wallet handoff would interrupt the journey.
But a wallet and a payment system are not the same component.
The wallet holds assets and authorizes an onchain action. A merchant payment flow also needs:
Those requirements remain even if the payer signs in one tap. Our crypto payment API checklist and guide to reducing failed crypto payments cover the payment side.
CryptumPay is a crypto payment system for businesses, with API and HTML-widget integration options. It can be considered when the product needs to connect a crypto invoice and transaction status to an order, balance, access right, or other business event. It should not be described as the embedded-wallet layer unless that separate capability is documented.
Security claims are useful only when tied to a threat model. Ask the provider and your own engineering team:
Embedded wallets do not eliminate phishing or malicious approvals. A familiar login can even create the false impression that every action inside the application is safe. Users still need readable transaction details, and teams still need controls around token approvals and revocation.
For user education, distinguish account recovery from key safety. A person who can export a private key must understand that anyone who obtains it can control the account. The seed phrase and private key security guide remains relevant even when the initial experience hides both.
Start with the product action, not the wallet feature list.
Write down who must approve each type of transaction: the user, the platform, several operators, or a policy engine. Separate consumer balances from automated service wallets and company treasury.
Test lost device, lost email, changed phone number, compromised account, provider outage, and provider exit. Define which support staff can see or change recovery state.
Check whether the product creates externally owned accounts, smart accounts, or both. Verify supported production networks, tokens, contract calls, fee behavior, and address consistency. Do not infer mainnet coverage from a testnet demo.
Ask whether the user can export a key, change a smart-account owner, connect another signer, or migrate to a different provider. Document the limitations in user-facing language.
Show the action, recipient, network, asset, amount, fee, approvals, and any batch contents. Treat generic signature requests as a security defect, not a cosmetic issue.
Add rate limits, audit logs, alerts, webhook authentication, idempotency, retries, incident procedures, and customer-support tools. Test transactions that remain pending or fail after signing.
Decide whether the product needs users to keep funds, make occasional purchases, receive payouts, or merely pay an invoice. A full embedded wallet may be unnecessary for a simple checkout. Conversely, a checkout widget is not a replacement for long-lived user custody.
For mobile products, the decision also affects deep links, app switching, session continuity, and approval screens. The mobile crypto payment integration guide provides a broader implementation context.
Embedded crypto wallets can make blockchain accounts feel like a native product feature. That is valuable, but the shorter onboarding flow should not hide the architecture.
The useful questions are concrete: who authorizes, how signing works, what the user sees, how access is recovered, whether the account is portable, and how the application reacts after a transaction is submitted.
If users need to hold assets and act repeatedly inside the product, an embedded wallet may be the right foundation. If the main requirement is accepting a payment and updating an order, a payment integration such as CryptumPay may solve the business workflow without making the application responsible for a complete wallet experience. Some products need both layers, but they should remain explicit, testable, and independently recoverable.
Create an account and connect the checkout yourself, or talk to sales and we will plan the integration with you.
Contact us and we will plan the integration.