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 Replace the example versions above with the latest v5 version you want to target.If you have
@dynamic-labs/* package your app uses with the corresponding legacy-* name.package.json
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.- Expo
- Bare React Native
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
Related migration
- If you are also moving from
expo-secure-storetoreact-native-keychain, see the React Native secure-storage migration guide.