The Crypto Onramp Session object
Attributes
- id string Unique identifier for the object.
- object string, value is "crypto.onramp_session" String representing the object’s type. Objects of the same type share the same value.
- client _ secret string A client secret that can be used to drive a single session using our embedded widget. Related guide: Set up an onramp integration
- created timestamp Time at which the object was created. Measured in seconds since the Unix epoch.
- kyc _ details _ provided boolean Has the value
trueif any user kyc details were provided during the creation of the onramp session. Otherwise, has the valuefalse. - livemode boolean If the object exists in live mode, the value is
true. If the object exists in test mode, the value isfalse. - metadata nullable 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.
- redirect _ url nullable string Redirect your users to the URL for a prebuilt frontend integration of the crypto onramp on the standalone hosted onramp. Related guide: Mint a session with a redirect url
- status string The status of the Onramp Session. One of =
{initialized, rejected, requires_payment, fulfillment_processing, fulfillment_complete} - transaction _ details object A hash representing monetary details of the transaction this session represents.
The Crypto Onramp Session object
{ "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 }}
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 400with 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, anddestination_networkare set. When set, bothdestination_currencyanddestination_networkmust also be set. All cryptocurrencies are supported to their full precisions (for example, 18 decimal places foreth). We validate and generate an error if the amount exceeds the supported precision based on the exchange currency. Settingsource_amountis mutually exclusive with settingdestination_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_networksif 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 valuesavaxAvalanche (the related setting).btcBitcoin (BTC).ethEther (ETH).maticPolygon (the related setting).solSolana (SOL).usdcUSD Coin (the related setting).usdtTether (the related setting).wldWorldcoin (WLD).xlmStellar Lumen (XLM). - destination _ currency enum The default destination cryptocurrency. When left null, the first value of
destination_currenciesis selected. When set, ifdestination_currenciesis also set, the value ofdestination_currencymust be present in that array. To lock adestination_currency, specify that value as the single value fordestination_currencies. Users can select a different cryptocurrency in the onramp UI subject todestination_currenciesif set. Possible enum valuesavaxAvalanche (the related setting).btcBitcoin (BTC).ethEther (ETH).maticPolygon (the related setting).solSolana (SOL).usdcUSD Coin (the related setting).usdtTether (the related setting).wldWorldcoin (WLD).xlmStellar Lumen (XLM). - destination _ network enum The default destination crypto network. When left null, the first value of
destination_networksis selected. When set, ifdestination_networksis also set, the value ofdestination_networkmust be present in that array. To lock adestination_network, specify that value as the single value fordestination_networks. Users can select a different network in the onramp UI subject todestination_networksif set. Possible enum valuesavalancheAvalanche network.baseBase network.bitcoinBitcoin network.celoCelo network.ethereumEthereum network.optimismOptimism network.polygonPolygon network.solanaSolana network.stellarStellar network.suiSui 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
avalancheAvalanche network.baseBase network.bitcoinBitcoin network.celoCelo network.ethereumEthereum network.optimismOptimism network.polygonPolygon network.solanaSolana network.stellarStellar network.suiSui 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 confirmedstandard: crypto is delivered when payment settles Possible enum valuesinstantFunds are paid using instant settlement speed.standardFunds 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_amountis set. When set, settingsource_amountis mutually exclusive with settingdestination_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
eurEuro.usdUnited 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_networksordestination_networkand 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 }}
