General Setup
Enable in Dashboard
Navigate to the Dynamic Dashboard > Developers and enable Embedded Wallets, then click settings and choose the chains you’d like wallets created on.
Using your UI
- React
- React Native
- Swift
- Flutter
Only supported on React SDK v4.20.0 and later versions
Reference example: https://github.com/dynamic-labs/examples/tree/main/examples/nextjs-mpc-demo
1
Install Wallet Connectors
Note: You only need to install the connectors for the chains you want to support.
2
Configure CSP
You must whitelist the dynamic auth URL for the iframe connection to work. Here’s how:
In an HTTP header (e.g., Express.js)
In an HTTP header (e.g., Express.js)
⚠️ If you’re already setting CSP, append https://app.dynamicauth.com to the existing frame-src list rather than replacing it.
In an HTML `<meta>` tag
In an HTML `<meta>` tag
In NGINX config
In NGINX config
In Vercel or Netlify (via headers file)
In Vercel or Netlify (via headers file)
vercel.json
In _headers (Netlify)
In _headers (Netlify)
_headers
3
Configure Your Provider
Include the appropriate connectors inside your provider settings:Now, once logged in, users will have an embedded wallet for each chain you have enabled. For more detailed options around wallet creation, see the Creating Wallets guide.
4
Use the Wallet Just Like Any Other
You can find plenty of examples in Using Wallets. Here’s a simple example of fetching the public and wallet client on Ethereum.
5
Access Functionality Through the Connector Directly
For certain functionality, you will need to access the connector directly and type it as a DynamicWaasEVMConnector, DynamicWaasSVMConnector or DynamicWaasSuiConnector.Here’s an example for Ethereum.