
Native mobile onramp
Before you start
Set up your project and get an API key.
Onramp Embedded Quickstart
See a full working example.
You can start testing Onramp in staging. Once you are ready to go live, reach out to
sales to enable the feature in production
- Install the React Native SDK using npm/yarn
- Create a Crossmint order for your authenticated users
- Use Crossmint’s embedded checkout component to handle KYC, payment, and delivery automatically
Requirements
- React Native 0.60+
- Expo (recommended) or bare React Native CLI
- iOS 13.0+ / Android 5.0+
1. Installation
Install the Crossmint React Native SDK.1
Install the SDK
2
Create API keys
Create a server-side API key with the
Create a client-side API key for the embedded checkout component.
orders.create and orders.read scopes enabled.Create a client-side API key for the embedded checkout component.
3
Add environment variables
Add environment variables to your
.env or .env.local:For Expo projects, use the
EXPO_PUBLIC_ prefix. For bare React Native, configure environment variables according to your setup.2. Create Order
Use the Create Order API to initiate the purchase process from your backend. Use the following token addresses for USDC on staging:| Chain | Staging Token Address |
|---|---|
| Solana | 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU |
| Base | 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
🚨 IMPORTANT: The
payment.receiptEmail parameter is required for compliance reasons. This email is used by Crossmint to determine whether KYC is required for the order. The API accepts either recipient.email OR recipient.walletAddress, not both.Example Response
Example Response
3. Use Embedded Checkout
Once you have the order response withorderId and clientSecret, use Crossmint’s embedded checkout component in your React Native app:
Key Features
- Cross-platform: Works on both iOS and Android
- Native Performance: Optimized for mobile devices
- Automatic KYC: Handles verification flow automatically
- Multiple Payment Methods: Credit/debit cards, Apple Pay (iOS), Google Pay (Android)
4. Track Order
After the user completes payment, you can track the order status using webhooks or polling.Option 1: Webhooks (Recommended)
Configure a webhook endpoint to receive real-time order status updates:- Go to the Crossmint Console
- Add your webhook endpoint URL
- Subscribe to
order.payment.succeededandorder.delivery.succeededevents
Option 2: Polling
Poll the order status endpoint from your backend:order.payment.status and order.lineItems[].delivery.status fields to track progress.
Transaction Completion
Upon successful payment:- The purchased tokens (minus fees) are sent directly to the user’s wallet
- User receives an email receipt from hello@crossmint.io
- The embedded checkout component handles all the complexity of KYC verification and payment processing automatically
Next Steps
- Explore our Payment Methods Guide to learn about different payment options
- Check out our Production Launch Guide for going live

