The orders section includes methods for creating an order and adding a user’s email to an existing order. Using the available methods, you can initiate an exchange through order creation, as well as attach an email for notifications about its status.
Documentation
General Description
The method returns a list of orders created by the user.
This endpoint returns the order history for a specific partner/integration. Each order in the response corresponds to a creation request made using the same X-Api-Public-Key.
The method supports pagination and sorting by creation time.
HTTP Request
Method: GET
URL (prod): https://quickex.io/api/v2/orders/public
Request Example
curl -X 'GET' \
'https://quickex.io/api/v2/orders?order=asc' \ -H 'accept: application/json' \ -H 'X-Api-Public-Key: {YOUR_PUBLIC_KEY}' \ -H 'X-Api-Timestamp: {UNIX_MS_TIMESTAMP}' \ -H 'X-Api-Signature: {SIGNATURE}' \
Signature formula:
StrToSign = timestamp + body + publicKey Signature = Base64(HMAC_SHA256(StrToSign, secretKey))
Headers
| Header | Required | Description |
|---|---|---|
| Accept | Yes | Recommended value: application/json. |
| X-Api-Public-Key | Yes | Your public API key. |
| X-Api-Timestamp | Yes | Timestamp (usually UNIX in ms), used in the signature. |
| X-Api-Signature | Yes | Request signature (HMAC SHA256 per API v2 scheme). |
Request Parameters
All parameters are passed in the query string.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| offset | int | No | Number of records to skip from the beginning. Used for pagination. |
| limit | int | No | Maximum number of orders in the response. Used for pagination. |
| order | string | No | Sorting order by creation date: asc — oldest to newest, desc — newest to oldest. Default desc. |
If offset and limit are not specified, the full list of records for the partner is returned by default.
Response Format
The method returns a JSON array where each element is an order object created with the given API key.
Response Example
[
{
"orderId": 3209,
"destinationAddress": "lnbc213490a70f987c097d897",
"createdAt": "2025-12-10T15:15:32.394Z",
"updatedAt": "2025-12-10T15:15:32.552Z",
"destinationAddressMemo": null,
"refundAddress": "TFe5tdqSy8CMGMDVHPJHLTK8hrAL6ddUpD",
"refundAddressMemo": null,
"claimedDepositAmount": "100",
"claimedNetworkFee": "0.00002",
"amountToGet": "0.00106686",
"amountToGetUSDT": "98.15976599979",
"amountToWithdrawFact": "0",
"amountToWithdrawFactUSDT": "0",
"instrumentFromCurrencyTitle": "USDT",
"instrumentFromNetworkTitle": "TRC20",
"instrumentToCurrencyTitle": "BTC",
"instrumentToNetworkTitle": "Lightning Network",
"ip": "77.246.100.22",
"geoCode": "NL",
"markup": "0",
"userEmail": "qa@support.quickex.io",
"completed": false,
"state": "created"
},
{
"orderId": 3208,
"destinationAddress": "lnbc213490a70f987c097d897",
"createdAt": "2025-12-10T15:12:05.830Z",
"updatedAt": "2025-12-10T15:12:05.914Z",
"destinationAddressMemo": null,
"refundAddress": "TFe5tdqSy8CMGMDVHPJHLTK8hrAL6ddUpD",
"refundAddressMemo": null,
"claimedDepositAmount": "100",
"claimedNetworkFee": "0.00002",
"amountToGet": "0.0010655",
"amountToGetUSDT": "98.15753399959",
"amountToWithdrawFact": "0",
"amountToWithdrawFactUSDT": "0",
"instrumentFromCurrencyTitle": "USDT",
"instrumentFromNetworkTitle": "TRC20",
"instrumentToCurrencyTitle": "BTC",
"instrumentToNetworkTitle": "Lightning Network",
"ip": "77.246.100.22",
"geoCode": "NL",
"markup": "0",
"userEmail": "qa@support.quickex.io",
"completed": false,
"state": "created"
},
...
]
Response Field Breakdown
Each array element is an order object containing the following information:
| Field | Type | Description |
|---|---|---|
| orderId | int | Unique order ID in the system. |
| destinationAddress | string | Recipient address where funds will be sent after exchange. |
| destinationAddressMemo | string / null | Additional field (memo/tag/payment ID) if required by the destination network. |
| refundAddress | string / null | Refund address used only for fixed-rate exchanges when the user declines to switch to a floating rate, or if the deposit is invalid due to an error. |
| refundAddressMemo | string / null | Memo/tag for the refund address if required. |
| createdAt | string (ISO datetime) | Order creation date and time. |
| updatedAt | string (ISO datetime) | Last order update date and time. |
| claimedDepositAmount | string | Amount entered by the user in the calculator or the amount actually sent/deposited. |
| claimedNetworkFee | string | Network fee associated with the transaction. claimedNetworkFee may differ from the calculated fee if the actual fee deducted by the network changes (e.g., for dynamic network fees). |
| amountToGet | string | Amount the user should receive after exchange. |
| amountToGetUSDT | string | Equivalent of amountToGet in USDT. |
| amountToWithdrawFact | string | Amount actually sent to the user. If not sent yet — 0. |
| amountToWithdrawFactUSDT | string | Equivalent of amountToWithdrawFact in USDT. |
| instrumentFromCurrencyTitle | string | Deposit currency. |
| instrumentFromNetworkTitle | string | Deposit network. |
| instrumentToCurrencyTitle | string | Currency the user should receive. |
| instrumentToNetworkTitle | string | Network for withdrawal. |
| ip | string | User IP address. |
| geoCode | string | User country geolocation code (ISO). |
| markup | string | Partner-defined markup applied to the exchange. This is a key mechanism for partners to earn revenue or adjust rates. The value is set by the partner and can be any amount. |
| userEmail | string / null | User email, if provided. |
| completed | boolean | Order completion flag. |
| state | string | Current order status (created, kyc, trading, withdraw, refund). |
Possible Use Cases
- Retrieve the complete order history of a user.
Code Sample
curl -X 'GET' \
'https://quickex.io/api/v2/orders?order=asc' \
-H 'accept: application/json' \
-H 'X-Api-Public-Key: {YOUR_PUBLIC_KEY}' \
-H 'X-Api-Timestamp: {UNIX_MS_TIMESTAMP}' \
-H 'X-Api-Signature: {SIGNATURE}' \Response Example
[
{
"orderId": 2096,
"destinationAddress": "rMZiLhMHDKHSD9mMurzvixQGKFsDNLLP1",
"createdAt": "2024-11-21T09:57:37.536Z",
"updatedAt": "2024-11-21T09:57:37.536Z",
"destinationAddressMemo": null,
"refundAddress": null,
"refundAddressMemo": null,
"claimedDepositAmount": "11905.4",
"claimedNetworkFee": "0.25",
"amountToGet": "2000.535980286546",
"amountToGetUSDT": "0",
"amountToWithdrawFact": "0",
"amountToWithdrawFactUSDT": "0",
"instrumentFromCurrencyTitle": "TRX",
"instrumentFromNetworkTitle": "TRX",
"instrumentToCurrencyTitle": "XRP",
"instrumentToNetworkTitle": "XRP",
"ip": "165.22.73.162",
"geoCode": "DE",
"markup": "0",
"userEmail": "qa@support.quickex.io",
"completed": false,
"state": "created"
},
{
"orderId": 2097,
"destinationAddress": "rMZiLhMHDKHSD9mMurzvixQGKFsDNLLP1",
"createdAt": "2024-11-21T09:57:56.849Z",
"updatedAt": "2024-11-21T09:57:56.849Z",
"destinationAddressMemo": null,
"refundAddress": null,
"refundAddressMemo": null,
"claimedDepositAmount": "500",
"claimedNetworkFee": "0.25",
"amountToGet": "88.201060256891",
"amountToGetUSDT": "0",
"amountToWithdrawFact": "0",
"amountToWithdrawFactUSDT": "0",
"instrumentFromCurrencyTitle": "TRX",
"instrumentFromNetworkTitle": "TRX",
"instrumentToCurrencyTitle": "XRP",
"instrumentToNetworkTitle": "XRP",
"ip": "165.22.73.162",
"geoCode": "DE",
"markup": "0",
"userEmail": "qa@support.quickex.io",
"completed": false,
"state": "created"
},
{
"orderId": 3038,
"destinationAddress": "TFjfHBiDcL6B5S5W8g9b6gU2tbvnTR52ya",
"createdAt": "2025-04-28T13:15:03.006Z",
"updatedAt": "2025-07-22T10:36:58.557Z",
"destinationAddressMemo": null,
"refundAddress": null,
"refundAddressMemo": null,
"claimedDepositAmount": "0.034268",
"claimedNetworkFee": "1.5",
"amountToGet": "3263.05",
"amountToGetUSDT": "3263.058154",
"amountToWithdrawFact": "0",
"amountToWithdrawFactUSDT": "0",
"instrumentFromCurrencyTitle": "BTC",
"instrumentFromNetworkTitle": "BTC",
"instrumentToCurrencyTitle": "USDT",
"instrumentToNetworkTitle": "TRC20",
"ip": "45.76.90.73",
"geoCode": "DE",
"markup": "0",
"userEmail": "qa@support.quickex.io",
"completed": false,
"state": "created"
},
{
"orderId": 3172,
"destinationAddress": "TPjT9p6UK5omA19h1QuYf4HbWvB9CukMzx",
"createdAt": "2025-11-25T07:52:52.871Z",
"updatedAt": "2025-11-27T11:34:19.690Z",
"destinationAddressMemo": null,
"refundAddress": null,
"refundAddressMemo": null,
"claimedDepositAmount": "52",
"claimedNetworkFee": "2.054188275293",
"amountToGet": "419.2",
"amountToGetUSDT": "114.402051690569",
"amountToWithdrawFact": "417.825363",
"amountToWithdrawFactUSDT": "114.0245415627",
"instrumentFromCurrencyTitle": "XRP",
"instrumentFromNetworkTitle": "XRP",
"instrumentToCurrencyTitle": "TRX",
"instrumentToNetworkTitle": "TRX",
"ip": "77.246.100.22",
"geoCode": "NL",
"markup": "0",
"userEmail": "qa@support.quickex.io",
"completed": true,
"state": "withdraw"
},
{
"orderId": 3192,
"destinationAddress": "15vvDFQFksUS4r1cYxmjZuTVVUzWZSJauuUapg7Xjhgtkwqy",
"createdAt": "2025-12-02T14:11:15.985Z",
"updatedAt": "2025-12-02T14:11:16.107Z",
"destinationAddressMemo": null,
"refundAddress": "UQCGxjLy3msAFWG4r310Sk_rOz27QWRy252fdLMWJAMQJvSE",
"refundAddressMemo": null,
"claimedDepositAmount": "3300",
"claimedNetworkFee": "0.14",
"amountToGet": "2363.663",
"amountToGetUSDT": "4999.384629917638",
"amountToWithdrawFact": "0",
"amountToWithdrawFactUSDT": "0",
"instrumentFromCurrencyTitle": "TON",
"instrumentFromNetworkTitle": "TON",
"instrumentToCurrencyTitle": "DOT",
"instrumentToNetworkTitle": "DOT",
"ip": "77.246.100.22",
"geoCode": "NL",
"markup": "0",
"userEmail": null,
"completed": false,
"state": "created"
},
{
"orderId": 3193,
"destinationAddress": "15vvDFQFksUS4r1cYxmjZuTVVUzWZSJauuUapg7Xjhgtkwqy",
"createdAt": "2025-12-02T14:14:34.356Z",
"updatedAt": "2025-12-02T14:14:34.557Z",
"destinationAddressMemo": null,
"refundAddress": "UQCGxjLy3msAFWG4r310Sk_rOz27QWRy252fdLMWJAMQJvSE",
"refundAddressMemo": null,
"claimedDepositAmount": "73",
"claimedNetworkFee": "0.14",
"amountToGet": "52.235",
"amountToGetUSDT": "110.556162356583",
"amountToWithdrawFact": "0",
"amountToWithdrawFactUSDT": "0",
"instrumentFromCurrencyTitle": "TON",
"instrumentFromNetworkTitle": "TON",
"instrumentToCurrencyTitle": "DOT",
"instrumentToNetworkTitle": "DOT",
"ip": "77.246.100.22",
"geoCode": "NL",
"markup": "0",
"userEmail": null,
"completed": false,
"state": "created"
}
]Try it out
Leave empty to use default
Query Parameters
Headers
Documentation
General Description
The method is called after obtaining the rate via
/api/v2/rates/public/one and fixes the trade parameters: instruments, deposit amount, rate, destination address, referral details, markup, etc.HTTP Request
POSTURL:
https://quickex.io/api/v2/orders/public/createHeaders
| Header | Required | Description |
|---|---|---|
| Accept | yes | application/json |
| Content-Type | yes | application/json |
| X-Api-Public-Key | yes | Your public API key |
| X-Api-Timestamp | yes | Arbitrary timestamp (usually in ms) |
| X-Api-Signature | yes | Request signature according to API v2 formula |
Signature formula:
StrToSign = timestamp + body + publicKey Signature = Base64(HMAC_SHA256(StrToSign, secretKey))
Request Example (the request was made using only mandatory parameters)
curl -X 'POST' \
'https://quickex.io/api/v2/orders/public/create' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'X-Api-Public-Key: {YOUR_PUBLIC_KEY}' \
-H 'X-Api-Timestamp: {UNIX_MS_TIMESTAMP}' \
-H 'X-Api-Signature: {SIGNATURE}' \
-d '{
"instrumentFrom": {
"currencyTitle": "TON",
"networkTitle": "TON"
},
"instrumentTo": {
"currencyTitle": "DOT",
"networkTitle": "DOT"
},
"destinationAddress": "15vvDFQFksUS4r1cYxmjZuTVVUzWZSJauuUapg7Xjhgtkwqy",
"refundAddress": "UQCGxjLy3msAFWG4r310Sk_rOz27QWRy252fdLMWJAMQJvSE",
"claimedDepositAmount": "73"
}'
Request Example
curl -X 'POST' \
'https://quickex.io/api/v2/orders/public/create' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'X-Api-Public-Key: {YOUR_PUBLIC_KEY}' \
-H 'X-Api-Timestamp: {UNIX_MS_TIMESTAMP}' \
-H 'X-Api-Signature: {SIGNATURE}' \
-d '{
"instrumentFrom": { "currencyTitle": "USDT", "networkTitle": "TRC20"},
"instrumentTo": { "currencyTitle": "LTC", "networkTitle": "LTC" },
"destinationAddress": "MWYK4uQXFvWc1Bj1CPACyX5HTQxUUpRZ2e",
"destinationAddressMemo": null,
"refundAddress": "TFe5tdqSy8CMGMDVHPJHLTK8hrAL6ddUpD",
"refundAddressMemo": null,
"claimedDepositAmount": "3300",
"claimedPublicRate": {
"price": "0.014271620139287839394",
"updatedAt": "2024-02-13T14:43:12.983Z",
"claimedAmountToReceive": "47.09634645964987"
},
"claimedNetworkFee": "0.001",
"userEmail": "test@example.com",
"referrerId": "aff_some-affiliate-id",
"markupAffiliateId": "aff_some-affiliate-id",
"rateMode": "FLOATING",
"utmData": {},
"browserFingerprint": "string",
"markup": "0.01",
"mercuryoBearerToken": "string",
"locale": "string"
}'
Request Parameters
Parameters are passed in the request body (JSON).
Required Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| instrumentFrom | object | yes | The source instrument (what the user gives). |
| instrumentFrom.currencyTitle | string | yes | Currency code that the user sends (e.g., USDT). |
| instrumentFrom.networkTitle | string | yes | Network of the source instrument (e.g., TRC20). |
| instrumentTo | object | yes | Target instrument (what the user will receive). |
| instrumentTo.currencyTitle | string | yes | Target currency code (e.g., LTC). |
| instrumentTo.networkTitle | string | yes | Network of the target instrument (e.g., LTC). |
| destinationAddress | string | yes | Address to which funds will be sent after successful exchange. |
| destinationAddressMemo | string | no | Memo/Tag/Comment for the destination address (if required by the network). |
| refundAddress | string | yes | Refund address used only for fixed-rate exchanges when the user declines to switch to a floating rate. |
| refundAddressMemo | string | no | Memo/Tag for the refund address (if required by the network). |
| claimedDepositAmount | string | yes | Deposit amount the user commits to send. |
| claimedPublicRate | object | no | Rate and related parameters copied from /rates/public/one. |
| claimedPublicRate.price | string | no | Rate at which the exchange is calculated. |
| claimedPublicRate.updatedAt | string | no | Timestamp when the rate was valid (ISO8601). |
| claimedPublicRate.claimedAmountToReceive | string | no | Calculated amount the user will receive at this rate. |
| claimedNetworkFee | string | no | Network fee included in the calculation (if applicable). |
| userEmail | string | no | User email for notifications. |
| referrerId | string | no | ID of the referral or partner who referred the user. Example: "1523". |
| markupAffiliateId | string | no | Partner ID associated with the markup. |
| rateMode | string | no |
Exchange rate mode: FIXED – the rate is locked at the moment of order creation; any difference in market rate does not affect the final received amount. FLOATING – the rate may change until the order is completed, based on current market conditions. |
| browserFingerprint | string | no | Browser fingerprint for additional protection/analytics. |
| markup | string | no | Partner markup (e.g., 0.01 for +1%). |
| locale | string | no | User locale (e.g., en, ru) for email/UI templates. |
Response Format
The method returns a JSON object describing the created order, deposit address, and current deposits/withdrawals.
Full Response Example
{
"deposits": [
{
"createdAt": "2025-12-02T08:52:08.178Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"confirmations": 0,
"txId": "0xdeadc0dedeadbeef",
"depositAddress": "0xdeadc0de",
"isPending": true,
"id": 0,
"counterPartyAddress": "0xdeadc0dedeadbeef"
}
],
"withdrawals": [
{
"createdAt": "2025-12-02T08:52:08.178Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"networkFee": "1.1",
"txId": "0xdeadc0dedeadbeef"
}
],
"depositAddress": {
"orderId": 0,
"liquidityProviderTitle": "QUICKEX_BUSINESS_ACCOUNT",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"depositAddress": "0xdeadc0de",
"depositAddressMemo": "string",
"redirectUrl": "string"
},
"orderId": 0,
"userId": 0,
"legacyOrderId": "string",
"pair": {
"instrumentFrom": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"instrumentTo": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
}
},
"createdAt": "2025-12-02T08:52:08.179Z",
"claimedDepositAmount": "10.01",
"amountToGet": "10.01",
"claimedPublicRate": {
"price": "1000.1",
"quotes": {
"sellQuote": {
"baseValue": "1000.1",
"quoteValue": "1000.1"
},
"buyQuote": {
"baseValue": "1000.1",
"quoteValue": "1000.1"
}
},
"updatedAt": "2025-12-02T08:52:08.179Z",
"liquidityProviderPublicCode": "formulae",
"claimedAmountToReceive": "0.01",
"finalNetworkFeeAmount": "0.01",
"platformFee_Absolute": "0.01",
"fixedRate_maxAmount": "1000.000",
"fixedRate_maxTimeMinutes": 1,
"fixedRate_maxRateVolatilityPercent": "1000.000"
},
"claimedNetworkFee": "10.01",
"KYCFormLink": "string",
"orderEvents": [
{
"kind": "TRACKING_STARTED",
"createdAt": "2025-12-02T08:52:08.179Z"
}
],
"userEmail": "test@example.com",
"rateMode": "FLOATING",
"destinationAddress": "0xdeadbeef",
"destinationAddressMemo": "0xdeadbeef",
"completed": false,
"possibleCashbackAmountUSDT": "500.00",
"redirectUrl": "https://payments.mercuryo.io/",
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}
Response Field Breakdown
Deposits (deposits)
"deposits": [
{
"createdAt": "2025-12-02T08:44:15.824Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"confirmations": 0,
"txId": "0xdeadc0dedeadbeef",
"depositAddress": "0xdeadc0de",
"isPending": true,
"id": 0,
"counterPartyAddress": "0xdeadc0dedeadbeef"
}
]
| Field | Type | Description |
|---|---|---|
| deposits | array | List of deposits for the order (usually 0 or 1 record if user made one transfer). |
| createdAt | string | Deposit registration time. |
| instrument | object | Instrument in which deposit was made (currency and network). |
| instrument.currencyTitle | string | Deposit currency code (USDT). |
| instrument.networkTitle | string | Deposit network (TRC20). |
| amount | string | Deposit amount. |
| confirmations | number | Number of network confirmations for this deposit. |
| txId | string | Deposit transaction hash on blockchain. |
| depositAddress | string | Address to which the deposit was sent (Quickex/provider deposit address). |
| isPending | boolean | Flag indicating deposit is still awaiting sufficient confirmations. |
| id | number | Internal deposit record ID. |
| counterPartyAddress | string | Sender address (user wallet or source of funds). |
Withdrawals (withdrawals)
"withdrawals": [
{
"createdAt": "2025-12-02T08:44:15.825Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"networkFee": "1.1",
"txId": "0xdeadc0dedeadbeef"
}
]
| Field | Type | Description |
|---|---|---|
| withdrawals | array | List of withdrawals to the user. |
| createdAt | string | Initiation or registration time of the withdrawal. |
| instrument | object | Withdrawal instrument (currency/network). |
| amount | string | Amount withdrawn to the user. |
| networkFee | string | Network fee deducted during withdrawal. |
| txId | string | Blockchain transaction hash for the withdrawal. |
Deposit Address (depositAddress)
"depositAddress": {
"orderId": 0,
"liquidityProviderTitle": "QUICKEX_BUSINESS_ACCOUNT",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"depositAddress": "0xdeadc0de",
"depositAddressMemo": "string",
"redirectUrl": "string"
}
| Field | Type | Description |
|---|---|---|
| orderId | number | Order ID associated with the deposit address. |
| liquidityProviderTitle | string | Name of liquidity provider or deposit acceptance scheme. |
| instrument | object | Deposit instrument (currency/network). |
| depositAddress | string | Deposit address where user should send funds. |
| depositAddressMemo | string | Memo/Tag/Comment for the deposit (if required by network). |
| redirectUrl | string | Redirect URL (if using external payment provider/widget). |
General Order Information
"orderId": 0,
"userId": 0,
"legacyOrderId": "string",
"pair": {
"instrumentFrom": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"instrumentTo": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
}
},
"createdAt": "2025-12-02T08:44:15.825Z",
"claimedDepositAmount": "10.01",
"amountToGet": "10.01"
| Field | Type | Description |
|---|---|---|
| orderId | number | Unique order ID in the Quickex system. |
| userId | number | User ID (if order is tied to an account). |
| pair | object | Currency pair of the order: source (deposited) currency and target (to receive) currency |
| pair.instrumentFrom | object | Source instrument (what the user gives). |
| pair.instrumentTo | object | Target instrument (what the user receives). |
| createdAt | string | Order creation time. |
| claimedDepositAmount | string | Deposit amount on which the order was created. |
| amountToGet | string | Amount the user should receive from the order. |
claimedPublicRate Block
"claimedPublicRate": {
"price": "1000.1",
"quotes": {
"sellQuote": {
"baseValue": "1000.1",
"quoteValue": "1000.1"
},
"buyQuote": {
"baseValue": "1000.1",
"quoteValue": "1000.1"
}
}
}
| Field | Type | Description |
|---|---|---|
| claimedPublicRate | object | Rate and quotes used to create the order. Usually a copy or subset of /rates/public/one. |
| claimedPublicRate.price | string | Rate at which claimedDepositAmount and amountToGet were calculated. |
| claimedPublicRate.quotes | object | Detailed quotes (sell/buy) for debugging and analytics. |
| sellQuote.baseValue | string | Base value (volume of base asset). |
| sellQuote.quoteValue | string | Corresponding quote value. |
| buyQuote.baseValue | string | Base value for the buy operation. |
| buyQuote.quoteValue | string | Corresponding quote value. |
Possible Use Cases
- Creating an order from your frontend/bot/integration after obtaining a preliminary rate.
Code Sample
curl -X 'POST' \
'https://quickex.io/api/v2/orders/public/create' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'X-Api-Public-Key: {YOUR_PUBLIC_KEY}' \
-H 'X-Api-Timestamp: {UNIX_MS_TIMESTAMP}' \
-H 'X-Api-Signature: {SIGNATURE}' \
-d '{
"instrumentFrom": { "currencyTitle": "USDT", "networkTitle": "TRC20" },
"instrumentTo": { "currencyTitle": "LTC", "networkTitle": "LTC" },
"destinationAddress": "MWYK4uQXFvWc1Bj1CPACyX5HTQxUUpRZ2e",
"destinationAddressMemo": null,
"refundAddress": "TFe5tdqSy8CMGMDVHPJHLTK8hrAL6ddUpD",
"refundAddressMemo": null,
"claimedDepositAmount": "3300",
"claimedPublicRate": {
"price": "0.014271620139287839394",
"updatedAt": "2024-02-13T14:43:12.983Z",
"claimedAmountToReceive": "47.09634645964987"
},
"claimedNetworkFee": "0.001",
"userEmail": "test@example.com",
"referrerId": "aff_some-affiliate-id",
"markupAffiliateId": "aff_some-affiliate-id",
"rateMode": "FLOATING",
"utmData": {},
"browserFingerprint": "string",
"markup": "0.01",
"mercuryoBearerToken": "string",
"locale": "string"
}'Response Example
{
"deposits": [
{
"createdAt": "2025-12-02T08:52:08.178Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"confirmations": 0,
"txId": "0xdeadc0dedeadbeef",
"depositAddress": "0xdeadc0de",
"isPending": true,
"id": 0,
"counterPartyAddress": "0xdeadc0dedeadbeef"
}
],
"withdrawals": [
{
"createdAt": "2025-12-02T08:52:08.178Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"networkFee": "1.1",
"txId": "0xdeadc0dedeadbeef"
}
],
"depositAddress": {
"orderId": 0,
"liquidityProviderTitle": "QUICKEX_BUSINESS_ACCOUNT",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"depositAddress": "0xdeadc0de",
"depositAddressMemo": "string",
"redirectUrl": "string"
},
"orderId": 0,
"userId": 0,
"legacyOrderId": "string",
"pair": {
"instrumentFrom": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"instrumentTo": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
}
},
"createdAt": "2025-12-02T08:52:08.179Z",
"claimedDepositAmount": "10.01",
"amountToGet": "10.01",
"claimedPublicRate": {
"price": "1000.1",
"quotes": {
"sellQuote": {
"baseValue": "1000.1",
"quoteValue": "1000.1"
},
"buyQuote": {
"baseValue": "1000.1",
"quoteValue": "1000.1"
}
},
"updatedAt": "2025-12-02T08:52:08.179Z",
"liquidityProviderPublicCode": "formulae",
"claimedAmountToReceive": "0.01",
"finalNetworkFeeAmount": "0.01",
"platformFee_Absolute": "0.01",
"fixedRate_maxAmount": "1000.000",
"fixedRate_maxTimeMinutes": 1,
"fixedRate_maxRateVolatilityPercent": "1000.000"
},
"claimedNetworkFee": "10.01",
"KYCFormLink": "string",
"orderEvents": [
{
"kind": "TRACKING_STARTED",
"createdAt": "2025-12-02T08:52:08.179Z"
}
],
"userEmail": "test@example.com",
"rateMode": "FLOATING",
"destinationAddress": "0xdeadbeef",
"destinationAddressMemo": "0xdeadbeef",
"completed": false,
"possibleCashbackAmountUSDT": "500.00",
"redirectUrl": "https://payments.mercuryo.io/",
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}Try it out
Leave empty to use default
Request Body
Headers
Documentation
Overview
This method allows you to set an email for an already created public order.
It is used when the order was created without userEmail in the /api/v2/orders/public/create request, but later you need to attach an email (for example, so the user can receive notifications about the order status).
> Important: The email can be set only once. If the order already has a userEmail, it cannot be changed through this method.
HTTP Request
Method: POST
URL: https://quickex.io/api/v2/orders/public/set-email
Request Example
curl -X 'POST' \
'https://quickex.io/api/v2/orders/public/set-email' \
-H 'accept: application/json' \
-H 'X-Api-Public-Key: {YOUR_PUBLIC_KEY}' \
-H 'X-Api-Timestamp: {UNIX_MS_TIMESTAMP}' \
-H 'X-Api-Signature: {SIGNATURE}' \
-H 'Content-Type: application/json' \
-d '{
"orderId": 3038,
"userEmail": "QA@quickex.com"
}'
Headers
| Header | Required | Description |
|---|---|---|
Accept |
yes | Recommended value: application/json. |
Content-Type |
yes | application/json. |
X-Api-Public-Key |
yes | Your public API key. |
X-Api-Timestamp |
yes | Timestamp (usually UNIX in ms), included in the signature. |
X-Api-Signature |
yes | Request signature (HMAC SHA256 according to API v2 scheme). |
Request Parameters
Body Parameters
{
"orderId": 3038,
"userEmail": "QA@quickex.com"
}
| Field | Type | Required | Description |
|---|---|---|---|
orderId |
number | yes | The ID of the order for which you want to set the email. |
userEmail |
string | yes | The user’s email that will be attached to the order and used for notifications. |
Constraints: If userEmail is already set for this order, the method will return a 403 ERR_FORBIDDEN error.
Response Format
If the request is successful, the method returns a JSON object of the order, similar to the response from POST /api/v2/orders/public/create / GET /api/v2/orders/info, but with the userEmail field set.
Response Example
{
"deposits": [
{
"createdAt": "2025-12-02T09:31:46.246Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"confirmations": 0,
"txId": "0xdeadc0dedeadbeef",
"depositAddress": "0xdeadc0de",
"isPending": true,
"id": 0,
"counterPartyAddress": "0xdeadc0dedeadbeef"
}
],
"withdrawals": [
{
"createdAt": "2025-12-02T09:31:46.246Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"networkFee": "1.1",
"txId": "0xdeadc0dedeadbeef"
}
],
"depositAddress": {
"orderId": 0,
"liquidityProviderTitle": "QUICKEX_BUSINESS_ACCOUNT",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"depositAddress": "0xdeadc0de",
"depositAddressMemo": "string",
"redirectUrl": "string"
},
"orderId": 0,
"userId": 0,
"legacyOrderId": "string",
"pair": {
"instrumentFrom": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"instrumentTo": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
}
},
"createdAt": "2025-12-02T09:31:46.246Z",
"claimedDepositAmount": "10.01",
"amountToGet": "10.01",
"claimedPublicRate": {
"price": "1000.1",
"quotes": {
"sellQuote": {
"baseValue": "1000.1",
"quoteValue": "1000.1"
},
"buyQuote": {
"baseValue": "1000.1",
"quoteValue": "1000.1"
}
},
"updatedAt": "2025-12-02T09:31:46.246Z",
"liquidityProviderPublicCode": "formulae",
"claimedAmountToReceive": "0.01",
"finalNetworkFeeAmount": "0.01",
"platformFee_Absolute": "0.01",
"fixedRate_maxAmount": "1000.000",
"fixedRate_maxTimeMinutes": 1,
"fixedRate_maxRateVolatilityPercent": "1000.000"
},
"claimedNetworkFee": "10.01",
"KYCFormLink": "string",
"orderEvents": [
{
"kind": "TRACKING_STARTED",
"createdAt": "2025-12-02T09:31:46.246Z"
}
],
"userEmail": "QA@example.com",
"rateMode": "FLOATING",
"destinationAddress": "0xdeadbeef",
"destinationAddressMemo": "0xdeadbeef",
"completed": false,
"possibleCashbackAmountUSDT": "500.00",
"redirectUrl": "https://payments.mercuryo.io/",
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}
Key point: the userEmail field linked to the order will be filled in the response.
Errors
403 ERR_FORBIDDEN — Email Already Set
{
"status": "ERR_FORBIDDEN",
"message": "Order.userEmail already set and can not be modified"
}
This error is returned if you attempt to change the email for an order where userEmail has already been set (either during order creation or in a previous set-email call).
What to do:
- The email cannot be changed for orders that already have an email set.
Possible Use Cases
- Adding an email for orders created anonymously (for example, via a widget without a required email field).
Code Sample
curl -X 'POST' \
'https://quickex.io/api/v2/orders/public/set-email' \
-H 'accept: application/json' \
-H 'X-Api-Public-Key: {YOUR_PUBLIC_KEY}' \
-H 'X-Api-Timestamp: {UNIX_MS_TIMESTAMP}' \
-H 'X-Api-Signature: {SIGNATURE}'
-H 'Content-Type: application/json' \
-d '{
"orderId": 3038,
"userEmail": "QA@quickex.com"
}'Response Example
{
"deposits": [
{
"createdAt": "2025-12-02T09:31:46.246Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"confirmations": 0,
"txId": "0xdeadc0dedeadbeef",
"depositAddress": "0xdeadc0de",
"isPending": true,
"id": 0,
"counterPartyAddress": "0xdeadc0dedeadbeef"
}
],
"withdrawals": [
{
"createdAt": "2025-12-02T09:31:46.246Z",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"amount": "1000.1",
"networkFee": "1.1",
"txId": "0xdeadc0dedeadbeef"
}
],
"depositAddress": {
"orderId": 0,
"liquidityProviderTitle": "QUICKEX_BUSINESS_ACCOUNT",
"instrument": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"depositAddress": "0xdeadc0de",
"depositAddressMemo": "string",
"redirectUrl": "string"
},
"orderId": 0,
"userId": 0,
"legacyOrderId": "string",
"pair": {
"instrumentFrom": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
},
"instrumentTo": {
"currencyTitle": "USDT",
"networkTitle": "TRC20"
}
},
"createdAt": "2025-12-02T09:31:46.246Z",
"claimedDepositAmount": "10.01",
"amountToGet": "10.01",
"claimedPublicRate": {
"price": "1000.1",
"quotes": {
"sellQuote": {
"baseValue": "1000.1",
"quoteValue": "1000.1"
},
"buyQuote": {
"baseValue": "1000.1",
"quoteValue": "1000.1"
}
},
"updatedAt": "2025-12-02T09:31:46.246Z",
"liquidityProviderPublicCode": "formulae",
"claimedAmountToReceive": "0.01",
"finalNetworkFeeAmount": "0.01",
"platformFee_Absolute": "0.01",
"fixedRate_maxAmount": "1000.000",
"fixedRate_maxTimeMinutes": 1,
"fixedRate_maxRateVolatilityPercent": "1000.000"
},
"claimedNetworkFee": "10.01",
"KYCFormLink": "string",
"orderEvents": [
{
"kind": "TRACKING_STARTED",
"createdAt": "2025-12-02T09:31:46.246Z"
}
],
"userEmail": "QA@example.com",
"rateMode": "FLOATING",
"destinationAddress": "0xdeadbeef",
"destinationAddressMemo": "0xdeadbeef",
"completed": false,
"possibleCashbackAmountUSDT": "500.00",
"redirectUrl": "https://payments.mercuryo.io/",
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}Try it out
Leave empty to use default
Request Body
Headers
Documentation
General Description
This method returns detailed information about a specific order by its orderId.
Unlike the order list (GET /api/v2/orders), it provides all data related to the selected order:
the full instrument pair with parameters, the fixed rate (claimedPublicRate),
confirmation limits, the event history (orderEvents), the deposit address,
as well as information about potential cashback or referral accruals and the completion status.
Access to orders is restricted by the current API key — you can only view orders that were created
using your X-Api-Public-Key.
HTTP Request
Method: GET
URL: https://quickex.io/api/v2/orders/public-info
Example Request
curl -X 'GET' \
'https://quickex.io/api/v2/orders/public-info?orderId=3038' \
-H 'accept: application/json' \
-H 'X-Api-Public-Key: {YOUR_PUBLIC_KEY}' \
-H 'X-Api-Timestamp: {UNIX_MS_TIMESTAMP}' \
-H 'X-Api-Signature: {SIGNATURE}'
Headers
| Header | Required | Description |
|---|---|---|
| Accept | yes | Recommended value: application/json. |
| X-Api-Public-Key | yes | Your public API key. |
| X-Api-Timestamp | yes | Timestamp (usually UNIX in ms), included in the signature. |
| X-Api-Signature | yes | Request signature (HMAC SHA256 according to API v2 scheme). |
Request Parameters
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| orderId | int | yes | Identifier of the order for which information is requested. |
Response Format
The method returns a JSON object with full information about the order.
Example Response
{
"orderId": 174059,
"legacyOrderId": "602184da-5881-408e-bffa-3562702d7d3e",
"pair": {
"instrumentFrom": {
"currencyTitle": "XRP",
"networkTitle": "XRP",
"precisionDecimals": 2,
"slug": "xrp",
"liquidityProviderCurrencies": [
{
"minConfirmationsToTrade": 12,
"minConfirmationsToWithdraw": 12
}
]
},
"instrumentTo": {
"currencyTitle": "TRX",
"networkTitle": "TRX",
"precisionDecimals": 2,
"slug": "trx",
"liquidityProviderCurrencies": [
{
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}
]
}
},
"createdAt": "2025-12-15T14:38:40.523Z",
"instrumentFromCurrencyTitle": "XRP",
"instrumentFromNetworkTitle": "XRP",
"instrumentToCurrencyTitle": "TRX",
"instrumentToNetworkTitle": "TRX",
"feeMode": "FIXED",
"userId": 2382,
"userEmail": "sam.white@support.example.io",
"isPlatformEmail": false,
"refundAddress": "rNFSruW9B1NwVoGgUMmfwXbruWMp8Mgv3K",
"refundAddressMemo": null,
"destinationAddress": "TWRW8YiZtjW7JkYxxzuPrN9fQzoDK5FHgm",
"destinationAddressMemo": null,
"claimedNetworkFee": "1.987665024814",
"rateMode": "FIXED",
"claimedDepositAmount": "57",
"amountToGet": "393.07",
"platformFee": "3.86",
"redirectUrl": null,
"orderEvents": [
{
"createdAt": "2025-12-15T14:42:43.317Z",
"kind": "WITHDRAWAL_COMPLETED"
},
{
"createdAt": "2025-12-15T14:41:54.109Z",
"kind": "FUNDS_WITHDRAWAL_START"
},
{
"createdAt": "2025-12-15T14:41:00.379Z",
"kind": "DEPOSIT_REGISTERED"
},
{
"createdAt": "2025-12-15T14:39:58.760Z",
"kind": "INCOMING_FUNDS_DETECTED"
},
{
"createdAt": "2025-12-15T14:38:41.642Z",
"kind": "CREATION_END"
}
],
"depositAddress": {
"instrument": {
"currencyTitle": "XRP",
"networkTitle": "XRP"
},
"depositAddress": "rwXnv8BfEHi7WmkLXZ6ChcWX9hMnSsTMNK",
"depositAddressMemo": "2097040307"
},
"deposits": [
{
"id": 50958,
"counterPartyAddress": null,
"createdAt": "2025-12-15T14:39:45.000Z",
"instrument": {
"currencyTitle": "XRP",
"networkTitle": "XRP"
},
"amount": "57",
"amountUSDT": "112.40742",
"txId": "DEA15CCF7AF04799A090298CB06D78DD177B3B518BED9C9DE8A0A5B717CCDBE7",
"confirmations": 12,
"depositAddress": {
"instrument": {
"currencyTitle": "XRP",
"networkTitle": "XRP"
},
"depositAddress": "rwXnv8BfEHi7WmkLXZ6ChcWX9hMnSsTMNK",
"depositAddressMemo": "2097040307"
},
"isPending": false
}
],
"withdrawals": [
{
"instrument": {
"currencyTitle": "TRX",
"networkTitle": "TRC20"
},
"amount": "393.07",
"txId": "39dc5802a931da0613f687087397e812dd6c0aa0b9041124d76e864e37bd1e09",
"createdAt": "2025-12-15T14:41:58.926Z",
"networkFee": "1.98"
}
],
"KYCFormLink": null,
"liquidityProviderPublicCode": "hat",
"possibleRefferalAccrualAmount": "0.78",
"possibleCashbackAmountUSDT": "0.22",
"actualCashbackAmountUSDT": "0.22",
"claimedPublicRate": {
"claimedAmountToReceive": "393.07",
"finalNetworkFeeAmount": "1.9876650248138958",
"platformFee_Absolute": null,
"price": "7.000992555831266",
"quotes": {
"sellQuote": {
"baseValue": "0.2821",
"quoteValue": "1.9453930016929823"
},
"buyQuote": {
"baseValue": "1.97499",
"quoteValue": "0.2777753832835882"
}
},
"updatedAt": "2025-12-15T14:38:36.201Z",
"instrumentFrom": {
"currencyTitle": "XRP",
"networkTitle": "XRP",
"precisionDecimals": 2,
"slug": "xrp",
"liquidityProviderCurrencies": [
{
"minConfirmationsToTrade": 12,
"minConfirmationsToWithdraw": 12
}
]
},
"instrumentTo": {
"currencyTitle": "TRX",
"networkTitle": "TRX",
"precisionDecimals": 2,
"slug": "trx",
"liquidityProviderCurrencies": [
{
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}
]
}
},
"completed": true,
"minConfirmationsToTrade": 12,
"minConfirmationsToWithdraw": 12
}
Response Field Breakdown
Below are the key response fields. Some nested structures (e.g., instrumentFrom / instrumentTo) are similar to objects in the /instruments and /rates methods.
General Order Information
| Field | Type | Description |
|---|---|---|
| orderId | number | Unique order identifier in the Quickex system. |
| legacyOrderId | string | Order identifier in the legacy system (if used for migration/compatibility). |
| createdAt | string | Order creation time (ISO8601). |
| instrumentFromCurrencyTitle | string | Source currency code (BTC). |
| instrumentFromNetworkTitle | string | Source network (BTC). |
| instrumentToCurrencyTitle | string | Target currency code (USDT). |
| instrumentToNetworkTitle | string | Target network (TRC20). |
| feeMode | string | Order fee mode: • FLOATING – the fee may change depending on network conditions or market rate.• FIXED – the fee is fixed at the time the order is created. |
| rateMode | string | Exchange rate mode: • FIXED – the rate is locked when the order is created; the amount to receive does not change.• FLOATING – the rate may fluctuate until the order is completed; the amount to receive is updated according to current market conditions. |
| claimedDepositAmount | string | Deposit amount used to create the order. |
| amountToGet | string | Amount the user should receive for this order. |
| claimedNetworkFee | string | Network fee applied in the order calculation. |
| platformFee | string | Platform fee |
| redirectUrl | string | Redirect URL to an external service . |
| completed | boolean | Order completion flag: true — exchange completed, false — in progress. |
| minConfirmationsToTrade | number | Minimum confirmations for deposit to be considered available for trade. |
| minConfirmationsToWithdraw | number | Minimum confirmations required for withdrawal. |
Instrument Pair (pair)
"pair": {
"instrumentFrom": {
"currencyTitle": "XRP",
"networkTitle": "XRP",
"precisionDecimals": 2,
"slug": "xrp",
"liquidityProviderCurrencies": [
{
"minConfirmationsToTrade": 12,
"minConfirmationsToWithdraw": 12
}
]
},
"instrumentTo": {
"currencyTitle": "TRX",
"networkTitle": "TRX",
"precisionDecimals": 2,
"slug": "trx",
"liquidityProviderCurrencies": [
{
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}
]
}
},
| Field | Type | Description |
|---|---|---|
| instrumentFrom | object | Source instrument — the currency that the user sends. |
| instrumentFrom.currencyTitle | string | Currency code of the source instrument (e.g., XRP). |
| instrumentFrom.networkTitle | string | Blockchain network of the source instrument. |
| instrumentFrom.precisionDecimals | number | Number of decimal places supported for amounts. |
| instrumentFrom.slug | string | Internal identifier of the currency. |
| instrumentFrom.liquidityProviderCurrencies | array | Liquidity provider settings for this currency and network. |
| instrumentFrom.liquidityProviderCurrencies.minConfirmationsToTrade | number | Minimum number of blockchain confirmations required to use the deposit for exchange. |
| instrumentFrom.liquidityProviderCurrencies.minConfirmationsToWithdraw | number | Minimum number of confirmations required before withdrawal is allowed. |
| instrumentTo | object | Target instrument — the currency that the user receives. |
| instrumentTo.currencyTitle | string | Currency code of the target instrument (e.g., TRX). |
| instrumentTo.networkTitle | string | Blockchain network of the target instrument. |
| instrumentTo.precisionDecimals | number | Number of decimal places supported for amounts. |
| instrumentTo.slug | string | Internal identifier of the currency. |
| instrumentTo.liquidityProviderCurrencies | array | Liquidity provider settings for this currency and network. |
| instrumentTo.liquidityProviderCurrencies.minConfirmationsToTrade | number | Minimum confirmations required before funds can be exchanged. |
| instrumentTo.liquidityProviderCurrencies.minConfirmationsToWithdraw | number | Minimum confirmations required before funds can be withdrawn. |
orderEvents
"orderEvents": [
{
"createdAt": "2025-12-15T14:42:43.317Z",
"kind": "WITHDRAWAL_COMPLETED"
},
{
"createdAt": "2025-12-15T14:41:54.109Z",
"kind": "FUNDS_WITHDRAWAL_START"
},
{
"createdAt": "2025-12-15T14:41:00.379Z",
"kind": "DEPOSIT_REGISTERED"
},
{
"createdAt": "2025-12-15T14:39:58.760Z",
"kind": "INCOMING_FUNDS_DETECTED"
},
{
"createdAt": "2025-12-15T14:38:41.642Z",
"kind": "CREATION_END"
}
],
| Field | Type | Description |
|---|---|---|
| orderEvents | array | List of events describing the order lifecycle in chronological order. |
| orderEvents[].createdAt | string (ISO 8601) | Timestamp when the event occurred. |
| orderEvents[].kind | string | Type of order event. |
Possible values of orderEvents[].kind
| Value | Description |
|---|---|
| CREATION_END | Order has been successfully created. |
| INCOMING_FUNDS_DETECTED | Incoming deposit transaction has been detected in the blockchain. |
| DEPOSIT_REGISTERED | Deposit has received the required confirmations and was credited. |
| FUNDS_WITHDRAWAL_START | Withdrawal transaction has been initiated. |
| WITHDRAWAL_COMPLETED | Funds have been successfully sent to the destination address. |
depositAddress object
"depositAddress": {
"instrument": {
"currencyTitle": "XRP",
"networkTitle": "XRP"
},
"depositAddress": "rwXnv8BfEHi7WmkLXZ6ChcWX9hMnSsTMNK",
"depositAddressMemo": "2097040307"
},
| Field | Type | Description |
|---|---|---|
| depositAddress | object | Deposit details for the source instrument. |
| depositAddress.instrument | object | Instrument and network used for the deposit. |
| depositAddress.instrument.currencyTitle | string | Currency code of the deposit instrument (e.g., XRP). |
| depositAddress.instrument.networkTitle | string | Blockchain network used for the deposit. |
| depositAddress.depositAddress | string | Blockchain address to which the user must send funds. |
| depositAddress.depositAddressMemo | string \| null | Memo / tag required for the deposit (e.g., XRP Destination Tag). Must be included if provided. |
deposits array
"deposits": [
{
"id": 50958,
"counterPartyAddress": null,
"createdAt": "2025-12-15T14:39:45.000Z",
"instrument": {
"currencyTitle": "XRP",
"networkTitle": "XRP"
},
"amount": "57",
"amountUSDT": "112.40742",
"txId": "DEA15CCF7AF04799A090298CB06D78DD177B3B518BED9C9DE8A0A5B717CCDBE7",
"confirmations": 12,
"depositAddress": {
"instrument": {
"currencyTitle": "XRP",
"networkTitle": "XRP"
},
"depositAddress": "rwXnv8BfEHi7WmkLXZ6ChcWX9hMnSsTMNK",
"depositAddressMemo": "2097040307"
},
"isPending": false
}
]
| Field | Type | Description |
|---|---|---|
| deposits[] | array | List of deposit transactions associated with the order. |
| deposits[].id | number | Internal identifier of the deposit transaction. |
| deposits[].counterPartyAddress | string \| null | Address of the counterparty sending the deposit, if known. |
| deposits[].createdAt | string (ISO 8601) | Timestamp when the deposit transaction was registered in the system. |
| deposits[].instrument | object | Instrument and network of the deposited currency. |
| deposits[].instrument.currencyTitle | string | Currency code of the deposit (e.g., XRP). |
| deposits[].instrument.networkTitle | string | Blockchain network of the deposit (e.g., XRP). |
| deposits[].amount | string | Amount of currency deposited, in the original token. |
| deposits[].amountUSDT | string | Equivalent value of the deposit in USDT at the time of deposit. |
| deposits[].txId | string | Transaction ID of the deposit on the blockchain. |
| deposits[].confirmations | number | Number of blockchain confirmations received for this deposit. |
| deposits[].depositAddress | object | Deposit address object where funds were sent (see depositAddress block). |
| deposits[].isPending | boolean | Indicates whether the deposit is still pending (true) or confirmed/credited (false). |
withdrawals array
"withdrawals": [
{
"instrument": {
"currencyTitle": "TRX",
"networkTitle": "TRC20"
},
"amount": "393.07",
"txId": "39dc5802a931da0613f687087397e812dd6c0aa0b9041124d76e864e37bd1e09",
"createdAt": "2025-12-15T14:41:58.926Z",
"networkFee": "1.98"
}
]
| Field | Type | Description |
|---|---|---|
| withdrawals[] | array | List of withdrawal transactions for the order. |
| withdrawals[].instrument | object | Instrument and network of the currency being withdrawn. |
| withdrawals[].instrument.currencyTitle | string | Currency code of the withdrawn token (e.g., TRX). |
| withdrawals[].instrument.networkTitle | string | Blockchain network used for the withdrawal (e.g., TRC20). |
| withdrawals[].amount | string | Amount withdrawn in the original token. |
| withdrawals[].txId | string | Blockchain transaction ID of the withdrawal. |
| withdrawals[].createdAt | string (ISO 8601) | Timestamp when the withdrawal was created. |
| withdrawals[].networkFee | string | Network fee charged for the withdrawal transaction. |
Possible Use Cases
- Fetch complete details of a specific order to display a full transaction history, status, and related financial data in a user account, partner dashboard, or for reconciliation and auditing purposes.
Code Sample
curl -X 'GET' \
'https://quickex.io/api/v2/orders/info?orderId=3038' \
-H 'accept: application/json' \
-H 'X-Api-Public-Key: {YOUR_PUBLIC_KEY}' \
-H 'X-Api-Timestamp: {UNIX_MS_TIMESTAMP}' \
-H 'X-Api-Signature: {SIGNATURE}'Response Example
{
"orderId": 3038,
"legacyOrderId": "4602ddf9-e516-4c3a-9146-7bc748edd89b",
"pair": {
"instrumentFrom": {
"currencyTitle": "BTC",
"networkTitle": "BTC",
"precisionDecimals": 7,
"slug": "btc",
"liquidityProviderCurrencies": [
{
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}
]
},
"instrumentTo": {
"currencyTitle": "USDT",
"networkTitle": "TRC20",
"precisionDecimals": 5,
"slug": "usdttrc20",
"liquidityProviderCurrencies": [
{
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}
]
}
},
"createdAt": "2025-04-28T13:15:03.006Z",
"instrumentFromCurrencyTitle": "BTC",
"instrumentFromNetworkTitle": "BTC",
"instrumentToCurrencyTitle": "USDT",
"instrumentToNetworkTitle": "TRC20",
"feeMode": "FLOATING",
"userId": 229,
"userEmail": "qa@support.quickex.io",
"isPlatformEmail": false,
"refundAddress": null,
"refundAddressMemo": null,
"destinationAddress": "TFjfHBiDcL6B5S5W8g9b6gU2tbvnTR52ya",
"destinationAddressMemo": null,
"claimedNetworkFee": "1.5",
"rateMode": "FLOATING",
"claimedDepositAmount": "0.034268",
"amountToGet": "3263.05",
"platformFee": null,
"redirectUrl": null,
"orderEvents": [
{
"createdAt": "2025-04-28T13:15:03.021Z",
"kind": "CREATION_END"
}
],
"depositAddress": {
"instrument": {
"currencyTitle": "BTC",
"networkTitle": "BTC"
},
"depositAddress": "3LpR1ZKEVysoi6sxFqoGtB49638RsxzKSh",
"depositAddressMemo": null
},
"deposits": [],
"withdrawals": [],
"KYCFormLink": null,
"liquidityProviderPublicCode": "hat",
"possibleRefferalAccrualAmount": "3.01",
"possibleCashbackAmountUSDT": "0",
"actualCashbackAmountUSDT": null,
"claimedPublicRate": {
"claimedAmountToReceive": "3259.38",
"finalNetworkFeeAmount": "1.5",
"price": "95158.1",
"quotes": {
"sellQuote": {
"baseValue": "1",
"quoteValue": "95114.32743505127"
},
"buyQuote": {
"baseValue": "95158",
"quoteValue": "0.9995400016924599"
}
},
"updatedAt": "2025-04-28T13:11:30.251Z",
"instrumentFrom": {
"currencyTitle": "BTC",
"networkTitle": "BTC",
"precisionDecimals": 7,
"slug": "btc",
"liquidityProviderCurrencies": [
{
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}
]
},
"instrumentTo": {
"currencyTitle": "USDT",
"networkTitle": "TRC20",
"precisionDecimals": 5,
"slug": "usdttrc20",
"liquidityProviderCurrencies": [
{
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}
]
}
},
"completed": false,
"minConfirmationsToTrade": 3,
"minConfirmationsToWithdraw": 3
}Try it out
Leave empty to use default
Query Parameters
Headers
Documentation
Confirms the change of rate mode for an order. This is used in cases where the order was created with a fixed rate,
but during the exchange process it was switched to a floating rate (for example, due to exceeding limits or high volatility).
The method allows the user to accept the new mode and continue order processing.
URL
https://quickex.io/api/v2/orders/public/accept-rate-mode-change
Headers
Accept: application/jsonContent-Type: application/json
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
orderId |
number | yes | The identifier of the order for which the rate mode change needs to be confirmed. |
destinationAddress |
string | yes | The destination address associated with the order (used as an additional check). |
{
"orderId": 123456,
"destinationAddress": "0xdeadbeef"
}
Request Example (cURL)
curl -X POST \
'https://quickex.io/api/v1/orders/public/accept-rate-mode-change' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"orderId": 123456,
"destinationAddress": "0xdeadbeef"
}'
Responses
| Code | Description |
|---|---|
201 Created |
The rate mode change has been confirmed, and the order continues processing. |
404 Not Found |
Order not found ({"status":"ERR_NOT_FOUND","message":"Order not found"}). |
400 Bad Request |
Validation error (for example, invalid input data). |
5xx |
Internal server error. |
Notes
- This method is only called if the order has changed its rate mode (for example, from fixed to floating).
- Without confirmation, the order processing will be suspended.
- On success, the response returns status 201 and the order moves into continued processing state.
Code Sample
curl -X 'POST' \
'https://quickex.io/api/v1/orders/public/accept-rate-mode-change' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-d '{
"orderId": {},
"destinationAddress": "string"
}'Try it out
Leave empty to use default
Request Body
Headers
Documentation
Requests a refund for an order. Used in situations where the exchange was not completed or funds must be returned to the user.
To succeed, the refund amount and refund address must be specified.
URL
https://quickex.io/api/v2/orders/public/request-refund
Headers
Accept: application/jsonContent-Type: application/json
Request Body (JSON)
| Field | Type | Required | Description |
|---|---|---|---|
orderId |
number | yes | The identifier of the order for which a refund is requested. |
destinationAddress |
string | yes | The destination address specified in the original order (used as an additional check). |
refundAmount |
string | yes | The amount to be refunded to the user. |
refundAddress |
string | yes | The user’s wallet address where the funds will be refunded. |
claimedNetworkFee |
string | no | The network fee amount the user agrees to pay for the refund. |
{
"orderId": 123456,
"destinationAddress": "0xdeadbeef",
"refundAmount": "10.00",
"refundAddress": "0xuserrefundwallet",
"claimedNetworkFee": "0.50"
}
Request Example (cURL)
curl -X POST \
'https://quickex.io/api/v1/orders/public/request-refund' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"orderId": 123456,
"destinationAddress": "0xdeadbeef",
"refundAmount": "10.00",
"refundAddress": "0xuserrefundwallet",
"claimedNetworkFee": "0.50"
}'
Responses
| Code | Description |
|---|---|
201 Created |
The refund request has been accepted and will be processed. |
404 Not Found |
Order not found ({"status":"ERR_NOT_FOUND","message":"Order not found"}). |
400 Bad Request |
Validation error (for example, refund amount below the allowed minimum or invalid refundAddress). |
5xx |
Internal server error. |
Notes
- This method is only used for orders that cannot be completed.
- The refund is made to the address specified in
refundAddress, minus any applicable network fees.- After submission, the refund may require manual verification by support staff.
Code Sample
curl -X 'POST' \
'https://quickex.io/api/v1/orders/public/request-refund' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-d '{
"orderId": {},
"destinationAddress": "string",
"refundAmount": "10.00",
"refundAddress": "string",
"claimedNetworkFee": "10.00"
}'Try it out
Leave empty to use default
Request Body
Headers
Documentation
Returns refund information for a specific order.
Used after creating a refund request to check the details (amount, refund address, status).
URL
https://quickex.io/api/v2/orders/order-refund-info
Request Parameters (Query)
| Parameter | Type | Required | Description |
|---|---|---|---|
orderId |
string | yes | The identifier of the order for which refund data should be retrieved. |
curl -X GET \
'https://quickex.io/api/v1/orders/order-refund-info?orderId=1234' \
-H 'Accept: application/json'
Responses
| Code | Description |
|---|---|
200 OK |
Returns JSON with refund information (amount, address, status, fees). |
400 Bad Request |
Validation error or invalid order data ({"status":"ERR_BAD_REQUEST","message":"Unknown liquidity provider title: ..."}). |
404 Not Found |
Order not found. |
5xx |
Internal server error. |
Notes
- The method returns data only for orders where a refund has been initiated.
- In a successful
200response, the JSON may include the refund amount, refund address, and network fees.- For validation errors (
400), the server provides the reason in themessagefield.
Code Sample
curl -X 'GET' \
'https://quickex.io/api/v1/orders/order-refund-info?orderId={YOUR_ORDERID}' \
-H 'accept: */*'Try it out
Leave empty to use default