# 2. Cryptocurrency exchange for fiat currency
Request method
- POST
Request URL
/api/v1/exchange/express/trade/sell
Request Header
Content-Type: application/json; charset=utf-8
Request header parameter description
| Parameter name | type | describe | Example Value |
|---|---|---|---|
| access_key | String | Access key obtained from the merchant backend | pFqV75X3 |
| timestamp | int64 | 13-bit millisecond timestamp | 1679724896223 |
| nonce | String | UUID V4 random string | 794c26b0-d33c-4394-b2bb-c485eca16d9e |
| sign | String | Calculate the generated signature value | kAXyh+eerqrefyaF8dyFB0M4FVo= |
All parameters must be sent in the Header. Please refer to the data signature specification for signature generation.
# BRL
Request sample :
{
"externalOrderId": "20250513192316237779",
"chainType": "BSC",
"tokenType": "USDT",
"tokenAmount": "10.214234221423422312",
"currencyType": "BRL",
"payType": "PIX",
"userInfoType" : "CNPJ" ,
"userInfoNo": "05598146333",
"userInfoName" : "Jaime de" ,
"accountType": "EMAIL",
"accountNo": "[email protected]",
"remark" : "yuri test" ,
"notifyUrl" : "https://test/testNotifySuccess"
}
Request parameter description
1. Skip First Screen Mode
| Parameter name | type | Is this field required? | describe |
|---|---|---|---|
| externalOrderId | String | Yes | Merchant order number |
| chainType | String | Yes | Chain type BSC |
| tokenType | String | Yes | Token Type USDT |
| tokenAmount | String | Yes | Number of tokens |
| currencyType | String | Yes | Fiat currency type BRL |
| payType | String | Yes | Payment Type PIX |
| userInfoType | String | Yes | User information type CPF CNPJ |
| userInfoNo | String | Yes | User Information Number |
| userInfoName | String | Yes | Username |
| accountType | String | Yes | Account Type CPF CNPJ PHONE EMAIL EVP |
| accountNo | String | Yes | Account Number |
| remark | String | No | Transaction Notes |
| notifyUrl | String | No | Asynchronous notification callback address (public network address is recommended) |
| reviewQuote | String | No | Skip the quotation page: 1=Yes, 0=No (Default: 0) |
2. Standard Quotation Mode
| Parameter name | type | Is this field required? | describe |
|---|---|---|---|
| externalOrderId | String | No | Merchant order number |
| chainType | String | Yes | Blockchain type (BSC) |
| tokenType | String | Yes | Token type (USDT) |
| tokenAmount | String | No | Amount of tokens |
| currencyType | String | Yes | Fiat currency type (BRL) |
| payType | String | Yes | Payment type: PIX |
| userInfoType | String | No | User information type: CPF, CNPJ |
| userInfoNo | String | No | User information number |
| userInfoName | String | No | User name |
| accountType | String | No | Account type: CPF, CNPJ, PHONE, EMAIL, EVP |
| accountNo | String | No | Account number |
| remark | String | No | Transaction remark |
| notifyUrl | String | No | Asynchronous callback URL (preferably public URL) |
| reviewQuote | String | No | Whether to skip the quotation page: 1=Yes, 0=No (default: 0) |
Example Response
Response Header Type
Content-Type: application/json; charset=utf-8
Response data (success)
{
"code": "200",
"success": true,
"msg" : "Success" ,
"msgEn": "SUCCESS",
"data": {
"chainType": "BSC",
"currencyAmount": "57.31",
"tokenAmount": "10.214234221423422312",
"currencyType": "BRL",
"tokenType": "USDT",
"externalOrderId": "20250513192316237779",
"orderId": "OEXCHEXCH202505131123171747135397709-U0000000401298841",
"tradeType": "SELL",
"addressTo": "0x369b87cbd5851b00c297fdcc461a68d0811ae5ae",
"exchangePrice": "5.611",
"orderFee": "1.15",
"cashierUrl": "http://crypto/OEXCHEXCH202505131123171747135397709-U0000000401298841"
}
}
Response Field Description
| Param | Type | Desc |
|---|---|---|
| chainType | String | Chain Type |
| currencyAmount | String | Fiat Currency Amount |
| tokenAmount | String | Token Amount |
| currencyType | String | Fiat Currency Type |
| tokenType | String | Token Type |
| externalOrderId | String | Merchant Order ID |
| orderId | String | Order ID |
| tradeType | String | Trade Type |
| addressTo | String | Address |
| exchangePrice | String | Exchange Rate |
| orderFee | String | Transaction Fee |
| cashierUrl | String | Exchange Cashier URL |
# INR
Request Example :
{
"externalOrderId": "20250513184349208965",
"chainType": "BSC",
"tokenType": "USDT",
"tokenAmount": "1",
"currencyType": "INR",
"payType": "BANK",
"userInfoNo": "UTIB0001617",
"userInfoName": "joy",
"accountName": "BandhanBank",
"accountNo": "000000",
"remark": "test",
"notifyUrl": "https://test/testNotifySuccess"
}
Request Parameter Explanation
1. Skip First Screen Mode
| Parameter Name | Type | Required | Description |
|---|---|---|---|
| externalOrderId | String | Yes | Merchant order number |
| chainType | String | Yes | Blockchain type (BSC) |
| tokenType | String | Yes | Token type (USDT) |
| tokenAmount | String | Yes | Token amount |
| currencyType | String | Yes | Fiat currency type (INR) |
| payType | String | Yes | Payment type (BANK) |
| userInfoNo | String | Yes | User information number |
| userInfoName | String | No | User name |
| accountName | String | Yes | Account name |
| accountNo | String | Yes | Account number |
| remark | String | No | Transaction remark |
| notifyUrl | String | No | Asynchronous notification callback URL (suggested public URL) |
| reviewQuote | String | no | Skip the quotation page: 1=Yes, 0=No (Default: 0) |
2. Standard Quotation Mode
| Parameter Name | Type | Required | Description |
|---|---|---|---|
| externalOrderId | String | No | Merchant order number |
| chainType | String | Yes | Blockchain type (BSC) |
| tokenType | String | Yes | Token type (USDT) |
| tokenAmount | String | No | Amount of tokens |
| currencyType | String | Yes | Fiat currency type (INR) |
| payType | String | Yes | Payment type (BANK) |
| userInfoNo | String | No | User information number |
| userInfoName | String | No | User name |
| accountName | String | No | Account name |
| accountNo | String | No | Account number |
| remark | String | No | Transaction remark |
| notifyUrl | String | No | Asynchronous callback URL (preferably public URL) |
| reviewQuote | String | No | Whether to skip the quotation page: 1=Yes, 0=No (default: 0) |
Response Example
Response Header Type
Content-Type: application/json; charset=utf-8
Response Data (Success)
{
"code": "200",
"success": true,
"msg": "成功",
"msgEn": "SUCCESS",
"data": {
"chainType": "BSC",
"currencyAmount": "93.61",
"tokenAmount": "1",
"currencyType": "INR",
"tokenType": "USDT",
"externalOrderId": "20250513184349208965",
"orderId": "OEXCHEXCH202505131043501747133030606-U0000000401298826",
"tradeType": "SELL",
"addressTo": "0x6871d4c9146d9d8d17ce540340989838064e783d",
"exchangePrice": "93.6169",
"orderFee": "1.16",
"cashierUrl": "http://crypto/OEXCHEXCH202505131043501747133030606-U0000000401298826"
}
}
Response Field Explanation
| Param | Type | Desc |
|---|---|---|
| chainType | String | Main chain |
| currencyAmount | String | Fiat currency amount |
| tokenAmount | String | Token amount |
| currencyType | String | Fiat currency type |
| tokenType | String | Token type |
| externalOrderId | String | Merchant order number |
| orderId | String | Order number |
| tradeType | String | Trade type |
| addressTo | String | Address |
| exchangePrice | String | Exchange rate |
| orderFee | String | Transaction fee |
| cashierUrl | String | Exchange cashier URL |
# MXN
Request Example :
{
"externalOrderId": "20250513184349208965",
"chainType": "BSC",
"tokenType": "USDT",
"tokenAmount": "1",
"currencyType": "MXN",
"payType": "BANK",
"userInfoNo": "000681199509245710",
"userInfoName": "Abraham Meza Aragon",
"accountName": "BANSI",
"accountNo": "0000800156793042",
"accountType":"BANK_CARD",
"remark": "test",
"notifyUrl": "https://test/testNotifySuccess"
}
Request Parameter Explanation
1. Skip First Screen Mode
| Parameter Name | Type | Required | Description |
|---|---|---|---|
| externalOrderId | String | Yes | Merchant order ID |
| chainType | String | Yes | Chain type (BSC) |
| tokenType | String | Yes | Token type (USDT) |
| tokenAmount | String | Yes | Token amount |
| currencyType | String | Yes | Fiat currency type (MXN) |
| payType | String | Yes | Payment type (BANK) |
| accountType | String | Yes | Account type (CLABE, BANK_CARD) |
| userInfoNo | String | Yes | Identification number |
| userInfoName | String | Yes | Bank account holder name |
| accountName | String | Yes | Bank name |
| accountNo | String | Yes | Bank account number |
| remark | String | No | Transaction remark |
| notifyUrl | String | No | Asynchronous notification callback URL (suggested: public URL) |
| reviewQuote | String | No | Skip quotation page: 1 = yes, 0 = no (default: 0) |
2. Standard Quotation Mode
| Parameter Name | Type | Required | Description |
|---|---|---|---|
| externalOrderId | String | No | Merchant order number |
| chainType | String | Yes | Blockchain type (BSC) |
| tokenType | String | Yes | Token type (USDT) |
| tokenAmount | String | No | Amount of tokens |
| currencyType | String | Yes | Fiat currency type (MXN) |
| payType | String | Yes | Payment type (BANK) |
| accountType | String | No | Account type (CLABE, BANK_CARD) |
| userInfoNo | String | No | ID number |
| userInfoName | String | No | Bank account name |
| accountName | String | No | Bank name |
| accountNo | String | No | Bank account number |
| remark | String | No | Transaction remark |
| notifyUrl | String | No | Asynchronous callback URL (preferably public URL) |
| reviewQuote | String | No | Whether to skip the quotation page: 1=Yes, 0=No (default: 0) |
Response Example
Response Header Type
Content-Type: application/json; charset=utf-8
Response Data (Success)
{
"code": "200",
"success": true,
"msg": "Success",
"msgEn": "SUCCESS",
"data": {
"chainType": "BSC",
"currencyAmount": "93.61",
"tokenAmount": "1",
"currencyType": "MXN",
"tokenType": "USDT",
"externalOrderId": "20250513184349208965",
"orderId": "OEXCHEXCH202505131043501747133030606-U0000000401298826",
"tradeType": "SELL",
"addressTo": "0x6871d4c9146d9d8d17ce540340989838064e783d",
"exchangePrice": "93.6169",
"orderFee": "1.16",
"cashierUrl": "http://crypto/OEXCHEXCH202505131043501747133030606-U0000000401298826"
}
}
Response Field Explanation
| Parameter Name | Type | Description |
|---|---|---|
| chainType | String | Main chain |
| currencyAmount | String | Fiat currency amount |
| tokenAmount | String | Token amount |
| currencyType | String | Fiat currency type |
| tokenType | String | Token type |
| externalOrderId | String | Merchant order ID |
| orderId | String | Order ID |
| tradeType | String | Transaction type |
| addressTo | String | Address |
| exchangePrice | String | Exchange rate |
| orderFee | String | Transaction fee |
| cashierUrl | String | Exchange cashier URL |
# VND
Request Example :
{
"externalOrderId": "YURITEST20250610100000831797",
"chainType": "BSC",
"tokenType": "USDT",
"tokenAmount": "2.01243",
"currencyType": "VND",
"payType": "BANK",
"accountName": "test bank",
"accountNo": "123456789123456789",
"userInfoName": "yuri",
"reviewQuote": "1",
"remark": "yuri test",
"notifyUrl": ""
}
Request Parameter Explanation
1. Skip First Screen Mode
| Parameter Name | Type | Required | Description |
|---|---|---|---|
| externalOrderId | String | Yes | Merchant order ID |
| chainType | String | Yes | Blockchain network (e.g. BSC) |
| tokenType | String | Yes | Token type (e.g. USDT) |
| tokenAmount | String | Yes | Token quantity |
| currencyType | String | Yes | Fiat currency (e.g. VND) |
| payType | String | Yes | Payment method (e.g. BANK) |
| userInfoName | String | Yes | Bank account holder name |
| accountName | String | Yes | Bank name |
| accountNo | String | Yes | Bank account number |
| remark | String | No | Transaction remarks |
| notifyUrl | String | No | Asynchronous callback URL (Public network recommended) |
| reviewQuote | String | No | Skip quote page: 1=Yes, 0=No (Default: 0) |
2. Standard Quotation Mode
| Parameter Name | Type | Required | Description |
|---|---|---|---|
| externalOrderId | String | No | Merchant order number |
| chainType | String | Yes | Blockchain type (BSC) |
| tokenType | String | Yes | Token type (USDT) |
| tokenAmount | String | No | Amount of tokens |
| currencyType | String | Yes | Fiat currency type (VND) |
| payType | String | Yes | Payment type (BANK) |
| userInfoName | String | No | Bank account name |
| accountName | String | No | Bank name |
| accountNo | String | No | Bank account number |
| remark | String | No | Transaction remark |
| notifyUrl | String | No | Asynchronous callback URL (preferably public URL) |
| reviewQuote | String | No | Whether to skip the quotation page: 1=Yes, 0=No (default: 0) |
Response Example
Response Header Type
Content-Type: application/json; charset=utf-8
Response Data (Success)
{
"code": "200",
"success": true,
"msg": "成功",
"msgEn": "SUCCESS",
"data": {
"chainType": "BSC",
"currencyAmount": "52729",
"tokenAmount": "2.01243",
"currencyType": "VND",
"tokenType": "USDT",
"externalOrderId": "YURITEST20250610100000831797",
"orderId": "OEXCHEXCH202506100200011749520801125U0000000400000255",
"tradeType": "SELL",
"addressTo": "0x6871d4c9146d9d8d17ce540340989838064e783d",
"exchangePrice": "26202",
"orderFee": "1055",
"cashierUrl": "http://ramp-cashier.io/crypto/OEXCHEXCH202506100200011749520801125U0000000400000255"
}
}
Response Field Explanation
| Parameter Name | Type | Description |
|---|---|---|
| chainType | String | Main chain |
| currencyAmount | String | Fiat currency amount |
| tokenAmount | String | Token amount |
| currencyType | String | Fiat currency type |
| tokenType | String | Token type |
| externalOrderId | String | Merchant order ID |
| orderId | String | Order ID |
| tradeType | String | Transaction type |
| addressTo | String | Address |
| exchangePrice | String | Exchange rate |
| orderFee | String | Transaction fee |
| cashierUrl | String | Exchange cashier URL |