# 1. Fiat-to-cryptocurrency exchange

Request method

  • POST

URL

/api/v1/exchange/express/trade/buy

Content-Type

Content-Type: application/json; charset=utf-8

Request header parameters (Header)

Param Type Description Sample
access_key String Access key obtained from the merchant backend pFqV75X3
timestamp int64 Unix millisecond timestamp (13 digits) 1679724896223
nonce String UUID V4 random string 794c26b0-d33c-4394-b2bb-c485eca16d9e
sign String The signature calculated by the signature algorithm kAXyh+eerqrefyaF8dyFB0M4FVo=

All the above parameters are passed as HTTP Header

Request body data example: INR

{
    "externalOrderId": "20250513184347329830",
    "chainType": "BSC",
    "tokenType": "USDT",
    "addressTo": "0xa8666442fA7583F783a169CC9F3333333360295E8",
    "tokenAmount": "1",
    "currencyType": "INR",
    "payType": "BANK",
    "remark": "test",
    "notifyUrl" : ""
}

Parameter Description:

Parameter name type Is this field required? describe
tokenAmount Decimal yes Token Amount
externalOrderId String yes Merchant order number
chainType String yes Chain type BSC
tokenType String yes Token Type USDT
addressTo String yes address
currencyType String yes Currency Type INR
payType string yes Payment type: BANK UPI
notifyUrl String no Callback address after payment is completed (server side)
remark String no Merchant customized remarks

Response type:

Header: { 'Content-Type': 'application/json;charset=utf-8'}

Create a payment response description:

Normal response data example (HTTP 200)

{
    "code": "200",
    "success": true,
    "msg" : "Success" ,
    "msgEn": "SUCCESS",
    "data": {
        "chainType": "BSC",
        "currencyAmount": "83.2309",
        "tokenAmount": "1",
        "currencyType": "INR",
        "tokenType": "USDT",
        "externalOrderId": "20250513184347329830",
        "orderId": "OEXCHEXCH202505131043481747133028307HAMBIT-U0000000401298824",
        "tradeType": "BUY",
        "payUrl": null,
        "exchangePrice": "83.2309",
        "orderFee": "0.0118",
        "bankAccountNumber": null,
        "bankAccountType" : null ,
        "bankCode" : null ,
        "bankName" : null ,
        "cashierUrl": "http://fiat/OEXCHEXCH202505131043481747133028307-U0000000401298824"
    }
}

Response Parameter Description

Parameter name type describe
chainType String Main Chain
currencyAmount String Amount in Fiat Currency
tokenAmount String Token Amount
currencyType String Fiat currency type
tokenType String Token Type
externalOrderId String Merchant order number
orderId String Order Number
tradeType String Transaction Type
payUrl String Fiat currency payment link(to be used according to actual situation)
BankAccountNumber String Channel Bank Account Number(to be used according to actual situation)
exchangePrice String exchange rate
orderFee String Fees
BankAccountType String Channel bank account type (to be used according to actual situation)
BankCode String Channel bank code (use according to actual situation)
BankName String Channel bank name (use according to actual situation)
cashierUrl String Redeem cashier link

Request body data example: BRL

{
    "externalOrderId": "20250513192309317184",
    "chainType": "BSC",
    "tokenType": "USDT",
    "addressTo": "0xa8666442fA7583F783a169CC9F5449333333395E8",
    "tokenAmount": "10.214234221423422312",
    "currencyType": "BRL",
    "payType": "PIX",
    "remark": "test",
    "notifyUrl" : ""
}

Parameter Description:

Parameter name type Is this field required? describe
tokenAmount Decimal yes Token Amount
externalOrderId String yes Merchant order number
chainType String yes Chain type BSC
tokenType String yes Token Type USDT
addressTo String yes address
currencyType String yes Currency TypeBRL
payType string yes Payment type: PIX
notifyUrl String no Callback address after payment is completed (server side)
remark String no Merchant customized remarks

Response type:

Header: { 'Content-Type': 'application/json;charset=utf-8'}

Create a payment response description:

Normal response data example (HTTP 200)

{
    "code": "200",
    "success": true,
    "msg" : "Success" ,
    "msgEn": "SUCCESS",
    "data": {
        "chainType": "BSC",
        "currencyAmount": "60.72",
        "tokenAmount": "10.214234221423422312",
        "currencyType": "BRL",
        "tokenType": "USDT",
        "externalOrderId": "20250513192309317184",
        "orderId": "OEXCHEXCH202505131123101747135390221HAMBIT-U0000000401298839",
        "tradeType": "BUY",
        "payUrl": null,
        "exchangePrice": "5.944444",
        "orderFee": "0.204284684428468447",
        "bankAccountNumber": null,
        "bankAccountType" : null ,
        "bankCode" : null ,
        "bankName" : null ,
        "cashierUrl": "http://fiat/OEXCHEXCH202505131123101747135390221-U0000000401298839"
    }
}

Response Parameter Description

Parameter name type describe
chainType String Main Chain
currencyAmount String Amount in Fiat Currency
tokenAmount String Token Amount
currencyType String Fiat currency type
tokenType String Token Type
externalOrderId String Merchant order number
orderId String Order Number
tradeType String Transaction Type
payUrl String Fiat currency payment link(to be used according to actual situation)
BankAccountNumber String Channel Bank Account Number(to be used according to actual situation)
exchangePrice String exchange rate
orderFee String Fees
BankAccountType String Channel bank account type (to be used according to actual situation)
BankCode String Channel bank code (use according to actual situation)
BankName String Channel bank name (use according to actual situation)
cashierUrl String Redeem cashier link