π Headers
Header | Description |
---|---|
partner-api-key | API key associated with your partner account. Required. See API Key Generation Guide. |
partner-api-key
.π₯ Request Body
Parameter | Type | Required | Description |
---|---|---|---|
userId | string | β | ID of the user on whose behalf the transaction is created. The userβs kyc must be verified first. |
fiatAmount | number | π | Amount of fiat to be converted. Required if cryptoAmount is not provided. |
cryptoAmount | number | π | Amount of crypto to be converted to fiat. Required if fiatAmount is not provided. |
fiatCurrency | string | β | Currency for the off-ramp transaction. The user must have an account in this currency. Accepted values follow the ISO 4217 format (e.g., MXN , DOP ). |
blockchainSymbol | string | β | Identifier of the blockchain used for the conversion. Refer to our supported blockchain list for availability. |
tokenSymbol | string | β | Identifier of the token used for the conversion. Refer to our supported token list for availability. |
premiumSpread | number | π | Additional percentage applied to the exchange rate. This amount is fully awarded to the partner. |
userBankInformation | object | β | Userβs bank information to be saved. See nested fields below. |
string | β | Unique account identifier (CLABE for Mexico, Account Number for the Dominican Republic). | |
string | β | Country in which the bank account is held. | |
string | π | Name of the userβs bank. List of Dominican Republic Banks | |
string | π | Type of bank account SAVINGS or CHECKING . Only required for the Dominican Republic. | |
string | π | Unique identifier of the document linked to the bank account. Only required for the Dominican Republic. | |
string | π | Document Type PASSPORT or RNC orCEDULA . Only Required for the Dominican Republic |
π¨ Example Request MX
π¨ Example Request DO
π€ Response Body
Field | Type | Description |
---|---|---|
id | string | Unique ID of the created transaction. |
userId | string | User ID associated with the transaction. |
status | string | Current status of the transaction. Initially set to "PENDING" . |
cryptoAmount | number | Amount of cryptocurrency being converted. |
fiatAmount | number | Amount of fiat currency received after conversion. |
exchangeRate | number | Exchange rate used for the crypto-to-fiat conversion. |
tokenSymbol | string | Symbol of the cryptocurrency used. |
blockchainSymbol | string | Symbol of the blockchain the cryptocurrency belongs to. |
fiatCurrency | string | Currency code of the fiat currency received (e.g., "MXN" ). |
createdAt | string | ISO timestamp indicating when the transaction was created. |
completedAt | string | ISO timestamp indicating when the transaction was completed, or null if pending. |
destinationWalletAddress | string | Wallet address where the user will need to send the crypto. |
bankAccount | object | Information about the userβs bank account. |
bankAccount.isVerified | boolean | Indicates whether the account has been verified and linked to the user. |
bankAccount .accountIdentifier | string | Unique identifier of the account (CLABE for Mexico, Account Number for DO). |
bankAccount.country | string | Country where the bank account is held. |
bankAccount.accountType | string | Type of bank account. Only required for the Dominican Republic. |
bankAccount.bankName | string | Name of the bank. Only required for the Dominican Republic. |
bankAccount .documentIdentifier | string | Unique identifier of the document linked to the account. |
premiumSpread | number | Additional percentage applied for premium services. |
π Example Response
β οΈ Important Notes & Requirements
- Partner API Key is mandatory: All requests must include a valid
PartnerApiKey
in the header. Get your API key. - User must be verified: The user (
userId
) must have completed KYC. The verification is only made once. - Supported Countries: Only flows from
MX
(Mexico) andDO
(Dominican Republic) are currently supported. - Amount Limits: Crypto amounts must respect the minimum and maximum thresholds defined in the partner agreement.
- Valid Blockchain & Token name: Ensure
blockchainSymbol
andtokenSymbol
are retrieved from valid sources. Contact support for available options. - Destination wallet: Each user have itβs own destination wallet, ensure youβre using the wallet from the response to send the crypto
- Verification Bank Account in Mexico: If this is the first time a bank account is used there will be a penny test in Mexico to check that the KYCβd user is the actual owner. If it is not the transaction will be cancelled.
- Account Identifier Validation in Mexico: Make sure to send a valid CLABE for Mexico using the following regex
^\d{18}$
. This npm package could also be used for validation Clabe Validator
β Use Cases
- User Payout: Initiate a crypto-to-fiat payout to a verified user.
- B2C Integration: Allow individual users to off-ramp from within your app or service.
- B2B or Corporate Flows: Automate withdrawals to company bank accounts after receiving crypto payments.
Headers
Api key for the affiliated partner that is performing the request
Body
Identifier for the user who's submitting the off-ramp order
"8374f327-38bd-4b0b-b8a7-2524599eb903"
User bank info to be saved
Identifier for the quote to be used for the transaction.
Amount of fiat currency to be received in conversion.
10200
Amount of crypto currency to be converted to fiat currency.
10200
Identifier for the fiat currency which the user will rec. Required when quoteId is not provided.
MXN
, DOP
, USD
, EUR
"MXN"
Identifier for the blockchain to token from which the conversion will be made. Required when quoteId is not provided.
POL
, SOL
, BASE
, ARB
, BSC
, OP
, WLD
, STK
, ETH
, MTN
, CORE
"BASE"
Identifier for the token from which the conversion will be made. Required when quoteId is not provided.
USDC
, USDT
, MXNe
, SOL
, ETH
, wBTC
, cbBTC
, PYSUD
, POL
, BNB
, WLD
, STK
, USDY
, CORE
, USDC.e
, wUSDL
, CoreBTC
, MATIC
, USDbC
"ETH"
Spread percentage to be applied to the exchange rate
0.01