Skip to main content
Some users may still hold an earlier generation of embedded wallet that should be moved onto Dynamic WaaS — the wallet keeps the same address. The React SDK ran this upgrade automatically inside its widget. In the JavaScript SDK there’s no widget, so the two things the widget did for you — detecting who needs the upgrade and running the flow — are now steps you trigger yourself with the @dynamic-labs-sdk/legacy-embedded-wallet-upgrade package. The build itself (detect, then upgrade by redirect / embed / popup, plus hosting and CORS) is identical in any JavaScript SDK app, so it lives in one place: Upgrading legacy embedded wallets to Dynamic WaaS (Building UI). This page only covers what changes when you migrate off the React widget.

What maps to what

React hooks (useHasWalletsRequiringUpgrade, useUpgradeRedirectResult, useUpgradeIframe) live in the package’s /react entry. See the Building UI guide for the full code, the embed/popup paths, and the required origin allowlist.

See also

Last modified on July 24, 2026