Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Create a CryptoOnrampSession


Create a CryptoOnrampSession

POST / v1 / crypto / onramp_sessions

Creates a CryptoOnrampSession object.

After the CryptoOnrampSession is created, display the onramp session modal using the client_secret.

Related guide: Set up an onramp integration

Parameters

  • customer _ ip _ address string The IP address of the customer the platform intends to onramp. If the user’s IP is in a region we can’t support, we return an HTTP 400 with an appropriate error code. We support IPv4 and IPv6 addresses. Geographic supportability is checked again later in the onramp flow, which provides a way to hide the onramp option from ineligible users for a better user experience.
  • destination _ amount string The default amount of crypto to exchange into. When left null, a default value is computed if source_amount, destination_currency, and destination_network are set. When set, both destination_currency and destination_network must also be set. All cryptocurrencies are supported to their full precisions (for example, 18 decimal places for eth). We validate and generate an error if the amount exceeds the supported precision based on the exchange currency. Setting source_amount is mutually exclusive with setting destination_amount (only one or the other is supported). Users can update the amount in the onramp UI.
  • destination _ currencies array of enums The list of destination cryptocurrencies a user can choose from. When left null, all supported cryptocurrencies are shown in the onramp UI subject to destination_networks if set. When set, it must be a non-empty array where all values in the array are valid cryptocurrencies. You can use it to lock users to a specific cryptocurrency by passing a single value array. Users cannot override this parameter. Possible enum values avax Avalanche (the related setting). btc Bitcoin (BTC). eth Ether (ETH). matic Polygon (the related setting). sol Solana (SOL). usdc USD Coin (the related setting). usdt Tether (the related setting). wld Worldcoin (WLD). xlm Stellar Lumen (XLM).
  • destination _ currency enum The default destination cryptocurrency. When left null, the first value of destination_currencies is selected. When set, if destination_currencies is also set, the value of destination_currency must be present in that array. To lock a destination_currency, specify that value as the single value for destination_currencies. Users can select a different cryptocurrency in the onramp UI subject to destination_currencies if set. Possible enum values avax Avalanche (the related setting). btc Bitcoin (BTC). eth Ether (ETH). matic Polygon (the related setting). sol Solana (SOL). usdc USD Coin (the related setting). usdt Tether (the related setting). wld Worldcoin (WLD). xlm Stellar Lumen (XLM).
  • destination _ network enum The default destination crypto network. When left null, the first value of destination_networks is selected. When set, if destination_networks is also set, the value of destination_network must be present in that array. To lock a destination_network, specify that value as the single value for destination_networks. Users can select a different network in the onramp UI subject to destination_networks if set. Possible enum values avalanche Avalanche network. base Base network. bitcoin Bitcoin network. celo Celo network. ethereum Ethereum network. optimism Optimism network. polygon Polygon network. solana Solana network. stellar Stellar network. sui Sui network. Show 2 more
  • destination _ networks array of enums The list of destination crypto networks user can choose from. When left null, all supported crypto networks are shown in the onramp UI. When set, it must be a non-empty array where values in the array are each a valid crypto network. It can be used to lock users to a specific network by passing a single value array. Users cannot override this parameter. Possible enum values avalanche Avalanche network. base Base network. bitcoin Bitcoin network. celo Celo network. ethereum Ethereum network. optimism Optimism network. polygon Polygon network. solana Solana network. stellar Stellar network. sui Sui network. Show 2 more
  • kyc _ details object Pre-populate some of the required KYC information for the user if you’ve already collected it within your application. Related guide: Using the API
  • lock _ wallet _ address boolean Whether or not to lock the suggested wallet address. If destination tags are provided, this will also lock the destination tags.
  • metadata map Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.
  • settlement _ speed enum Speed at which the cryptocurrency is delivered to the wallet One of: instant (default): crypto is delivered when payment is confirmed standard: crypto is delivered when payment settles Possible enum values instant Funds are paid using instant settlement speed. standard Funds are paid using standard settlement speed.
  • source _ amount string The default amount of fiat (in decimal) to exchange into crypto. When left null, a default value is computed if destination_amount is set. When set, setting source_amount is mutually exclusive with setting destination_amount (only one or the other is supported). We don’t support fractional pennies. If fractional minor units of a currency are passed in, it generates an error. Users can update the value in the onramp UI.
  • source _ currency enum The default source fiat currency for the onramp session. When left null, a default currency is selected based on user locale. When set, it must be one of the fiat currencies supported by onramp. Users can still select a different currency in the onramp UI. Possible enum values eur Euro. usd United States Dollar.
  • wallet _ addresses object The end customer’s crypto wallet address (for each network) to use for this transaction. When left null, the user enters their wallet in the onramp UI. When set, the platform must set either destination_networks or destination_network and we perform address validation. Users can still select a different wallet in the onramp UI.

Returns

Returns the created CryptoOnrampSession object

cURL

Response

{ "id": "cos_1NamBL2eZvKYlo2CP38sZVEW", "object": "crypto.onramp_session", "client_secret": "cos_1NamBL2eZvKYlo2CP38sZVEW_secret_B5faamUkzHbcpjy6NndGq1mMZGGCo8FhK2P", "created": 1691010131, "kyc_details_provided": false, "livemode": true, "metadata": {}, "redirect_url": null, "status": "initialized", "transaction_details": { "destination_amount": null, "destination_currencies": [ "btc", "eth", "matic", "sol", "xlm", "avax", "usdc" ], "destination_currency": null, "destination_network": null, "destination_networks": [ "bitcoin", "ethereum", "base", "polygon", "solana", "stellar", "avalanche" ], "fees": null, "lock_wallet_address": false, "source_amount": null, "source_currency": null, "transaction_id": null, "wallet_address": null, "wallet_addresses": null }}

Retrieve a CryptoOnrampSession

GET / v1 / crypto / onramp_sessions /:id

Retrieves the details of a CryptoOnrampSession that was previously created.

Parameters

No parameters.

Returns

Returns a CryptoOnrampSession object

cURL

Response

{ "id": "cos_1NamBL2eZvKYlo2CP38sZVEW", "object": "crypto.onramp_session", "client_secret": "cos_1NamBL2eZvKYlo2CP38sZVEW_secret_B5faamUkzHbcpjy6NndGq1mMZGGCo8FhK2P", "created": 1691010131, "kyc_details_provided": false, "livemode": true, "metadata": {}, "redirect_url": null, "status": "initialized", "transaction_details": { "destination_amount": null, "destination_currencies": [ "btc", "eth", "matic", "sol", "xlm", "avax", "usdc" ], "destination_currency": null, "destination_network": null, "destination_networks": [ "bitcoin", "ethereum", "base", "polygon", "solana", "stellar", "avalanche" ], "fees": null, "lock_wallet_address": false, "source_amount": null, "source_currency": null, "transaction_id": null, "wallet_address": null, "wallet_addresses": null }}

List CryptoOnrampSessions

GET / v1 / crypto / onramp_sessions

Returns a list of onramp sessions that match the filter criteria. The onramp sessions are returned in sorted order, with the most recent onramp sessions appearing first.

Parameters

  • created object Only return onramp sessions that were created during the given date interval.
  • destination _ currency enum The destination cryptocurrency to filter by. Possible enum values avax Avalanche (the related setting). btc Bitcoin (BTC). eth Ether (ETH). matic Polygon (the related setting). sol Solana (SOL). usdc USD Coin (the related setting). usdt Tether (the related setting). wld Worldcoin (WLD). xlm Stellar Lumen (XLM).
  • destination _ network enum The destination blockchain network to filter by. Possible enum values avalanche Avalanche network. base Base network. bitcoin Bitcoin network. celo Celo network. ethereum Ethereum network. optimism Optimism network. polygon Polygon network. solana Solana network. stellar Stellar network. sui Sui network. Show 2 more
  • ending _ before string An object ID cursor for use in pagination.
  • limit integer A limit ranging from 1 to 100 (defaults to 10).
  • starting _ after string An object ID cursor for use in pagination.
  • status enum The status of the Onramp Session. One of = {initialized, rejected, requires_payment, fulfillment_processing, fulfillment_complete} Possible enum values fulfillment_complete Cryptocurrency has been successfully delivered to the customer’s wallet. fulfillment_processing Payment has been received and cryptocurrency delivery is being processed. initialized The onramp session has been created and is awaiting user interaction. rejected The onramp session has been rejected. requires_payment The onramp session is awaiting payment from the user.

Returns

A dictionary with a data property that contains an array of up to limit onramp sessions, starting after onramp session starting_after. Each entry in the array is a separate onramp session object. If no more onramp sessions are available, the resulting array will be empty.

cURL

Response

Last verified 2026-09-24

Is this helpful?