- Create a seamless branded onramp experience with app-controlled UI
- Leverage Stripe’s payment infrastructure for card, bank, and Apple Pay
- Delivers crypto to users’ Privy embedded wallets through Stripe
- Handle KYC verification through Stripe’s identity services
Prerequisites
Before integrating, ensure your app meets the following requirements:- Stripe Account with Crypto Onramp Access: Submit an application for crypto onramp
- Verified Apps Program Enrollment: Contact your Stripe representative to enroll in the verified apps program
- Privy App: A configured Privy app with embedded wallets enabled
Architecture overview
The Embedded Components onramp flow involves three components:- Your Frontend (Expo/React Native): Collects user input, displays UI, and calls Stripe Embedded Components SDK methods
- Your Backend: Calls Stripe APIs to manage crypto customers, sessions, and transactions
- Stripe Embedded Components SDK: Handles Link authentication, KYC collection, payment method selection, and identity verification
Setup
1. Install the Stripe React Native SDK with Embedded Components
Add the Stripe React Native SDK with Embedded Components onramp support to your Expo project:2. Configure Expo
Update yourapp.json to include the onramp plugin:
3. Configure StripeProvider
Wrap your app with bothPrivyProvider and StripeProvider:
Integration flow
The Embedded Components onramp follows this sequence:- User signs up or logs in to Link (returns a
CryptoCustomerID) - Your backend fetches the customer’s status (KYC, wallets, payment methods)
- If setup is needed, the Embedded Components SDK helps the user complete it
- Your backend creates and completes an onramp session
Step 1: Initialize the Onramp Coordinator
Configure the Stripe Embedded Components SDK when your component mounts:Step 2: Handle Link authentication
Check if the user has a Link account and authenticate or register them:Step 3: Check customer status (Backend)
After authentication, fetch the customer’s status from your backend:Step 4: Collect KYC data if needed
If the customer needs KYC verification, collect and submit the data:Step 5: Handle identity verification if required
For transactions requiring document verification, use the identity verification API:Step 6: Register wallet address
Register the user’s Privy wallet as their crypto destination:Step 7: Collect payment method
Allow users to select or add a payment method:Step 8: Create and complete the onramp session (Backend)
Create an onramp session and execute the transaction:Step 9: Handle 3DS and additional authentication
Some transactions require additional authentication (like 3DS for cards). TheperformCheckout SDK method handles this automatically:
Complete example
Here’s a complete component that ties together the entire flow (you can find the repo example here):Stripe Crypto onramp currently only supports stablecoin as onramp currencies.
Error handling
Handle common errors that can occur during the onramp flow:Resources
Example implementation
POC integration in the Privy Expo starter repo
Privy Expo SDK
Set up Privy embedded wallets in your Expo app
Stripe Crypto Docs
Official Stripe Crypto Onramp documentation
Bridge Onramp
Bank transfer funding via Bridge

