Upcoming Changes
2025-08-20
Unified USD orderbook revamp
To revamp unified USD orderbook, more details for the first type users, more details for the second type users.
OKX delisted the Crypto-USDC
trading pairs and upgrade the Crypto-USD trading pairs for accessibility to all users.
Users are categorized into two types based on their country or region, with varying solutions for each. If you get valid data from GET /api/v5/account/instruments?instType=SPOT&instId=BTC-USD
, you belong to the first type users, if you get an empty array [] data from that URL, you belong to the second type.
- If you are going to trade
Crypto-USDC
pairs after the revamp:- The
instId
should be set toCrypto-USD
, such asBTC-USD
. - The
tradeQuoteCcy
is used to determine the settlement quote currency and must be set asUSDC
. - The value for
tradeQuoteCcy
should be one of the enumerated values fromtradeQuoteCcyList
, which can be obtained from the endpoint Get instruments (private).
- The
- What you need to do:
- For the first type users:
- Regarding Trade, Algo Trading and and in Block Trading, you currently have two options to trade
Crypto-USDC
. The first option is to trade directly with"instId": "Crypto-USDC"
without specifyingtradeQuoteCcy
. The second option is to trade using"instId": "BTC-USD"
with"tradeQuoteCcy": "USDC"
. The first option will not be available after the revamp. For more details, please refer to the Example 1 below.
- Regarding Trade, Algo Trading and and in Block Trading, you currently have two options to trade
- For the second type of users, you are allowed to trade only with
"instId": "Crypto-USDC"
before the revamp. Afterward, you must use"instId": "Crypto-USD"
with"tradeQuoteCcy": "USDC"
. - When trading
Crypto-USDC
after the revamp, Get maximum available balance/equity and Get maximum order quantity will also need to use"instId": "BTC-USD"
with"tradeQuoteCcy": "USDC"
. - For market data related
Crypto-USDC
andCrypto-USD
trading, after the revamp, they will share the same order book, both using"instId": "Crypto-USD"
, such asBTC-USD
. ThetradeQuoteCcy
is not supported.
- For the first type users:
Example 1: Placing an order with BTC-USDC
:
Type | Before upgrading | After upgrading |
---|---|---|
Operation | Trading BTC-USDC |
Trading BTC-USDC |
Request fields for "op": "order" |
First option: { "instId": "BTC-USDC", "tradeQuoteCcy": "" } Second option: { "instId": "BTC-USD", "tradeQuoteCcy": "USDC" } |
Only option: { "instId": "BTC-USD", "tradeQuoteCcy": "USDC" } |
Response body from Get instruments (private) |
[ { "instId": "BTC-USDC", "tradeQuoteCcyList": ["USDC"], ...... }, { "instId": "BTC-USD", "tradeQuoteCcyList": ["USD", "USDC"], ...... } ] |
[ { "instId": "BTC-USD", "tradeQuoteCcyList": ["USD", "USDC"], ...... } ] |
2025-08-14
- MARGIN and OPTION trading are permitted in specific countries and regions.
2025-07-08
Open API supports Unified USD Orderbook
For more details, please refer to Unified USD Orderbook FAQ
- Added new request parameter
Parameter | Type | Required | Description |
---|---|---|---|
tradeQuoteCcy | String | No | The quote currency used for trading. Only applicable to SPOT . The default value is the quote currency of the instId , for example: for BTC-USD , the default is USD . |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
tradeQuoteCcyList | Array of strings | List of quote currencies available for trading, e.g. ["USD", "USDC"]. |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
tradeQuoteCcy | String | The quote currency used for trading. |
Trades channel adds seqId field
Parameter | Type | Description |
---|---|---|
data | Array | Subscribed data |
> seqId | Integer | Sequence ID of the current message. |
Note: The seqId may be the same for different trade updates that occur at the same time.
2025-07-02
Added new endpoint
The request parameter has been updated as follows:
Before
Parameter | Type | Required | Description |
---|---|---|---|
after | String | No | Pagination of data to return records earlier than the requested ts , Unix timestamp format in milliseconds, e.g. 1597026383085 |
before | String | No | Pagination of data to return records newer than the requested ts , Unix timestamp format in milliseconds, e.g. 1597026383085 |
After
Parameter | Type | Required | Description |
---|---|---|---|
after | String | No | Pagination of data to return records earlier than the requested ts or billId , Unix timestamp format in milliseconds, e.g. 1597026383085 |
before | String | No | Pagination of data to return records newer than the requested ts or billId , Unix timestamp format in milliseconds, e.g. 1597026383085 |
pagingType | String | No | PagingType1 : Timestamp of the bill record2 : Bill ID of the bill recordThe default is 1 |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
notes | String | Notes |
2025-06-26
- Futures and swap trading are permitted in specific countries and regions.
2025-06-24
- Added new endpoint
2025-05-28
- Added endpoints. Bills details (since 2021) endpoints below have been released in production
2025-04-17
Added endpoints
Added new error codes
Error code | Error Message |
---|---|
59515 | You are currently not on the custody whitelist. Please contact customer service for assistance. |
59516 | Please create the Copper custody funding account first. |
59517 | Please create the Komainu custody funding account first. |
59518 | You can’t create a sub-account using the API; please use the app or web. |
59519 | You can’t use this function/feature while it's frozen, due to: {freezereason} |
2024-09-18
- Added new endpoints: