Embedded wallets are Dynamic-created, user-owned wallets secured with multi-party computation (MPC). You configure how they behave per environment — when they’re created, how users recover them, whether gas is sponsored — through the project settings tree underDocumentation Index
Fetch the complete documentation index at: https://www.dynamic.xyz/docs/llms.txt
Use this file to discover all available pages before exploring further.
sdk.embeddedWallets.
What you need: The CLI installed and authenticated, with an environment selected. See Getting started. These settings change configuration for the active environment — confirm it with
dyn status first.Discover the available settings
dyn settings list is the canonical discovery surface. Filter it to the embedded wallet subtree:
Control wallet creation
Mark that new users should get an embedded wallet:Acting on this setting:
- JavaScript SDK (
@dynamic-labs/client): read the policy for the user’s chain withshouldAutoCreateWalletForChain, then create the wallet when it returnstrueby callingcreateWaasWalletAccounts. This lets you decide exactly when creation happens — right after sign-up, or lazily before the first transaction. See Creating WaaS wallet accounts. - Legacy React SDK (
@dynamic-labs/sdk-react-core): the wallet is created automatically during sign-up — no extra code. See Creating wallets.
Configure recovery and security
Let users start account recovery by email:Acting on these settings:
- JavaScript SDK (
@dynamic-labs/client): you own the recovery and sign-up security experience. Offer email recovery and prompt for an authenticator at the points your flow calls for them, using the SDK’s WaaS recovery and authentication APIs — which also lets you tailor exactly when each prompt appears. (These particular toggles configure the prebuilt prompts in the legacy React SDK; on the JavaScript SDK you implement the equivalent UX directly.) - Legacy React SDK (
@dynamic-labs/sdk-react-core): these render prebuilt recovery and authenticator prompts for you during the auth flow.
Sponsor gas
Cover network fees so users don’t pay them. Enable per chain family:Gas sponsorship is enforced by Dynamic when a transaction is submitted, so the policy applies no matter which SDK you use. In the JavaScript SDK (
@dynamic-labs/client), check it before submitting with the isEvmGasSponsorshipEnabled helper; the legacy React SDK routes transactions through sponsorship transparently.Email notifications
Dynamic emails users on sensitive wallet events. These are sent server-side and apply regardless of SDK. They are on by default; toggle them undersecurity.notifications:
Apply across environments
To roll the same wallet configuration from sandbox to live, capture it as code and apply it rather than re-running eachset:
Related
- Embedded wallets overview — how MPC embedded wallets work.
- Project settings — the full settings tree and
dyn settingscommands. - Config as code — export and apply environment configuration.