Skip to main content
Dynamic supports four wallet types. This page defines each and when to use it. You can use one or combine them.

Embedded wallets

Definition: Embedded wallets are crypto wallets Dynamic creates for your users. The user owns the wallet; no single party holds the full key. Key features:
  • Created when the user signs up or when needed; no browser extension or app install.
  • Users sign in with email or social login and get a wallet—no seed phrases to store.
  • No single point of failure: the full key never exists in one place, so one compromise doesn’t expose the wallet.
  • Signing is fast.
  • Users can recover access without seed phrases; multiple recovery and backup options are available.
  • Users can export their keys and move to another provider.
  • Same wallet works across web, mobile, and desktop.
  • You can pay transaction fees for users and add approval logic.
  • Works on EVM, Solana, Sui, and other chains.
Best for: Users who don’t have a wallet yet, fast signup, and when you want to pay fees for users.

Our Embedded Wallets

How embedded wallets work and how to configure them.

External wallets

Definition: External wallets are wallets from third-party providers—MetaMask, Phantom, Rainbow—that users bring to your application. Users control their keys in that wallet. Key features:
  • Users connect or sign in with a wallet they already have.
  • You can support connect-only or sign-in; you can link multiple wallets per user.
  • Wallet recommendations and risk screening available.
Best for: Users who already have a wallet and want to use it in your app, or when you want to support multiple wallets per user.

Server wallets

Definition: Server wallets are wallets your backend creates and controls. Your server signs transactions; no user is required to sign. Key features:
  • You create and own them; your backend signs.
  • No user action needed for signing.
  • Works on EVM and Solana.
Best for: Automation, bots, scheduled payouts, or any flow where your backend must sign without the user present.

Global wallets

Definition: Global wallets are embedded wallets that work in more than one app—yours or a partner’s. The same user-owned wallet can be used across those apps. Key features:
  • Same as embedded wallets (user-owned, no single party holds the full key) but usable across apps.
  • Users connect via QR or link (e.g. WalletConnect).
  • You control branding in your ecosystem.
Best for: One wallet across several apps or partners, or a branded wallet users can use in partner apps.

When to use which

  • Embedded: Users don’t have a wallet; you want fast signup and the option to pay fees for users.
  • External: Users already have a wallet (e.g. MetaMask, Phantom); you want them to connect or sign in with it, or support multiple wallets.
  • Server: Your backend must sign transactions without the user—automation, bots, scheduled flows.
  • Global: One wallet should work across multiple apps in your ecosystem or with partners.
  • Mixed: You can enable embedded and external together so users can link or switch; server wallets run separately on your backend.

Start building

Choose your SDK to implement wallets:

JavaScript

Embedded • External

React

Embedded • External • Global

React Native

Embedded • External • Global

Flutter

Embedded • External

Swift

Embedded • External

Unity

Global

Node

Server

API

Mixed