Overview
Use React Native to build mobile apps with Coinbase Developer Platform (CDP) embedded wallets in under 5 minutes! Get up and running fast by integrating our wallet infrastructure into your React Native project withcreate-cdp-app
.
All CDP React hooks are compatible with React Native. Check out the CDP React SDK reference for comprehensive method signatures, types, and examples.
What makes React Native embedded wallets special?
What makes React Native embedded wallets special?
React Native embedded wallets bring the same powerful CDP wallet infrastructure to mobile apps with:
- Native mobile performance: Optimized for iOS and Android
- Familiar mobile UX: Email and social login flows users expect
- Cross-platform support: Write once, run on iOS and Android
- Expo compatibility: Works seamlessly with managed and bare Expo workflows
Prerequisites
- A free CDP Portal account.
- Node.js 22+.
- A node package manager installed (i.e.,
npm
orpnpm
). - Installed iOS Simulator.
- Installed Android Emulator.
Minimum Version Requirements
Xcode | 16.1 |
iOS | 15.1 |
Android Studio | Latest stable |
Android SDK | API 24 (min) / API 35 (target) |
Android | 7.0 (API 24) |
1. Create the React Native app
1
Copy your Project ID
Navigate to CDP Portal and select your project from the top-left dropdown. Clicking the gear icon will take you to your project details:
Copy the Project ID value. You will use this in the next step when configuring your demo app.

2
Create a new React Native app
Use the latest version of
create-cdp-app
to create a new React Native app:3
Configure your app
Follow the prompts to configure your app with an embedded wallet. Name your project, select
React Native with Expo
as a template, and enter your CDP Project ID that you copied in the previous step.-
Make sure to select
React Native with Expo
as a template. - In this example we are using Smart Accounts to create a smart account for new users on sign in. This allows us to pay for transaction fees on behalf of the user.
4
Run your app
Navigate to your project directory and start the development server:
Be prepared to wait a few minutes the first time you run the app for the dev server and simulator to boot up.

2. Sign in and send your first transaction
Now that your embedded wallet is configured and your app is running, let’s try it out.1
Authenticate with email or SMS
Choose between email or SMS to receive a verification code.
SMS authentication is currently available only for United States based phone numbers.

2
Verify
Enter the verification code sent to your email or phone number.

3
View your new wallet
Congrats! Your new embedded wallet has been created, authenticated, and is ready to use on all EVM compatible networks.
We’re using Smart Accounts in this example.
If you’re not using Smart Accounts, you will see a slightly different transaction screen, with a link to get testnet ETH instead of USDC.

4
Send your first transaction
The demo app uses the wallet to send itself some testnet tokens on Base Sepolia.Get some testnet funds by tapping the Get funds from faucet button which will give you a link to the CDP Portal Faucet prefilled with your wallet address and token.
Once you claim the funds, the balance shown in the app will update automatically. Finally, tap Transfer to initiate the transfer. Once complete, you’ll see a transaction hash and a button to copy a link to the blockchain explorer.
🎉 You’ve successfully created an embedded wallet and sent your first transaction on mobile!
If you used the same configuration from above, you will have a Smart Account who’s transaction fees will
be automatically paid for by a feature called Gas Sponsorship.

What to read next
- React Hooks: Explore all available CDP hooks
- End User Authentication: Learn about available user authentication methods
- Smart Accounts: Learn about Smart Accounts and how to use them