Skip to main content
The legacy React Native SDK packages have been renamed with a legacy- prefix in v5 to avoid conflicts with the new JavaScript SDK (@dynamic-labs-sdk/*). If you are upgrading from v4, update every Dynamic package name in your package.json, import statements, and lockfile.
Only the package names changed — the exported identifiers (createClient, ReactNativeExtension, ViemExtension, useReactiveClient, etc.) are unchanged.

What changed

Migration steps

1

Update package.json

Replace every @dynamic-labs/* package your app uses with the corresponding legacy-* name.
package.json
Replace the example versions above with the latest v5 version you want to target.If you have expo-secure-store installed, remove it — the v5 SDK uses react-native-keychain for secure storage, so expo-secure-store is redundant.
2

Update imports

Keep the same import names; only the package path changes.
3

Clean install and rebuild

Delete your lockfile and node_modules, reinstall, and rebuild the native layer.
You must run npx expo prebuild so the new react-native-keychain native module is linked. Skipping this step causes a native-module error.
Shell
Last modified on August 4, 2026