Embedded Components onrampPrivate preview
Learn about the Embedded Components onramp.
Build an entire onramp flow native to your app with components that provide authentication and secure data collection, tailored to your app’s design. Get started
Customer flow
- A customer visits your app and wants to convert fiat to crypto or purchase crypto.
- Your app prompts them to onboard by signing up or logging in to Link.
- They sign up or log into Link without leaving your app.
- They grant your app permission to use their saved payment methods and wallets. If they’re missing required data (such as KYC information, payment methods, or wallets) they complete account configuration in your app.
- They purchase or convert crypto in a CryptoOnramp session in your app. Returning customers have the option for one-click checkout.
Integration overview
The integration breaks down into a few phases. For the full step-by-step flow, see the integration guide. For an end-to-end example, see the quickstart.
Mobile SDK configuration
Your app adds the Onramp dependency (React Native via Gradle/Podfile or Expo, or native iOS/Android) and wraps the app with StripeProvider so Stripe and Onramp are available. You can customize your business display name and appearance (for example, colors and theme) so the minimal Stripe UI matches your app.
Authentication
A Link account is required to proceed with the onramp purchase flow. Your client checks for an existing Link account with hasLinkAccount. If none, it registers the user with registerLinkUser. After sign-up or sign-in, your backend creates a LinkAuthIntent with onramp OAuth scopes, and the client runs authorize to complete consent. Your backend then calls the Stripe API to get an access token for all subsequent API requests.
Identity
The user must complete account setup before an onramp transaction. Your backend uses the Stripe APIs to see whether KYC and identity verification are done. When something is missing, your client uses the SDK: attachKycInfo to collect KYC, presentKycInfoVerification to confirm existing KYC, and verifyIdentity for identity verification before checkout.
Payment
The user needs at least one registered wallet and one payment token. You can design the flow in either of these ways: let the user choose which registered wallet to deposit to (for example, use the Stripe API to show a list of wallets), or abstract the wallet choice and always use a specific wallet (for example, the user’s primary or only wallet) so the user never sees or selects a destination.
For checkout, your backend creates a CryptoOnrampSession with amount, currencies, network, and wallet, then returns the session to the client. Your backend calls the Stripe API to confirm and fulfill. When fulfilled, the client receives the session status and blockchain transaction ID.