Skip to content
Create account or Sign in
The Stripe Docs logo
/
Ask AI
Create accountSign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
APIs & SDKsHelp
OverviewAccept a paymentUpgrade your integration
Online payments
OverviewFind your use case
Use Payment Links
Use a prebuilt checkout page
Build a custom integration with Elements
Build an in-app integration
Use Managed Payments
Recurring payments
In-person payments
Terminal
Payment methods
Add payment methods
Manage payment methods
Faster checkout with Link
Payment operations
Analytics
Balances and settlement time
Compliance and security
Currencies
Declines
Disputes
Fraud prevention
Radar fraud protection
Payouts
ReceiptsRefunds and cancellations
Advanced integrations
Custom payment flows
Flexible acquiring
Off-Session Payments
Multiprocessor orchestration
Beyond payments
Incorporate your company
Crypto
    Overview
    Fiat-to-crypto onramp
      Overview
      Get started
      Embedded onramp
      Embedded onramp extended guide
      Stripe-hosted onramp
      Embedded Components onramp
      Embedded Components onramp integration guide
      Embedded Components onramp quickstart
Agentic commerce
Machine payments
Financial Connections
Climate
Verify identities
United States
English (United States)
HomePaymentsCryptoFiat-to-crypto onramp

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

  1. A customer visits your app and wants to convert fiat to crypto or purchase crypto.
  2. Your app prompts them to onboard by signing up or logging in to Link.
  3. They sign up or log into Link without leaving your app.
  4. 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.
  5. 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.

Next steps

  • Sign up to join the private preview
  • Embedded Components onramp quickstart
  • Integrate the Embedded Components onramp
  • Try our sample apps: iOS and Android
Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Chat with Stripe developers on Discord.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc
On this page