
Wallet / Auth·EVM · Solana · Bitcoin
Dynamic
Wallet auth and embedded wallets with social, email, and passkey login. Supports EVM, Solana, and Bitcoin from one provider.
- 01consumer apps
- 02embedded wallets
- 03email/social login
- 04multi-chain auth
- 05MPC wallets
- pnpm add @dynamic-labs/sdk-react-core @dynamic-labs/ethereum @dynamic-labs/solana @dynamic-labs/wagmi-connector
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_DYNAMIC_ENVIRONMENT_ID | Client | Dynamic environment ID from the Dynamic dashboard. |
Use Dynamic for authentication and embedded wallet creation. Wrap the app in `DynamicContextProvider` with `environmentId` from `NEXT_PUBLIC_DYNAMIC_ENVIRONMENT_ID`. Read auth state via `useDynamicContext()` (`primaryWallet`, `user`, `sdkHasLoaded`). Configure wallet connectors for EthereumWalletConnectors and SolanaWalletConnectors as needed.
- ⚑Always gate UI on `sdkHasLoaded` before reading `primaryWallet` to avoid flicker.
- ⚑Embedded-wallet-only environments cannot connect external wallets — match environment to your auth strategy.
- ⚑Server-side: verify Dynamic JWT via `verifyDynamicJWT` rather than trusting client-supplied addresses.
- ⚑Mobile webviews need explicit deep-link config in the Dynamic dashboard.