Run the headless JavaScript SDK in a React Native app — Expo or bare React Native.
The JavaScript SDK is framework-agnostic, so it runs in React Native the same way it runs on the web: you create a Dynamic client, add extensions for the chains you support, and call functions directly. Almost every JavaScript SDK guide applies to React Native unchanged. React Native only adds a few native-specific setup steps — polyfills, native modules, and deep links.
Install the JavaScript SDK packages (@dynamic-labs-sdk/client, @dynamic-labs-sdk/react-hooks, @dynamic-labs-sdk/evm, …). Do not install the older @dynamic-labs/legacy-client React Native SDK — despite the near-identical name, it is a separate, legacy product with a different API (createClient() and a rendered WebView). This guide covers the headless JavaScript SDK only.
Before you start: a React Native app and a Dynamic environment ID from the Dynamic developer console.
The setup differs depending on how your project is built. Pick the guide that matches your app:
Expo
Set up in an Expo app, using expo install, expo-crypto, and a custom entry point.
Bare React Native
Set up in a bare React Native app (@react-native-community/cli), including Babel and native project configuration.
Prefer a single guided path? Start with the React Native Quickstart (JS SDK) — Agent-friendly prompt or Manual embed — then return here for platform-specific details.
An embedded wallet signs inside a WebView that the SDK loads with metadata.universalLink as its host origin, so that exact value must be listed under Allowed Origins in your environment’s dashboard security settings. If it isn’t, the WebView is rejected and every signing action fails with “The embedded wallet failed to load after exhausting its retry attempts”, while reads keep working because they never open it.
Expo Go is not supported. The SDK depends on native modules that are linked only when you build the native app (for example with npx expo prebuild). Use a development build, EAS Build, or a bare React Native workflow.
Wallets — build a wallet picker, connect wallets, and manage accounts.
Two features have React Native specifics on their own pages: Passkeys and Business Accounts.Where React Native behaves differently, the feature guide shows Expo and Bare React Native tabs next to the web example — the APIs can differ between the two (for example, expo-linking versus react-native’s Linking). When a guide has no such tabs, the web example works as-is.
Last modified on October 16, 2026
Assistant
Responses are generated using AI and may contain mistakes.