Please make sure you are on v4.20.6 before continuing.
During Signup (Automatic)
Creating Embedded Wallets
By default, embedded wallets are created automatically for users during sign-up if they don’t already have a wallet on the enabled chain. All you have to do is check that the “Create on Sign up” toggle is turned on in the Embedded Wallet configuration page.
Automatic embedded wallet creation only creates a single wallet for a user on each chain you have selected. For information on how to create multiple wallets, see the “Creating Wallets Any Time” section below.
Creating Wallets for users with External Wallets
You can automatically create embedded wallets for users who sign in with external wallets like MetaMask. To enable this feature, open the “Create on Sign Up” card, expand the “Advanced Options” panel, and turn on the “Embedded Wallet for Third-Party Wallets” toggle.
Custom Logic (Manual)
Check if User has an Embedded Wallet
You can check if a user has an embedded wallet usingwallets.embedded.hasWallet.
React Native
Creating Wallets Any Time
If you do not want to create wallets for users automatically when they sign up, you can create wallets for users using custom logic. To create a wallet, call thecreateWallet method. You can optionally specify a chain.
React Native
Creating Wallets with a Password
You can create MPC wallets that are protected with a password for additional security. When a wallet is created with a password, certain operations (like signing transactions or exporting keys) will require the password to be provided. For more details, see Password encryption.Password options
There are two approaches to providing the password:| Approach | Description | Best for |
|---|---|---|
| User-provided | User chooses and remembers their own password | Users who want full control over wallet security |
| Developer-managed | You generate and store the passwords on your backend | Seamless UX without password prompts |
Why use developer-managed passwords?
- Seamless device migration: Users can lose their device and seamlessly migrate to a new one without needing to remember any password.
- Better user experience: No password prompts or recovery flows for users to manage.
- Reduced trust in any single party: No single party (Dynamic, encryption provider, or you) can access the wallet alone—all three would need to collude, eliminating single points of trust.
Important considerations
- User-provided passwords: Ensure users understand the importance of backing up their passwords. If lost, wallet recovery may not be possible.
- Developer-managed passwords: Store passwords securely on your backend with proper encryption. You are responsible for password security and availability. Use unique passwords for each user—do not reuse passwords across different users.