Upcoming Changes
Changes for funding rate mechanism
OKX plans to adjust the perpetual contract funding mechanism to provide a better service. After adjustment, funding fees for certain contracts are calculated based on the funding rate at the time of the current funding fee collection.
For some altcoins perpetual swaps with significant fluctuations in funding rates, OKX will closely monitor market changes. When necessary, the funding rate collection frequency, currently set at 8 hours, may be adjusted to higher frequencies such as 6 hours, 4 hours, 2 hours, or 1 hour. Thus, users should focus on the difference between fundingTime
and nextFundingTime
fields to determine the funding fee interval of a contract.
The API change will be released in demo trading environment on 7 December and in production on December 13.
Timeline of changing the funding rate mechanism for perpetual swap contracts will be announced separately.
The change at API end is listed below.
- Add new response parameter method to distinguish the difference of current period's mechanism and cross-period mechanism
Parameter | Type | Description |
---|---|---|
method | String | Funding rate mechanism current_period next_period |
nextFundingRate | String | Forecasted funding rate for the next period The nextFundingRate will be "" if the method is current_period |
Set time range limit for interest accrued data endpoint
OKX plans to set time range limit for interest accrued data endpoint. After adjustment, users can only get interest accrued data within one year. The change has been released in demo environment and will be in production around mid December.
- Set one year time range limit for response results
Cancel all after endpoint update
- The cancel all after endpoint is now applicable to all trading symbols through order book (except Spread trading) in demo trading environment, the feature release in production will be announced in due course.
NOTE: when the cancel all after is triggered, OKX trading engine will cancel orders on behalf of the client one by one and this operation may take up to a few seconds. This feature is intended as a protection mechanism for clients only and clients should not use this feature as part of their trading strategies.
Block trade public transaction data endpoint migration
OKX plans to migrate block trades market data endpoint to a new one. The new endpoint has been released in production. The corresponding old one will be offline in 30 November. Please migrate to new endpoint as soon as possible.
- The request URL of new endpoint is "GET /api/v5/public/block-trades"
Lot size change for perpetual and futures contracts
OKX plans to reduce the minimum notional value for perpetual swap and futures contracts by adjusting the lot size. Currently, the minimum order size and lot size for these contracts are always 1, with quantities being integers. OKX will change the minimum order size and lot size to values such as 0.1 and 0.01 (in exponents of 10), which will effectively lower the minimum notional value per order, with minimum order size the same as lot size. This means that quantity values for orders, trades, and positions will be returned as decimal values in multiples of the lot size.
When OKX executes the lot size change, the updated lot size information will be broadcasted through the websocket instruments channel and the instruments REST endpoint, similar to other instrument configuration changes. Clients should programmatically handle the change. The contract value of the contracts will remain unchanged. For example, the contract value of BTC-USDT-SWAP is currently 0.01, which means the minimum notional value per order is 0.01 BTC. With the minimum order size and lot size changed to 0.1, the minimum notional value per order will become 0.01 BTC x 0.1 = 0.001 BTC. New contracts may also be listed with decimal lot size.
In the demo environment, the minimum order size and lot size of some contracts will be adjusted to 0.1 for clients to test in mid December. The adjustment of the minimum order size and lot size for other contracts will start from Jan 2024. The list of contracts and the effective date of the changes will be announced separately.
Any upcoming updates, including the timeline etc., will be updated through this article.
Savings endpoints migration
OKX plans to migrate savings endpoints to the new. The new endpoint has been released in production on 2023/03/15. The corresponding old endpoints will be offline in late December. Please migrate to the new endpoints as soon as possible.
- Added a new function module Savings, the relevant endpoints of the savings are adjusted as follows
- Get saving balance adjusted endpoint path from
/api/v5/asset/saving-balance
to/api/v5/finance/savings/balance
- Savings purchase/redemption adjusted endpoint path from
/api/v5/asset/purchase_redempt
to/api/v5/finance/savings/purchase-redempt
- Set lending rate adjusted endpoint path from
/api/v5/asset/set-lending-rate
to/api/v5/finance/savings/set-lending-rate
- Get lending history adjusted endpoint path from
/api/v5/asset/lending-history
to/api/v5/finance/savings/lending-history
- Get public borrow info (public) adjusted endpoint path from
/api/v5/asset/lending-rate-summary
to/api/v5/finance/savings/lending-rate-summary
- Get public borrow history (public) adjusted endpoint path from
/api/v5/asset/lending-rate-history
to/api/v5/finance/savings/lending-rate-history
- Get saving balance adjusted endpoint path from
2023-12-05
- Newly added endpoints
2023-12-04
- Adjusted response fields in Status and Status channel
Added enumeration value10
: Spread trading and11
: Copy trading forserviceType
field.
2023-11-30
Added new endpoints and channel
- First copy settings
- Amend copy settings
- Stop copying
- Copy settings
- Multiple leverages
- Set Multiple leverages
- My lead traders
- My history lead traders
- Lead trader ranks
- Lead trader weekly pnl
- Lead trader daily pnl
- Lead trader stats
- Lead trader currency preferences
- Lead trader current lead positions
- Lead trader lead position history
- Copy trading notification channel
Added new request parameters and response parameters:
Request parameters
Parameter | Type | Required | Description |
---|---|---|---|
uniqueCode | String | No | Lead trader unique code, only applicable to copy trading A combination of case-sensitive alphanumerics, all numbers and the length is 16 characters, e.g. 213E8C92DC61EFAC |
subPosType | String | No | Data type.lead : lead trading, the default valuecopy : copy trading |
Response parameters
Parameter | Type | Description |
---|---|---|
tpOrdPx | String | Take-profit order price, it is -1 for market price |
slOrdPx | String | Stop-loss order price, it is -1 for market price |
margin | String | Margin |
upl | String | Unrealized profit and loss |
uplRatio | String | Unrealized profit and loss ratio |
markPx | String | Latest mark price, only applicable to contract |
uniqueCode | String | Lead trader unique code |
ccy | String | Currency |
- Added new request parameter and response parameters:
Parameter | Type | Required | Description |
---|---|---|---|
subPosType | String | No | Data type.lead : lead trading, the default valuecopy : copy trading |
Response parameters
Parameter | Type | Description |
---|---|---|
margin | String | Margin |
ccy | String | Currency |
markPx | String | Latest mark price, only applicable to contract |
uniqueCode | String | Lead trader unique code |
profitSharingAmt | String | Profit sharing amount, only applicable to copy trading |
- Added new request parameter
Parameter | Type | Required | Description |
---|---|---|---|
subPosType | String | No | Data type.lead : lead trading, the default valuecopy : copy trading |
- Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
59263 | 200 | ND brokers need to be on the allowlist to access this feature. Reach out to BD for help. |
59264 | 200 | Spot copy trading isn't supported |
59267 | 200 | Cancellation failed as you aren't copying this trader |
59268 | 200 | You can't copy trades with instId that hasn't been selected by the lead trader |
59269 | 200 | This contract lead trader doesn't exist |
59270 | 200 | Maximum total amount (copyTotalAmt) can't be lower than amount per order (copyAmt) when using fixed amount |
59273 | 200 | You aren't a contract copy trader yet. Start by coping a contract trader. |
59275 | 200 | You can't copy trade as you're applying to become a lead trader |
59276 | 200 | You can't copy this lead trader as they've applied to stop leading trades |
59277 | 200 | You can't copy this lead trader as they don't have any copy trader vacancies |
59278 | 200 | Your request to stop copy trading is being processed. Try again later. |
59279 | 200 | You've already copied this trader |
59280 | 200 | You can't modify copy trade settings as you aren't copying this trader |
59283 | 200 | Your account isn't currently using single-currency margin mode |
59130 | 200 | The highest take profit level is {num}%. Enter a smaller number and try again. |
59259 | 200 | Enter a multiplier value that's within the valid range |
59285 | 200 | You haven't led or copied any trades yet |
2023-11-22
- Added new channel
- Added new enumeration value for type field
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
type | String | No | regular_update |
Response Parameters
Parameter | Type | Description |
---|---|---|
type | String | regular_update |
The new enumeration value regular_update
for type field of insurance fund endpoint is used to present up-to-minute insurance fund change. The amt field will be used to present the difference of insurance fund balance when the type field is liquidation_balance_deposit
, bankruptcy_loss
or platform_revenue
, which is generated once per day around 08:00 am (UTC). When type is regular_update
, the amt field will be returned as "".
- Add new response parameters
Parameter | type | Description |
---|---|---|
minFundingRate | String | The lower limit of the predicted funding rate of the next cycle |
maxFundingRate | String | The upper limit of the predicted funding rate of the next cycle |
settState | String | Settlement state of funding rate processing settled |
settFundingRate | String | If settState = processing , it is the funding rate that is being used for current settlement cycle. If settState = settled , it is the funding rate that is being used for previous settlement cycle |
ts | String | Data return time, Unix timestamp format in milliseconds, e.g. 1597026383085 |
2023-11-18
- Add enumeration value for alias field
Parameter | Type | Description |
---|---|---|
alias | String | this_month next_month Not recommended for use, users are encouraged to rely on the expTime field to determine the delivery time of the contract |
Notice for new monthly futures contracts generation and alias field change
Currently, the BTC/USDT- and BTC/USD-margined futures contracts are different in number from futures contracts in other margins, the supported expiration dates are different, and the rules for contract rotation are also slightly different. As indicated in previous announcement, OKX recommends that users should use the expTime field of instruments REST endpoint and WebSocket channel to determine the expiration dates of futures contracts and disable alias field.
OKX has expanded the available durations for BTC/USDT- and BTC/USD-margined futures contracts to the following: weekly, bi-weekly, monthly (new duration), bi-monthly (new duration), quarterly, and bi-quarterly at 8:00 am UTC on November 17, 2023. Before adjustment, we only support the following 4 durations: weekly, bi-weekly, quarterly, and bi-quarterly. Following this adjustment, all the available expiration dates for newly listed contracts will be as follows:
- Weekly (this_week): November 24, 2023
- Bi-weekly (next_week): December 1, 2023
- Monthly (this_month): December 29, 2023. Before adjustment, it is a quarterly contract. If you use the alias field to determine the expiration date, you may mistakenly think that the expiration date is November 24, 2023.
- Bi-monthly (next_month): January 26, 2024. Newly listed contract.
- Quarterly (quarter): March 29, 2024. Before adjustment, it is a bi-quarterly contract. If you use the alias field to determine the expiration date, you may mistakenly think that the expiration date is December 29, 2023.
- Bi-quarterly (next_quarter): June 28, 2024. Newly listed contract.
After adjustment, the alias field of instruments REST endpoint and WebSocket channel will have new enumeration values, this_month
and next_month
. For now, the new enumeration values are only applicable to BTC/USDT- and BTC/USD-margined futures contracts. In the future, OKX may expand the available durations for more futures contracts. Please use the expTime field of instruments REST endpoint and WebSocket channel to determine the expiration dates of futures contracts and disable alias field.
For more details, please visit announcement
2023-11-16
OKX has introduced economic calendar data endpoints to empower users with comprehensive and up-to-minute macroeconomic data.
This feature has been released in production environment and is only supported in production environment.
- Added new endpoints
2023-11-15
Added a new function module Affiliate
Added enumeration for parameter
Parameter | Type | Description |
---|---|---|
period | String | Periodhourly |
- Added new parameters
Parameter | Type | Description |
---|---|---|
recurringHour | String | Recurring buy by hourly1 /4 /8 /12 e.g. 4 represents "recurring buy every 4 hour" |
nextInvestTime | String | Next invest time, Unix timestamp format in milliseconds, e.g. 1597026383085 |
2023-11-13
- Added new response parameters
Parameter | Type | Description |
---|---|---|
maxLmtAmt | String | Max USD amount for a single limit order |
maxMktAmt | String | Max USD amount for a single market order Only applicable to SPOT/MARGIN |
- Added new error code
Error Code | HTTP Status Code | Error Message |
---|---|---|
51185 | 200 | The maximum value allowed per order is {maxOrderValue} USD |
2023-11-10
- Added enumeration for request parameter:
Parameter | Type | Required | Description |
---|---|---|---|
tdMode | String | No | Trade modespot_isolated (only applicable to SPOT lead trading) |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
spotRoleType | String | SPOT copy trading role type.0 : General user;1 :Leading trader;2 :Copy trader |
spotTraderInsts | String | Spot lead trading instruments, only applicable to Leanding trader |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
> spotIsoBal | String | SPOT isolated balance. only applicable to copy trading |
- Added enumeration value
Parameter | Type | Required | Description |
---|---|---|---|
subType | String | No | Bill subtype280 : SPOT profit sharing expenses; 281 : SPOT profit sharing refund |
- Added new request parameter and response parameter:
Request parameters
Parameter | Type | Required | Description |
---|---|---|---|
instType | String | No | Instrument typeSPOT SWAP |
Response parameters
Parameter | Type | Description |
---|---|---|
instType | String | Instrument type |
- Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
51072 | 200 | As a spot lead trader, you need to set tdMode to 'spot_isolated' when configured buying lead trade pairs |
51073 | 200 | As a spot lead trader, you need to use '/copytrading/close-subposition' for selling assets through lead trades |
51074 | 200 | Only the tdMode for lead trade pairs configured by spot lead traders can be set to 'spot_isolated' |
59260 | 200 | You are not a spot lead trader yet. Complete the application on our website or app first. |
59262 | 200 | You are not a contract lead trader yet. Complete the application on our website or app first. |
59642 | 200 | Lead and copy traders can only use margin-free or single-currency margin account modes |
59643 | 200 | Couldn’t switch account modes as you’re currently copying spot trades |
2023-11-08
Added a new function module ETH Staking
Migrated block trade public transactions old endpoint into a new one and added new response parameters. The request URL of new endpoint is "GET /api/v5/public/block-trades" and the old one will be offline in later November. New response parameters in new endpoint:
Parameter | Type | Description |
---|---|---|
fillVol | String | Implied volatility Only applicable to OPTION |
fwdPx | String | Forward price Only applicable to options |
idxPx | String | Index price Applicable to FUTURES , SWAP , OPTION |
markPx | String | Mark price Applicable to FUTURES , SWAP , OPTION |
- Added new push data parameters
Parameter | Type | Description |
---|---|---|
> fillVol | String | Implied volatility Only applicable to OPTION |
> fwdPx | String | Forward price Only applicable to options |
> idxPx | String | Index price Applicable to FUTURES , SWAP , OPTION |
> markPx | String | Mark price Applicable to FUTURES , SWAP , OPTION |
For placing/amending order, the original TP/SL parameters attached will be hided from the document. Advising you to use new parameters.
- Add new request parameters:
Parameter | Type | Required | Description |
---|---|---|---|
attachAlgoOrds | Array of object | No | TP/SL information attached when placing order |
> attachAlgoClOrdId | String | No | Client-supplied Algo ID when placing order attaching TP/SL A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters. It will be posted to algoClOrdId when placing TP/SL order once the general order is filled completely. |
> tpTriggerPx | String | Conditional | Take-profit trigger price If you fill in this parameter, you should fill in the take-profit order price as well. |
> tpOrdPx | String | Conditional | Take-profit order price If you fill in this parameter, you should fill in the take-profit trigger price as well. If the price is -1, take-profit will be executed at the market price. |
> slTriggerPx | String | Conditional | Stop-loss trigger price If you fill in this parameter, you should fill in the stop-loss order price. |
> slOrdPx | String | Conditional | Stop-loss order price If you fill in this parameter, you should fill in the stop-loss trigger price. If the price is -1, stop-loss will be executed at the market price. |
> tpTriggerPxType | String | No | Take-profit trigger price typelast : last price index : index price mark : mark price The Default is last |
> slTriggerPxType | String | No | Stop-loss trigger price typelast : last price index : index price mark : mark price The Default is last |
> sz | String | Conditional | Size. Only applicable to TP order of split TPs, and it is required for TP order of split TPs |
> amendPxOnTriggerType | String | No | Whether to enable Cost-price SL. Only applicable to SL order of split TPs. Whether slTriggerPx will move to avgPx when the first TP order is triggered0 : disable, the default value 1 . Enable “Cost-price SL” |
- Add new request parameters:
Parameter | Type | Required | Description |
---|---|---|---|
attachAlgoOrds | Array of object | No | TP/SL information attached when placing order |
> attachAlgoId | String | Conditional | The order ID of attached TP/SL order |
> attachAlgoClOrdId | String | Conditional | Client-supplied Algo ID when placing order attaching TP/SL A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters. It will be posted to algoClOrdId when placing TP/SL order once the general order is filled completely. |
> newTpTriggerPx | String | Conditional | Take-profit trigger price. Either the take profit trigger price or order price is 0, it means that the take profit is deleted. Only applicable to Futures and Perpetual swap. |
> newTpOrdPx | String | Conditional | Take-profit order price If the price is -1, take-profit will be executed at the market price. Only applicable to Futures and Perpetual swap. |
> newSlTriggerPx | String | Conditional | Stop-loss trigger price Either the stop loss trigger price or order price is 0, it means that the stop loss is deleted. Only applicable to Futures and Perpetual swap. |
> newSlOrdPx | String | Conditional | Stop-loss order price If the price is -1, stop-loss will be executed at the market price. Only applicable to Futures and Perpetual swap. |
> newTpTriggerPxType | String | Conditional | Take-profit trigger price typelast : last price index : index price mark : mark priceOnly applicable to FUTURES /SWAP If you want to add the take-profit, this parameter is required |
> newSlTriggerPxType | String | Conditional | Stop-loss trigger price typelast : last price index : index price mark : mark priceOnly applicable to FUTURES /SWAP If you want to add the stop-loss, this parameter is required |
> sz | String | Conditional | New size. Only applicable to TP order of split TPs, and it is required for TP order of split TPs |
> amendPxOnTriggerType | String | No | Whether to enable Cost-price SL. Only applicable to SL order of split TPs. 0 : disable, the default value 1 . Enable “Cost-price SL” |
- Add new response parameters
Parameter | Type | Description |
---|---|---|
attachAlgoOrds | Array of object | TP/SL information attached when placing order |
> attachAlgoId | String | The order ID of attached TP/SL order |
> attachAlgoClOrdId | String | Client-supplied Algo ID when placing order attaching TP/SL A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters. It will be posted to algoClOrdId when placing TP/SL order once the general order is filled completely. |
> tpTriggerPx | String | Take-profit trigger price. |
> tpTriggerPxType | String | Take-profit trigger price type. last : last priceindex : index pricemark : mark price |
> tpOrdPx | String | Take-profit order price. |
> slTriggerPx | String | Stop-loss trigger price. |
> slTriggerPxType | String | Stop-loss trigger price type. last : last priceindex : index pricemark : mark price |
> slOrdPx | String | Stop-loss order price. |
> sz | String | Conditional |
> amendPxOnTriggerType | String | Whether to enable Cost-price SL. Only applicable to SL order of split TPs. 0 : disable, the default value 1 . Enable “Cost-price SL” |
- Add new response parameters
Parameter | Type | Description |
---|---|---|
> amendPxOnTriggerType | String | Whether to enable Cost-price SL. Only applicable to SL order of split TPs. 0 : disable, the default value 1 . Enable “Cost-price SL” |
- Add new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
51076 | 200 | TP/SL orders in Split TPs only support one-way TP/SL. You can not use slTriggerPx&slOrdPx and tpTriggerPx&tpOrdPx at the same time. |
51077 | 200 | You cannot set ‘amendPxOnTriggerTyp’ as 1 for spot and margin trading |
51078 | 200 | You are a lead trader. Split TPs are not supported. |
51079 | 200 | The number of TP orders with Split TPs attached in a same order cannot exceed {param0} |
51080 | 200 | Take-profit trigger price types (tpTriggerPxType) must be the same in an order with Split TPs attached |
51081 | 200 | Take-profit trigger prices (tpTriggerPx) cannot be the same in an order with Split TPs attached |
51082 | 200 | Take-profit order prices (tpOrdPx) must be market prices in an order with Split TPs attached |
51083 | 200 | The total size of TP orders with Split TPs attached in a same order should equal the size of this order |
51084 | 200 | The number of SL orders with Split TPs attached in a same order cannot exceed {param0} |
51085 | 200 | The number of TP orders cannot be less than 2 when cost-price SL is enabled (amendPxOnTriggerType set as 1) for Split TPs |
51086 | 200 | The number of orders with Split TPs attached in a same order cannot exceed {param0} |
51538 | 200 | You need to use attachAlgoOrds if you used attachAlgoOrds when placing an order. attachAlgoOrds is not supported if you did not use attachAlgoOrds when placing this order. |
51539 | 200 | attachAlgoId or attachAlgoClOrdId cannot be identical when modifying any TP/SL within your split TPs order |
51527 | 200 | Order modification failed. At least 1 of the attached TP/SL orders does not exist. |
51089 | 200 | The size of the TP order among split TPs attached cannot be empty |
2023-11-07
Spread trading supports IOC orders
- Added new enum value for request parameter ordType
Parameter | Type | Required | Description |
---|---|---|---|
ordType | String | No | ioc : Immediate-or-cancel order |
- Added new enum value for response parameter ordType
Parameter | Type | Description |
---|---|---|
ordType | String | ioc : Immediate-or-cancel order |
- Added new enum value for response parameter cancelSource
Parameter | Type | Description |
---|---|---|
cancelSource | String | 14 : Order canceled: IOC order was partially canceled due to incompletely filled. |
2023-11-02
- Added new parameters
Parameters | Type | Description |
---|---|---|
clTReqId | String | Client Order ID as assigned by the client |
2023-11-01
- Added new response parameter and push data parameter
Parameters | Type | Description |
---|---|---|
flowType | String | Identify the type of the RFQ. Only applicable to Makers, return "" for Takers |
- Added new response parameters
Parameters | Type | Description |
---|---|---|
> enable | Boolean | Sub-account statustrue : normalfalse : frozen |
> frozenFunc | Array of string | Frozen functionstrading convert transfer withdrawal deposit flexible_loan |
> canTransOut | String | Whether the sub-account has the right to transfer out.(Directly transfer to another sub account through the sub account APIKey)true : can transfer out false : cannot transfer out |
- Added new response parameters
Parameters | Type | Description |
---|---|---|
frozenFunc | Array of string | Frozen functionstrading convert transfer withdrawal deposit flexible_loan |
- Added connId field for WebSocket event response message to help users target a specific WebSocket connection
Parameter | Type | Required | Description |
---|---|---|---|
connId | String | Yes | WebSocket connection ID |
2023-10-31
- Added a new WebSocket channel for spread trading amend order. This endpoint is now only applicable to whitelisted users.
2023-10-27
- Fee rates endpoint adjustment
In order to improve market liquidity and improve the overall user experience, OKX adjusted the rules of trading fee rates between 7:00–9:00 am UTC on Oct. 27, 2023.
At the same time, Get fee rates was affected and have adjustment as following:
Note:
1. Only the SPOT/MARGIN response fields was affected, FUTURES
/SWAP
/OPTION
response fields wasn't affected.
2. For SPOT
/MARGIN
, the fee rate of the USDⓈ&Crypto trading pairs was returned by takerUSDC/makerUSDC rather than taker/maker after the adjustment.
Before:
Parameter | Type | Description |
---|---|---|
taker | String | For SPOT /MARGIN , it is taker fee rate of the USDT&USDⓈ&Crypto trading pairs. For FUTURES /SWAP /OPTION , it is the fee rate of crypto-margined contracts |
maker | String | For SPOT /MARGIN , it is maker fee rate of the USDT&USDⓈ&Crypto trading pairs. For FUTURES /SWAP /OPTION , it is the fee rate of crypto-margined contracts |
takerUSDC | String | Taker fee rate for the USDC trading pairs(SPOT/MARGIN ) and contracts(FUTURES/SWAP ) |
makerUSDC | String | Maker fee rate for the USDC trading pairs(SPOT/MARGIN ) and contracts(FUTURES/SWAP ) |
After:
Parameter | Type | Description |
---|---|---|
taker | String | For SPOT /MARGIN , it is taker fee rate of the USDT trading pairs. For FUTURES /SWAP /OPTION , it is the fee rate of crypto-margined contracts |
maker | String | For SPOT /MARGIN , it is maker fee rate of the USDT trading pairs. For FUTURES /SWAP /OPTION , it is the fee rate of crypto-margined contracts |
takerUSDC | String | For SPOT /MARGIN , it is taker fee rate of the USDⓈ&Crypto trading pairs.For FUTURES /SWAP , it is the fee rate of USDC-margined contracts |
makerUSDC | String | For SPOT /MARGIN , it is maker fee rate of the USDⓈ&Crypto trading pairs.For FUTURES /SWAP , it is the fee rate of USDC-margined contracts |
fiat | Array | Details of fiat fee rate |
> ccy | String | Fiat currency. |
> taker | String | Taker fee rate |
> maker | String | Maker fee rate |
- Adjusted request parameters
Before:
Parameter | Type | Required | Description |
---|---|---|---|
quoteCcyType | String | No | Quote currency type2 : USDT/USDⓈ/Crypto3 : USDCApplicated to SPOT When specifying this parameter, instType is required. |
After:
Parameter | Type | Required | Description |
---|---|---|---|
quoteCcyType | String | No | Quote currency type2 : USDT3 : USDⓈ/CryptoApplicated to SPOT When specifying this parameter, instType is required. |
2023-10-24
- Added a new endpoint for spread trading amend order. This endpoint is now only applicable to whitelisted users.
2023-10-19
- Added a new function [Download the transaction details in the past 2 years]
2023-10-18
Trades channel adjustment, aggregate trades per taker order, per filled price
Added a new function module Signal bot trading
Added response parameters
Parameter | Type | Description |
---|---|---|
beginTime | String | Rebate record begin time, Unix timestamp format in milliseconds, e.g. 1597026383085 |
endTime | String | Rebate record end time, Unix timestamp format in milliseconds, e.g. 1597026383085 |
cTime | String | Generate download link request time, Unix timestamp format in milliseconds, e.g. 1597026383085 |
Added new endpoint
Added request parameters
Parameter | Type | Required | Description |
---|---|---|---|
clientIP | String | No | Sub-account register IP Please use ND server IP for non personal accounts |
- Added enumeration value for cancelSource field
Parameter | Type | Description |
---|---|---|
> cancelSource | String | 33 : The order exceeds the maximum number of order matches per taker order |
- Added new error code
Error Code | HTTP Status Code | Error Message |
---|---|---|
51088 | 200 | You can only place 1 TP/SL order to close an entire position |
Added response parameter
Parameter | Type | Description |
---|---|---|
bePx | String | Breakeven price |
2023-09-29
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
opType | String | No | Order type open : round down sz when opening positions close : round sz to the nearest when closing positions The default is close Applicable to FUTURES SWAP |
2023-09-28
- Adjusted trading restriction
To ensure the high performance of the trading system and provide users with a better trading experience, OKX has adjusted trading restriction that the maximum number of maker orders that can be matched with a taker order cannot exceed 1000.
When the number of maker orders matched with a taker order exceeds the maximum number limit of 1000, the taker order will be canceled:
- The limit orders will only be executed with a portion corresponding to 1000 maker orders and the remainder will be canceled.
- Fill or Kill (FOK) orders will be canceled directly.
2023-09-27
- Adjust parameter
Before:
Parameter | Type | Description |
---|---|---|
> amendResult | String | The result of amending the order-1 : failure0 : success1 : Automatic cancel (due to failed amendment) When amending the order through API and the amendment failed, -1 will be returned if cxlOnFail is set to false . Otherwise 1 will be returned if cxlOnFail is set to true . When amending the order through Web/APP and the amendment failed, -1 will be returned. |
After:
Parameter | Type | Description |
---|---|---|
> amendResult | String | The result of amending the order-1 : failure0 : success1 : Automatic cancel (due to failed amendment) 2 : Automatic amendation successfully, only applicable to pxVol and pxUsd orders of Option.When amending the order through API and the amendment failed, -1 will be returned if cxlOnFail is set to false . Otherwise 1 will be returned if cxlOnFail is set to true . When amending the order through Web/APP and the amendment failed, -1 will be returned. |
2023-09-20
Added response parameters, the new fields will be applicable to both success and failure responses of those endpoints below
Parameter | Type | Description |
---|---|---|
inTime | String | Timestamp at Websocket / REST gateway when the request is received, Unix timestamp format in microseconds, e.g. 1597026383085123 For REST, the time is recorded after authentication. |
outTime | String | Timestamp at Websocket / REST gateway when the response is sent, Unix timestamp format in microseconds, e.g. 1597026383085123 |
- Added response parameters
Parameter | Type | Description |
---|---|---|
interest | String | Interest |
tag | String | Order tag |
fillTime | String | Last filled time |
tradeId | String | Last traded ID |
clOrdId | String | Client Order ID as assigned by the client A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters. |
fillIdxPx | String | Index price at the moment of trade execution For cross currency spot pairs, it returns baseCcy-USDT index price. For example, for LTC-ETH, this field returns the index price of LTC-USDT. |
fillMarkPx | String | Mark price when filled Applicable to FUTURES/SWAP/OPTIONS, return "" for other instrument types |
fillPxVol | String | Implied volatility when filled Only applicable to options; return "" for other instrument types |
fillPxUsd | String | Options price when filled, in the unit of USD Only applicable to options; return "" for other instrument types |
fillMarkVol | String | Mark volatility when filled Only applicable to options; return "" for other instrument types |
fillFwdPx | String | Forward price when filled Only applicable to options; return "" for other instrument types |
- Added push data parameter
Parameter | Type | Description |
---|---|---|
data | Array | Subscribed data |
> trades | Array | Details of trade |
>> instId | String | Instrument ID, e.g. BTC-USDT |
>> tradeId | String | Trade ID |
- Added new parameters for
trigger order
Parameter | Type | Description |
---|---|---|
attachAlgoOrds | Array of object | Attached SL/TP orders info Applicable to Single-currency margin/Multi-currency margin/Portfolio margin |
> attachAlgoClOrdId | String | Client-supplied Algo ID when placing order attaching TP/SL. A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters. It will be posted to algoClOrdId when placing TP/SL order once the general order is filled completely. |
> tpTriggerPx | String | Take-profit trigger price If you fill in this parameter, you should fill in the take-profit order price as well. |
> tpTriggerPxType | String | Take-profit trigger price typelast : last priceindex : index pricemark : mark priceThe Default is last |
> tpOrdPx | String | Take-profit order price If you fill in this parameter, you should fill in the take-profit trigger price as well. If the price is -1 , take-profit will be executed at the market price. |
> slTriggerPx | String | Stop-loss trigger price If you fill in this parameter, you should fill in the stop-loss order price. |
> slTriggerPxType | String | Stop-loss trigger price typelast : last priceindex : index pricemark : mark priceThe Default is last |
> slOrdPx | String | Stop-loss order price If you fill in this parameter, you should fill in the stop-loss trigger price. If the price is -1 , stop-loss will be executed at the market price. |
- Added new parameters for
trailing stop order
Parameter | Type | Description |
---|---|---|
reduceOnly | Boolean | Whether the order can only reduce the position size. Valid options: true or false . The default value is false .This parameter is only valid in the FUTRUES /SWAP net mode, and is ignored in the long/short mode. |
- Added new enum value
Parameter | Type | Description |
---|---|---|
source | String | Order source6 : The normal order triggered by the trigger order 7 :The normal order triggered by the TP/SL order 24 :The normal order triggered by the trailing stop order |
- Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
51333 | 200 | Close position order in hedge-mode or reduce-only order in one-way mode cannot attach TPSL |
2023-09-13
Add request and response parameters
Parameter | Type | Required | Description |
---|---|---|---|
tag | String | No | Order tag A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 16 characters. |
- Add request parameters
Parameter | Type | Required | Description |
---|---|---|---|
after | String | No | Pagination of data to return records earlier than the requested subPosId . |
before | String | No | Pagination of data to return records newer than the requested subPosId . |
limit | String | No | Number of results per request. Maximum is 500. Default is 500. |
- Add restriction of the last 3 months
2023-09-08
For placing orders endpoints:
- Adjust and add request parameters
Before:
Parameter | Type | Required | Description |
---|---|---|---|
px | String | Conditional | Order price. Only applicable to limit , post_only , fok , ioc order |
After:
Parameter | Type | Required | Description |
---|---|---|---|
px | String | Conditional | Order price. Only applicable to limit , post_only , fok , ioc order When placing an option order, one of px/pxUsd/pxVol must be filled in, and only one can be filled in |
Add request parameters
Parameter | Type | Required | Description |
---|---|---|---|
pxUsd | String | Conditional | Place options orders in USD Only applicable to options When placing an option order, one of px/pxUsd/pxVol must be filled in, and only one can be filled in |
pxVol | String | Conditional | Place options orders based on implied volatility, where 1 represents 100% Only applicable to options When placing an option order, one of px/pxUsd/pxVol must be filled in, and only one can be filled in |
For amending orders endpoints:
- Adjust and add request parameters
Before:
Parameter | Type | Required | Description |
---|---|---|---|
newPx | String | Conditional | New price after amendment |
After:
Parameter | Type | Required | Description |
---|---|---|---|
newPx | String | Conditional | New price after amendment When modifying options orders, users can only fill in one of the following: newPx, newPxUsd, or newPxVol. It must be consistent with parameters when placing orders. For example, if users placed the order using px, they should use newPx when modifying the order. |
Add request parameters
Parameter | Type | Required | Description |
---|---|---|---|
newPxUsd | String | Conditional | Modify options orders using USD prices Only applicable to options. When modifying options orders, users can only fill in one of the following: newPx, newPxUsd, or newPxVol. |
newPxVol | String | Conditional | Modify options orders based on implied volatility, where 1 represents 100% Only applicable to options. When modifying options orders, users can only fill in one of the following: newPx, newPxUsd, or newPxVol. |
2023-08-31
Added new trading restriction
To ensure the high performance of the trading system and provide users with a better trading experience, OKX has now added a new trading restriction that the maximum number of maker orders that can be matched with a taker order cannot exceed 256.
When the number of maker orders matched with a taker order exceeds the maximum number limit of 256, the taker order will be canceled:
- The limit orders will only be executed with a portion corresponding to 256 maker orders and the remainder will be canceled.
- Fill or Kill (FOK) orders will be canceled directly.
When order is canceled due to this, users can get cancelSource = "0"
and cancelSourceReason = "Order was canceled by system"
through the endpoints below:
They can also receive cancelSource = "0"
through the following WebSocket channel:
In the future, in order to adapt to more scenarios where orders are canceled due to improve trading system performance, the cancelSource
and cancelSourceReason
of this reason may be modified:
- cancelSource = "33"
- cancelSourceReason = "The taker order was canceled because it exceeded the maximum number of maker orders matched"
2023-08-30
For order details, list and history endpoints:
- Adjusted and added request parameters
Before:
Parameter | Type | Description |
---|---|---|
px | String | Price |
After:
Parameter | Type | Description |
---|---|---|
px | String | Price For options, use coin as unit (e.g., BTC, ETH) |
Added response parameters
Parameter | Type | Description |
---|---|---|
pxUsd | String | Options price in USDOnly applicable to options; return "" for other instrument types |
pxVol | String | Implied volatility of the options orderOnly applicable to options; return "" for other instrument types |
pxType | String | Price type of options px : Place an order based on price, in the unit of coin (the unit for the request parameter px is BTC or ETH) pxVol : Place an order based on pxVol pxUsd : Place an order based on pxUsd, in the unit of USD (the unit for the request parameter px is USD) |
- Add new enumeration value for
amendSource
Parameter | Type | Description |
---|---|---|
> amendSource | String | Source of the order amendation. 1 : Order amended by user 2 : Order amended by user, but the order quantity is overriden by system due to reduce-only 3 : New order placed by user, but the order quantity is overriden by system due to reduce-only 4 : Order amended by system due to other pending orders 5 : Order modification due to changes in options px, pxVol, or pxUsd as a result of following variations. For example, when iv = 60, usd and px are anchored at iv = 60, the changes in usd or px lead to modification. |
For transaction details endpoints:
- Added response parameters
Parameter | Type | Description |
---|---|---|
fillPxVol | String | Implied volatility when filled Only applicable to options; return "" for other instrument types |
fillPxUsd | String | Options price when filled, in the unit of USD Only applicable to options; return "" for other instrument types |
fillMarkVol | String | Mark volatility when filled Only applicable to options; return "" for other instrument types |
fillFwdPx | String | Forward price when filled Only applicable to options; return "" for other instrument types |
fillMarkPx | String | Mark price when filled Applicable to FUTURES , SWAP , OPTION |
Added new error codes
Error code | HTTP Status Code | Error Message |
---|---|---|
51175 | 200 | Parameters {param0} {param1} and {param2} cannot be empty at the same time |
51176 | 200 | Only one parameter can be filled among Parameters {param0} {param1} and {param2} |
51177 | 200 | Unavailable to amend {param1} because the price type of the current options order is {param0} |
51179 | 200 | Unavailable to place options orders using {param0} in simple mode |
51180 | 200 | The range of {param0} should be ({param1}, {param2}) |
51181 | 200 | ordType must be limit when placing {param0} orders |
51182 | 200 | The total number of pending orders under price types pxUsd and pxVol for the current account cannot exceed {param0}. |
51536 | 200 | Unable to modify the size of the options order if the price type is pxUsd or pxVol |
51537 | 200 | pxUsd or pxVol are not supported by non-options instruments |
Added response parameters
Parameter | Type | Description |
---|---|---|
realizedPnl | String | Realized profit and loss |
pnl | String | Accumulated pnl of closing order(s) |
fee | String | Accumulated fee Negative number represents the user transaction fee charged by the platform.Positive number represents rebate. |
fundingFee | String | Accumulated funding fee |
liqPenalty | String | Accumulated liquidation penalty. It is negative when there is a value. |
- Added response parameters
Parameter | Type | Description |
---|---|---|
realizedPnl | String | Realized profit and loss |
fee | String | Accumulated fee Negative number represents the user transaction fee charged by the platform.Positive number represents rebate. |
fundingFee | String | Accumulated funding fee |
liqPenalty | String | Accumulated liquidation penalty. It is negative when there is a value. |
- Adjusted the request parameter.
before:
Parameter | Type | Required | Description |
---|---|---|---|
timeOut | String | Yes | The countdown for order cancellation, with second as the unit. Range of value can be 0, [5, 120]. Setting timeOut to 0 disables Cancel All After. |
after:
Parameter | Type | Required | Description |
---|---|---|---|
timeOut | String | Yes | The countdown for order cancellation, with second as the unit. Range of value can be 0, [10, 120]. Setting timeOut to 0 disables Cancel All After. |
- New WebSocket channel
2023-08-23
- Added new parameters
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
beginTime | String | No | Begin time, Unix timestamp format in milliseconds, e.g. 1597026383085 , search data after 1597026383085 (include) |
endTime | String | No | End time, Unix timestamp format in milliseconds, e.g. 1597026383085 , search data before 1597026383085 (exclude) |
Response Parameters
Parameter | Type | Description |
---|---|---|
> rebateTime | String | Rebate time, Unix timestamp format in milliseconds, e.g. 1597026383085 |
Return results in reverse chronological order
2023-08-22
Added new endpoints
Added new response parameters
Parameter | Type | Required | Description |
---|---|---|---|
rcvrInfo | String | Conditional | Receiver's info Specific country/region certified users need to provide this information for on-chain withdrawal |
> walletType | String | Yes | Wallet Typeexchange :Withdraw to exchange walletprivate :Withdraw to private walletIf you withdraw to exchange wallet, exchId &rcvrFirstName &rcvrLastName is requiredIf you withdraw to private wallet, no additional information is required |
> exchId | String | Conditional | Exchange ID You can query supported exchanges through the endpoint of Get exchange list (public) If the exchange is not in the exchange list, fill in '0' in this field |
> rcvrFirstName | String | Conditional | Receiver's first name, e.g. Bruce |
> rcvrLastName | String | Conditional | Receiver's last name, e.g. Wayne |
- Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
58237 | 200 | As required by local laws and regulations, you need to provide the "rcvrInfo". If you're withdrawing to an exchange platform, provide the info of the exchange and the recipient. |
58238 | 200 | Incomplete info. The info of the exchange and the recipient are required if you're withdrawing to an exchange platform. |
2023-08-16
- Added new response parameters
Parameter | Type | Description |
---|---|---|
> borrowFroz | String | Potential borrowing IMR of the account in USD Only applicable to Multi-currency margin and Portfolio margin . It is "" for other margin modes. |
>> borrowFroz | String | Potential borrowing IMR of the currency in USD Only applicable to Multi-currency margin and Portfolio margin . It is "" for other margin modes. |
- Adjusted response parameters:
Before:
Parameter | Type | Description |
---|---|---|
> expTime | String | Expiry time Only applicable to FUTURES/OPTION |
After:
Parameter | Type | Description |
---|---|---|
> expTime | String | Expiry time Applicable to SPOT/MARGIN/FUTURES/SWAP/OPTION . For FUTURES/OPTION , it is the delivery/exercise time. It can also be the delisting time of the trading instrument. Update once change. |
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
px | String | No | The available amount corresponds to price of close position. Only applicable to reduceOnly MARGIN . |
Adjusted response parameter description
Before:
Parameter | Type | Description |
---|---|---|
availPos | String | Position that can be closed Only applicable to MARGIN , FUTURES/SWAP in the long-short mode and OPTION |
After:
Parameter | Type | Description |
---|---|---|
availPos | String | Position that can be closed Only applicable to MARGIN , FUTURES/SWAP in the long-short mode and OPTION . For Margin position, the rest of sz will be SPOT trading after the liability is repaid while closing the position. Please get the available reduce-only amount from "Get maximum available tradable amount" if you want to reduce the amount of SPOT trading as much as possible. |
- Error code update
- Stop using error codes 51401, 51402, 51509 and 51510
- Consolidate error codes 51401 and 51402 into 51400, 51509 and 51510 into 51503
- The updated error messages of 51400 and 51503 are shown below.
Error Code | HTTP Status Code | Error Message |
---|---|---|
51400 | 200 | Cancellation failed as the order has been filled, canceled or does not exist. |
51503 | 200 | Order modification failed as the order has been filled, canceled or does not exist. |
- Added description about 1s candlestick supported
2023-08-14
Adjustment to pending order limit for trading symbols
After the adjustment, the maximum number of pending orders per trading symbol is 500. For example, for the perpetual swap contract BTC-USDT-SWAP, the futures contract BTC-USDT-230707, and the spot BTC-USDT, each supports a maximum of 500 pending orders.
The maximum number of pending orders per account remains unchanged at 4000. The existing rules for options trading are not changed. For users who have more than 500 orders for a trading symbol, the new limit does not affect existing orders. However, users are not able to place new orders for that trading symbol until some of the existing orders are filled or canceled so that the number of pending orders for the trading symbol is below the limit.
The limit of 500 pending orders applies to the following order types:
- Limit
- Market
- Post only
- Fill or Kill (FOK)
- Immediate or Cancel (IOC)
- Market order with Immediate-or-Cancel order (optimal limit IOC)
- Take Profit / Stop Loss (TP/SL)
- Limit and market orders triggered under the order types below:
- Take Profit / Stop Loss (TP/SL)
- Trigger
- Trailing stop
- Arbitrage
- Iceberg
- TWAP
- Recurring buy
Added new error code 51174
Error Code | HTTP Status Code | Error Message |
---|---|---|
51174 | 200 | Order failed. The number of {param0} pending orders reached the upper limit of {param1} (orders). |
2023-08-02
Added new endpoints
Added new response parameters
Parameter | Type | Description |
---|---|---|
> surplusLmtDetails | Array | The details of available amount across all sub-accounts The value of surplusLmt is the minimum value within this array. It can help you judge the reason that surplusLmt is not enough.Only applicable to VIP loans |
>> allAcctRemainingQuota | String | Total remaining quota for master account and sub-accounts |
>> curAcctRemainingQuota | String | The remaining quota for the current sub-account. Only applicable to the case in which the sub-account is assigned the loan allocation |
>> platRemainingQuota | String | Remaining quota for the platform. The format like "600" will be returned when it is more than curAcctRemainingQuota or allAcctRemainingQuota |
2023-07-26
- Adjusted response fields
Before
Parameter | Type | Description |
---|---|---|
type | String | The reason that Broker cannot get broker rebate2 : The user level is equal to or more than VIP3 |
After
Parameter | Type | Description |
---|---|---|
type | String | The reason that Broker cannot get broker rebate2 : The trading fee level is VIP4/5 and the monthly commission amount has reached the upper limit3 : The trading fee level is greater than or equal to VIP6 |
clientRebateRatio | String | Commission rebate ratio for client |
2023-07-20
- Added new response fields
Parameter | Type | Description |
---|---|---|
totIncomeCat | Object | Category statistics for the total rebate amount |
> spot | String | Total Rebate amount for spot , the unit is USDT |
> derivative | String | Total Rebate amount for derivative , the unit is USDT |
> convert | String | Total Rebate amount for convert , the unit is USDT |
details | Array of object | Sub-account rebate amount record list |
> incomeCat | Object | Category statistics for the rebate amount of the sub-account |
>> spot | String | The rebate amount of the sub-account for spot , the unit is USDT |
>> derivative | String | The rebate amount of the sub-account for derivative , the unit is USDT |
>> convert | String | The rebate amount of the sub-account for convert , the unit is USDT |
> netFee | String | The net fee of the sub-account, the unit is USDT |
> netFeeCat | Object | Category statistics for the net fee of the sub-account |
>> spot | String | The net fee of the sub-account for spot , the unit is USDT |
>> derivative | String | The net fee of the sub-account for derivative , the unit is USDT |
> markupFee | String | The markup fee of the sub-account, the unit is USDT |
> markupFeeCat | Object | Category statistics for the markup fee of the sub-account |
>> spot | String | The markup fee of the sub-account for spot , the unit is USDT |
>> derivative | String | The markup fee of the sub-account for derivative , the unit is USDT |
>> convert | String | The markup fee of the sub-account for convert , the unit is USDT |
- Added new response fields for decompressed CSV file
Parameter | Description |
---|---|
netFee | Net fee (The handling fee base for commission settlement after removing data such as commission cards and counterparties), in unit of USDT |
settlementFee | Settlement fee (Broker's handling fee base before settlement removing node commission rebates, commission cards, etc. ), in unit of USDT |
- Added new response fields for decompressed CSV file
Parameter | Description |
---|---|
rebateCat | Rebate categoryspot derivative convert |
netFee | Net fee (The handling fee base for commission settlement after removing data such as commission cards and counterparties), in unit of USDT |
markupFee | Markup fee, in unit of USDT |
2023-07-19
- Added new response fields
Parameter | Type | Description |
---|---|---|
profitSharingRatio | String | Profit sharing ratio Value range [0, 0.3] If it is a normal order (neither copy order nor lead order), this field returns "" |
copyType | String | Profit sharing order type0 : Normal order1 : Copy order without profit sharing2 : Copy order with profit sharing3 : Lead order |
- Added new response fields
Parameter | Type | Description |
---|---|---|
px | String | Price. It is related to subType. Trade filled price for 1: Buy 2: Sell 3: Open long 4: Open short 5: Close long 6: Close short 204: block trade buy 205: block trade sell 206: block trade open long 207: block trade open short 208: block trade close open209: block trade close short 114: Auto buy 115: Auto sell Liquidation Price:100: Partial liquidation close long 101: Partial liquidation close short 102: Partial liquidation buy 103: Partial liquidation sell 104: Liquidation long 105: Liquidation short 106: Liquidation buy 107: Liquidation sell 16: Repay forcibly 17: Repay interest by borrowing forcibly 110: Liquidation transfer in 111: Liquidation transfer out Delivery price for 112: Delivery long 113: Delivery short Exercise price for 170: Exercised 171: Counterparty exercised 172: Expired OTM Mark price for 173: Funding fee expense 174: Funding fee income |
- Added new response fields
Parameter | Type | Description |
---|---|---|
volLv | String | Implied volatility of at-the-money options |
- Added new endpoint
Added new enumeration value for
ordType
- Related endpoints about request parameter:
- Related endpoints about response parameter:
- Related endpoints about request parameter:
Parameter | Type | Description |
---|---|---|
ordType | String | mmp_and_post_only :Market Maker Protection and Post-only order(only applicable to Option in Portfolio Margin mode) |
- Added new endpoints
2023-07-17
- Added new response fields
Parameter | Type | Description |
---|---|---|
uid | String | sub-account uid |
- Added new request fields
Parameter | Type | Required | Description |
---|---|---|---|
cxlOnClosePos | Boolean | No | Whether the TP/SL order placed by the user is associated with the corresponding position of the instrument. If it is associated, the TP/SL order will be canceled when the position is fully closed; if it is not, the TP/SL order will not be affected when the position is fully closed. Valid values: true : Place a TP/SL order associated with the position false : Place a TP/SL order that is not associated with the position The default value is false . If true is passed in, users must pass reduceOnly = true as well, indicating that when placing a TP/SL order associated with a position, it must be a reduceOnly order. Only applicable to Single-currency margin and Multi-currency margin . |
2023-07-07
Added new enumeration value for
ordType
- Related endpoints about request parameter:
- Related endpoints about response parameter:
- Related endpoints about request parameter:
Parameter | Type | Description |
---|---|---|
ordType | String | mmp_and_post_only :Market Maker Protection and Post-only order(only applicable to Option in Portfolio Margin mode) |
- Added new endpoints
2023-07-05
- Added enumeration value
Parameter | Type | Required | Description |
---|---|---|---|
type | String | No | Bill type24 : Spread trading |
subType | String | No | Bill subtype270 : Spread trading buy; 271 : Spread trading sell; 272 : Spread trading open long; 273 : Spread trading open short; 274 : Spread trading close long; 275 : Spread trading close short |
- Added new response fields
Parameter | Type | Description |
---|---|---|
fillPnl | String | Last filled profit and loss, applicable to orders which have a trade and aim to close position. It always is 0 in other conditions |
- Added new push data parameters
Parameter | Type | Description |
---|---|---|
> fillPnl | String | Last filled profit and loss, applicable to orders which have a trade and aim to close position. It always is 0 in other conditions |
- Added new request fields
Parameter | Type | Required | Description |
---|---|---|---|
> extraParams | String | No | Additional configuration |
>> updateInterval | int | No | 0 : only push due to events The data will be pushed both by events and regularly if this field is omitted or set to other values than 0. The following format should be strictly obeyed when using this field. "extraParams": " { \"updateInterval\": \"0\" } " |
Added new endpoints
Order channel supported the update of the delivery orders(category=delivery).
Changed the request permission of Position builder from "Trade" to "Read"
2023-06-28
Added new enumeration value for
ordType
- Related endpoints about request parameter:
- Related endpoints about response parameter:
- Related endpoints about request parameter:
Parameter | Type | Description |
---|---|---|
ordType | String | mmp :Market Maker Protection (only applicable to Option in Portfolio Margin mode) |
Added new enumeration value for
state
- Related endpoints about request parameter:
- Related endpoints about response parameter:
- Related endpoints about request parameter:
Parameter | Type | Description |
---|---|---|
state | String | mmp_canceled :Order canceled automatically due to Market Maker Protection |
- Added new endpoints
2023-06-27
- Added new response parameters
Parameter | Type | Description |
---|---|---|
minFeeForCtAddr | String | Minimum withdrawal fee for contract address |
maxFeeForCtAddr | String | Maximum withdrawal fee for contract address |
2022-06-26
- Added API doc for Spread Orderbook. Currently only available for whitelisted users in demo trading environment
- Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
75001 | 200 | Trade ID does not exist |
75002 | 200 | {sprdId} : new orders are not accepted currently |
75003 | 200 | Invalid price |
2023-06-20
- Added new response parameters in Order book channel:
Parameter | Type | Description |
---|---|---|
> prevSeqId | Integer | Sequence ID of the last sent message. Only applicable to books , books-l2-tbt , books50-l2-tbt |
> seqId | Integer | Sequence ID of the current message |
- The request parameter has been updated as follows:
Before:
Parameter | Type | Required | Description |
---|---|---|---|
closeFraction | String | No | Fraction of position to be closed when the algo order is triggered. Currently the system supports fully closing the position only so the only accepted value is 1 . For the same position, only one TPSL pending order for fully closing the position is supported.This is only applicable to FUTURES or SWAP instruments.This is only applicable if posSide is net .This is only applicable if reduceOnly is true .This is only applicable if ordType is conditional or oco .This is only applicable if the stop loss and take profit order is executed as market order. This is not supported in Portfolio Margin mode. Either sz or closeFraction is required. |
After:
Parameter | Type | Required | Description |
---|---|---|---|
closeFraction | String | No | Fraction of position to be closed when the algo order is triggered. Currently the system supports fully closing the position only so the only accepted value is 1 . For the same position, only one TPSL pending order for fully closing the position is supported.This is only applicable to FUTURES or SWAP instruments.If posSide is net , reduceOnly must be true .This is only applicable if ordType is conditional or oco .This is only applicable if the stop loss and take profit order is executed as market order. This is not supported in Portfolio Margin mode. Either sz or closeFraction is required. |
- The request parameter has been updated as follows:
Before:
Parameter | Type | Required | Description |
---|---|---|---|
ip | String | Optional | Link IP addresses, separate with commas if more than one. Support up to 20 addresses. If sub-account API Key has trade /withdraw permission, linking IP addresses is required. |
After:
Parameter | Type | Required | Description |
---|---|---|---|
ip | String | No | Link IP addresses, separate with commas if more than one. Support up to 20 addresses. |
- The request parameter has been updated as follows:
Before:
Parameter | Type | Required | Description |
---|---|---|---|
ip | String | No | Link IP addresses, separate with commas if more than one. Support up to 20 addresses. The field will be reset if set. If sub-account API Key has trade /withdraw permission, linking IP addresses is required. |
After:
Parameter | Type | Required | Description |
---|---|---|---|
ip | String | No | Link IP addresses, separate with commas if more than one. Support up to 20 addresses. The field will be reset if set. |
- Added new response parameters:
Parameter | Type | Required | Description |
---|---|---|---|
uid | String | No | Sub-account uid |
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
attachAlgoClOrdId | String | No | Client-supplied Algo ID when placing order attaching TP/SL. |
- Added new response parameters to support self trade prevention:
Parameter | Type | Description |
---|---|---|
attachAlgoClOrdId | String | Client-supplied Algo ID when placing order attaching TP/SL. |
- Added new parameters
Before:
Parameter | Type | Description |
---|---|---|
ordId | String | Order ID |
state | String | State,live pause partially_effective |
After:
Parameter | Type | Description |
---|---|---|
ordId | String | Latest order ID |
state | String | State,live pause partially_effective partially_failed |
ordIdList | String | Order ID list. There will be multiple order IDs when there is TP/SL splitting order. |
2023-06-19
- Added a new endpoint
2023-06-15
- Planned system maintenance that may result in short interruption (lasting less than 5 seconds) or websocket disconnection (users can immediately reconnect) will not be announced. The maintenance will only be performed during times of low market volatility.
2023-06-07
- Added new request parameters to support self trade prevention:
Parameter | Type | Required | Description |
---|---|---|---|
stpId | String | No | Self trade prevention ID. Orders from the same master account with the same ID will be prevented from self trade. Numerical integers defined by user in the range of 1<= x<= 999999999 |
stpMode | String | No | Self trade prevention mode Default to cancel maker cancel_maker ,cancel_taker , cancel_both Cancel both does not support FOK. |
- Added new response parameters to support self trade prevention:
Parameter | Type | Description |
---|---|---|
stpId | String | Self trade prevention ID Return "" if self trade prevention is not applicable |
stpMode | String | Self trade prevention mode Return "" if self trade prevention is not applicable |
cancelSource | String | 32 : Self trade prevention |
- The adjustment of response parameters was launched in production environment.
Before:
Parameter | Type | Description |
---|---|---|
indexPx | String | Index price while trading |
After:
Parameter | Type | Description |
---|---|---|
idxPx | String | Index price while trading |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
fillIdxPx | String | Index price at the moment of trade execution For cross currency spot pairs, it returns baseCcy-USDT index price. For example, for LTC-ETH, this field returns the index price of LTC-USDT. |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
idxPx | String | Latest underlying index price |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
kycLv | String | Main account KYC level0 : No verification 1 : level 1 completed, 2 : level 2 completed, 3 : level 3 completed.If the request originates from a subaccount, kycLv is the KYC level of the main account. If the request originates from the main account, kycLv is the KYC level of the current account. |
Sub-account
- Added new endpoint
2023-06-02
- The adjustment of response parameters will be launched in production environment on June 7, 2023.
Before:
Parameter | Type | Description |
---|---|---|
indexPx | String | Index price while trading |
After:
Parameter | Type | Description |
---|---|---|
idxPx | String | Index price while trading |
2023-05-29
- Additional enumeration value
pending_fill
will be added to response parameterstate
of Quotes Websocket channel on June 1, 2023
Parameter | Type | Description |
---|---|---|
state | String | The status of the quote. Valid values can be active pending_fill canceled filled expired or failed . |
2023-05-24
- Added new response parameters
Parameter | Type | Description |
---|---|---|
mainUid | String | Main Account ID of current request. The current request account is main account if uid = mainUid. The current request account is sub-account if uid != mainUid. |
perm | String | The permission of the urrent request API Key. read_only:Read only;trade :Trade; withdraw: Withdraw |
- Added new response parameters:
Parameter | Type | Description |
---|---|---|
tag | String | Order tag |
algoClOrdId | String | Client-supplied Algo ID |
- Added new response parameters:
- Instant trigger grid algo order
- Get grid algo order list
- Get grid algo order history
- Get grid algo order details
- Get grid algo sub orders
- Get grid algo order positions
- Spot/Moon grid withdraw income
- Adjust margin balance
- Spot grid algo orders channel
- Contract grid algo orders channel
- Moon grid algo orders channel
- Grid positions channel
- Grid sub orders channel
Parameter | Type | Description |
---|---|---|
algoClOrdId | String | Client-supplied Algo ID |
2023-05-10
- Added new response parameters:
Parameter | Type | Description |
---|---|---|
> uid | String | Sub-account user ID |
2023-04-27
- Added new request parameters:
Parameter | Type | Required | Description |
---|---|---|---|
newTpTriggerPx | String | Conditional | Take-profit trigger price. Either the take profit trigger price or order price is 0, it means that the take profit is deleted |
newTpOrdPx | String | Conditional | Take-profit order price If the price is -1, take-profit will be executed at the market price. |
newSlTriggerPx | String | Conditional | Stop-loss trigger price Either the stop loss trigger price or order price is 0, it means that the stop loss is deleted |
newSlOrdPx | String | Conditional | Stop-loss order price If the price is -1, stop-loss will be executed at the market price. |
newTpTriggerPxType | String | Conditional | Take-profit trigger price typelast : last price index : index price mark : mark price |
newSlTriggerPxType | String | Conditional | Stop-loss trigger price typelast : last price index : index price mark : mark price |
- Added a new endpoint: Amend algo order
- Added new response parameters:
Parameter | Type | Description |
---|---|---|
> tdMode | String | Trade mode Margin mode: cross isolated Non-Margin mode: cash . If not provided, tdMode will inherit default values set by the system shown below: Single-currency margin mode & SPOT: cash Buy options in Single-currency margin and Multi-currency Margin: isolated Other cases: cross |
> ccy | String | Margin currency. Only applicable to cross MARGIN orders in Single-currency margin . The parameter will be ignored in other scenarios. |
- Added new request parameters:
Parameter | Type | Required | Description |
---|---|---|---|
> tdMode | String | No | Trade mode Margin mode: cross isolated Non-Margin mode: cash . If not provided, tdMode will inherit default values set by the system shown below: Single-currency margin mode & SPOT: cash Buy options in Single-currency margin and Multi-currency Margin: isolated Other cases: cross |
> ccy | String | No | Margin currency. Only applicable to cross MARGIN orders in Single-currency margin . The parameter will be ignored in other scenarios. |
- Added new response parameters:
Parameter | Type | Description |
---|---|---|
> tdMode | String | Trade mode Margin mode: cross isolated Non-Margin mode: cash . If not provided, tdMode will inherit default values set by the system shown below: Single-currency margin mode & SPOT: cash Buy options in Single-currency margin and Multi-currency Margin: isolated Other cases: cross |
> ccy | String | Margin currency. Only applicable to cross MARGIN orders in Single-currency margin . The parameter will be ignored in other scenarios. |
2023-04-26
- The request parameters made some changes as follows:
Before:
Parameter | Type | Required | Description |
---|---|---|---|
mgnType | String | No | Margin type1 : USDT-margined 2 : crypto-marginedApplicated to FUTURES/SWAP |
After:
Parameter | Type | Required | Description |
---|---|---|---|
quoteCcyType | String | No | Quote currency type2 : USDT/USDⓈ/Crypto3 : USDCApplicated to SPOT When specifying this parameter, instType is required. |
mgnType | String | No | Margin type1 : USDT-margined 2 : crypto-margined3 : USDC-marginedApplicated to FUTURES/SWAP When specifying this parameter, instType is required. |
Added new endpoint:
The response parameters made some changes as follows:
Before:
Parameter | Type | Description |
---|---|---|
> loanQuota | String | Borrow limit of master account |
> surplusLmt | String | Available borrow amount of master and all sub-accounts |
> usedLmt | String | Borrowed amount of master account and all sub-accounts |
After:
Parameter | Type | Description |
---|---|---|
loanAlloc | String | VIP Loan allocation for the current trading account 1. The unit is percent(%). Range is [0, 100]. Precision is 0.01% 2. If master account did not assign anything, then "0" 3. "" if shared between master and sub-account |
> loanQuota | String | Borrow limit of master account If loanAlloc has been assigned, then it is the borrow limit of the current trading account |
> surplusLmt | String | Available amount across all sub-accounts If loanAlloc has been assigned, then it is the available amount to borrow by the current trading account |
> usedLmt | String | Borrowed amount across all sub-accounts If loanAlloc has been assigned, then it is the borrowed amount by the current trading account |
Adjusted parameters
- The endpoints:
- Get positions history
- Get positions
- Positions channel, Balance and position channel, Position risk warning channel
- Get positions history
- posId added one more attribute expiration, the posId and position information will be cleared if it is more than 30 days after the last close position.
- The endpoints:
Added response parameter
Parameter | Type | Description |
---|---|---|
uplLastPx | String | Unrealized profit and loss calculated by last price. Main usage is showing, actual value is upl. |
uplRatioLastPx | String | Unrealized profit and loss ratio calculated by last price. |
2023-04-19
Below WebSocket channels are migrated to the new WebSocket URL
wss://ws.okx.com:8443/ws/v5/business
andwss://wsaws.okx.com:8443/ws/v5/business
. Those channels will no longer be supported by the existing websocket URL by the end of May 2023. More details can refer to: Changes to V5 API WebSocket subscription parameter and URL- Block trading channels
- Algo and strategy trading channels
- Candlesticks channels
Adjustment below to V5 API WebSocket subscription parameter uly. More details can also refer to: Changes to V5 API WebSocket subscription parameter and URL
- Currently, the websocket subscription parameter uly is mapped to the parameter instFamily. After the end of May 2023, the subscription parameter uly will be ignored and no longer be processed. Please replace uly with instFamily as soon as possible.
Websocket no longer supported multiple account batch login.
2023-04-10
- There were changes to V5 API, as OKX supports USDC index.
For details, please refer to Changes to V5 API users as OKX supports USDC index
2023-04-07
- Websocket will not support multiple account batch login from April 19, 2023.
2023-04-06
- Added new push data parameter
Parameter | Type | Description |
---|---|---|
> cancelSource | String | Source of the order cancellation. 31 : The post-only order will take liquidity in taker orders |
> amendSource | String | Source of the order amendation. 1 : Order amended by user2 : Order amended by user, but the order quantity is overriden by system due to reduce-only3 : New order placed by user, but the order quantity is overriden by system due to reduce-only4 : Order amended by system due to other pending orders |
2023-04-03
- OKX will no longer support users to retrieve platform historical liquidation orders through the REST endpoint by the end of April 2023. Please subscribe to the websocket channel below to receive real time data:
- Added new response parameters
- Status endpoint.
- Status channel
- Status endpoint.
Parameter | Type | Description |
---|---|---|
maintType | String | Maintenance type1 : Scheduled maintenance; 2 : Unscheduled maintenance; 3 : System disruption |
env | String | Environment.1 : Production Trading, 2 : Demo Trading |
2023-03-30
- The response parameters made some changes as follows:
Before:
Parameter | Type | Description |
---|---|---|
volUsd | String | 24-hour total trading volume on the platform in "USD" |
volCny | String | 24-hour total trading volume on the platform in "CNY" |
blockVolUsd | String | 24-hour total OTC trading volume on the platform in "USD" |
blockVolCny | String | 24-hour total OTC trading volume on the platform in "CNY" |
After:
Parameter | Type | Description |
---|---|---|
volUsd | String | 24-hour total trading volume from the order book trading in "USD" |
volCny | String | 24-hour total trading volume from the order book trading in "CNY" |
2023-03-29
Added a new function module Recurring buy
WebSocket API added new channels
2023-03-27
- The response parameters will make some changes as follows on March 30,2023:
Before:
Parameter | Type | Description |
---|---|---|
volUsd | String | 24-hour total trading volume on the platform in "USD" |
volCny | String | 24-hour total trading volume on the platform in "CNY" |
blockVolUsd | String | 24-hour total OTC trading volume on the platform in "USD" |
blockVolCny | String | 24-hour total OTC trading volume on the platform in "CNY" |
After:
Parameter | Type | Description |
---|---|---|
volUsd | String | 24-hour total trading volume from the order book trading in "USD" |
volCny | String | 24-hour total trading volume from the order book trading in "CNY" |
2023-03-24
- There will be changes to V5 API on April 10,2023, as OKX supports USDC index.
For details, please refer to Changes to V5 API users as OKX supports USDC index
2023-03-16
- Added new endpoint:
2023-03-15
- Added a new function module Savings, the relevant endpoints of the savings are adjusted as follows
- Get saving balance adjusted endpoint path from
/api/v5/asset/saving-balance
to/api/v5/finance/savings/balance
- Savings purchase/redemption adjusted endpoint path from
/api/v5/asset/purchase_redempt
to/api/v5/finance/savings/purchase-redempt
- Set lending rate adjusted endpoint path from
/api/v5/asset/set-lending-rate
to/api/v5/finance/savings/set-lending-rate
- Get lending history adjusted endpoint path from
/api/v5/asset/lending-history
to/api/v5/finance/savings/lending-history
- Get public borrow info (public) adjusted endpoint path from
/api/v5/asset/lending-rate-summary
to/api/v5/finance/savings/lending-rate-summary
- Get public borrow history (public) adjusted endpoint path from
/api/v5/asset/lending-rate-history
to/api/v5/finance/savings/lending-rate-history
- Get saving balance adjusted endpoint path from
2023-03-14
- Adjusted response parameter
wdQuota
,usedWdQuota
in Get currencies
- Withdrawal quota unit is adjusted from
BTC
toUSD
- Withdrawal quota unit is adjusted from
2023-03-01
- Added new response parameters
Parameter | Type | Description |
---|---|---|
failCode | String | It represents that the reason that algo order fails to trigger. It is "" when the state is effective /canceled . There will be value when the state is order_failed , e.g. 51008;Only applicable to Stop Order, Trailing Stop Order, Trigger order. |
algoClOrdId | String | Client-supplied Algo ID |
- The change of request and response parameters
Adjusted request parameter
Before:
Parameter | Type | Required | Description |
---|---|---|---|
clOrdId | String | No | Client Order ID as assigned by the client A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters. |
After:
Parameter | Type | Required | Description |
---|---|---|---|
algoClOrdId | String | No | Client-supplied Algo ID A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters. |
Added new response parameters
Parameter | Type | Description |
---|---|---|
algoClOrdId | String | Client-supplied Algo ID |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
algoClOrdId | String | Client-supplied Algo ID. There will be a value when algo order attaching algoClOrdId is triggered, or it will be "". |
algoId | String | Algo ID. There will be a value when algo order is triggered, or it will be "". |
- Added new endpoint:
2023-02-20
- Adjusted push data parameter
Before:
Parameter | Type | Description |
---|---|---|
> cancelSource | String | Source of the order cancellation. Valid values and the corresponding meanings are: 0 ,5 ,7 ,8 ,10 ,11 ,12 ,15 ,16 ,18 ,19 : Order canceled by system1 : Order canceled by user2 : Pre reduce-only order canceled, due to insufficient margin in user position3 : Risk cancellation was triggered. Pending order was canceled due to insufficient margin ratio and forced-liquidation risk.4 : Borrowings of crypto reached hard cap.6 : ADL order cancellation was triggered. Pending order was canceled due to a low margin ratio and forced-liquidation risk.9 : Insufficient balance after funding fees deducted.13 : FOK order was canceled due to incompletely filled.14 : IOC order was partially canceled due to incompletely filled.17 : Close order was canceled, due to the position was already closed at market price.20 : Cancel all after triggered |
After:
Parameter | Type | Description |
---|---|---|
> cancelSource | String | Source of the order cancellation. Valid values and the corresponding meanings are: 0 : Order canceled by system1 : Order canceled by user2 : Order canceled: Pre reduce-only order canceled, due to insufficient margin in user position3 : Order canceled: Risk cancellation was triggered. Pending order was canceled due to insufficient margin ratio and forced-liquidation risk.4 : Order canceled: Borrowings of crypto reached hard cap, order was canceled by system.6 : Order canceled: ADL order cancellation was triggered. Pending order was canceled due to a low margin ratio and forced-liquidation risk.9 : Order canceled: Insufficient balance after funding fees deducted.13 : Order canceled: FOK order was canceled due to incompletely filled.14 : Order canceled: IOC order was partially canceled due to incompletely filled.17 : Order canceled: Close order was canceled, due to the position was already closed at market price.20 : Cancel all after triggered21 : Order canceled: The TP/SL order was canceled because the position had been closed22 , 23 : Order canceled: Reduce-only orders only allow reducing your current position. System has already canceled this order. |
2023-02-17
- Added new endpoint:
2022-02-15
- Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
58127 | 200 | Main account API Key does not support current transfer 'type' parameter. Please refer to the API documentation. |
58128 | 200 | Sub-account API Key does not support current transfer 'type' parameter. Please refer to the API documentation. |
- Added new response fields
Parameter | Type | Description |
---|---|---|
fillTime | String | Trade time which is the same as fillTime for the order channel. |
2023-02-08
- Added new response parameters
Parameter | Type | Description |
---|---|---|
> fromWdId | String | Internal transfer initiator's withdrawal ID If the deposit comes from internal transfer, this field displays the withdrawal ID of the internal transfer initiator, and will return "" in other cases |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
> nonTradableAsset | String | Whether it is a non-tradable asset or nottrue : non-tradable asset, false : tradable asset |
> feeCcy | String | Withdrawal fee currency, e.g. USDT |
2023-02-07
- The websocket close frame status code will be updated with reason text.
The change can be ignored if client is not processing websocket close frame status code number.
The change will be effective in production environment from February 15, 2023.
2023-02-02
- Added new response parameters
Parameter | Type | Description |
---|---|---|
ip | String | IP addresses that linked with current API key, separate with commas if more than one, e.g. 117.37.203.58,117.37.203.57 . It is an empty string "" if there is no IP bonded. |
- Added new endpoints
2023-02-01
- Added enumeration value to
type
of Asset bills details
Parameter | Type | Description |
---|---|---|
type | String | Bill type225 : Shark Fin subscribe226 : Shark Fin collection227 : Shark Fin profit228 : Shark Fin refund |
2023-01-30
- Added new request parameter
Request parameter
Parameter | Type | Required | Description |
---|---|---|---|
rfqId | String | No | RFQ ID. |
2023-01-19
- Added new channel:
2023-01-09
- Added new endpoint:
2022-12-30
- Added new request & response parameter
Request parameter
Parameter | Type | Required | Description |
---|---|---|---|
fromWdId | String | No | Internal transfer initiator's withdrawal ID If the deposit comes from internal transfer, this field displays the withdrawal ID of the internal transfer initiator |
Response parameter
Parameter | Type | Description |
---|---|---|
fromWdId | String | Internal transfer initiator's withdrawal ID If the deposit comes from internal transfer, this field displays the withdrawal ID of the internal transfer initiator |
2022-12-28
The Bar size of candlesticks have made some changes:
The change content: To better system performance, the endpoints and channels below do not support these bar sizes: 6M, 1Y, 6Mutc, 1Yutc.The push logic of “Instruments channel” has been changed:
The change content: To better system performance, the full instrument list is not pushed for the first time after the subscription on “Instruments channel”. Please get the full instrument list from Get instruments, and get updates from “Instruments channel”.Added new endpoint and channel:
2022-12-23
Added a new function module Fast API
Added new response parameters
Parameter | Type | Description |
---|---|---|
opAuth | String | Whether the option trading was activated0 not activate, 1 activated |
2022-12-20
Added new endpoint:
Added a new response parameter
Parameter | Type | Description |
---|---|---|
last | String | Last filled price while placing |
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
quickMgnType | String | No | Quick Margin type. Only applicable to Quick Margin Mode of isolated margin manual , auto_borrow , auto_repay The default value is manual |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
quickMgnType | String | Quick Margin type, Only applicable to Quick Margin Mode of isolated marginmanual , auto_borrow , auto_repay |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
baseBorrowed | String | Base currency amount already borrowed, only applicable to MARGIN(Quick Margin Mode) |
baseInterest | String | Base Interest, undeducted interest that has been incurred, only applicable to MARGIN(Quick Margin Mode) |
quoteBorrowed | String | Quote currency amount already borrowed, only applicable to MARGIN(Quick Margin Mode) |
quoteInterest | String | Quote Interest, undeducted interest that has been incurred, only applicable to MARGIN(Quick Margin Mode) |
- Adjust request parameters
Before:
Parameter | Type | Required | Description |
---|---|---|---|
type | String | Yes | add : add marginreduce : reduce margin |
ccy | String | No | Currency, only applicable to MARGIN (Manual transfers) |
After:
Parameter | Type | Required | Description |
---|---|---|---|
type | String | Yes | add : add margin, or transfer collaterals in (Quick Margin Mode) reduce : reduce margin, transfer collaterals out (Quick Margin Mode) |
ccy | String | No | Currency, only applicable to MARGIN (Manual transfers and Quick Margin Mode) |
- Added enumeration value
Parameter | Type | Description |
---|---|---|
mgnIsoMode | String | quick_margin: Quick Margin Mode(For new accounts, including subaccounts, Some defaults will be automatic, and Other defaults will be quick_margin) |
- Added enumeration value
Parameter | Type | Description |
---|---|---|
isoMode | String | quick_margin: Quick Margin Mode |
- Added enumeration value
Parameter | Type | Required | Description |
---|---|---|---|
type | String | No | Bill type15 : Quick Margin |
subType | String | No | Bill subtype210 : Manual Borrowing 211 : Manual Repayment 212 : Auto borrow 213 : Auto repay 16 : Repay forcibly 17 : Repay interest by borrowing forcibly |
Added endpoints
Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
59313 | 200 | Unable to repay. You haven't borrowed any ${ccy} (${ccyPair}) in Quick margin mode. |
51152 | 200 | Unable to place an order that mixes automatic buy with automatic repayment or manual operation in Quick margin mode. |
2022-12-15
- Added new response parameter
Parameter | Type | Description |
---|---|---|
state | String | Product statepurchasable : Purchasablesold_out : Sold outStop : Suspension of subscription |
- Added new request & response parameter
Request parameter
Parameter | Type | Required | Description |
---|---|---|---|
tag | String | No | Order tag A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 16 characters. |
Response parameter
Parameter | Type | Description |
---|---|---|
tag | String | Order tag |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
tag | String | Order tag |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
estSettlementTime | String | Estimated redemption settlement time |
cancelRedemptionDeadline | String | Deadline for cancellation of redemption application |
tag | String | Order tag |
- Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
51732 | 200 | Required user KYC level not met |
51733 | 200 | User is under risk control |
51734 | 200 | User KYC Country is not supported |
51735 | 200 | Sub-account is not supported |
51736 | 200 | Insufficient {ccy} balance |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
roleType | String | Role type.0 : General user;1 :Leading trader;2 :Copy trader |
traderInsts | String | Leading trade instruments, only applicable to Leanding trader |
- Added enumeration value
Parameter | Type | Required | Description |
---|---|---|---|
type | String | No | Bill type18 : Profit sharing |
subType | String | No | Bill subtype250 : Profit sharing expenses; 251 : Profit sharing refund; 252 : Profit sharing income; |
Added rate limit rules of leading contracts:
Added new endpoints:
Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
51156 | 200 | You're leading trades in long/short mode and can't use this API endpoint to close positions |
51159 | 200 | You're leading trades in buy/sell mode. If you want to place orders using this API endpoint, the orders must be in the same direction as your existing positions and open orders. |
51162 | 200 | You have {instrument} open orders. Cancel these orders and try again |
51163 | 200 | You hold {instrument} positions. Close these positions and try again |
51166 | 200 | Currently, we don't support leading trades with this instrument |
51321 | 200 | You're leading trades. Currently, we don't support leading trades with arbitrage, iceberg, or TWAP bots |
51322 | 200 | You're leading trades that have been filled at market price. We've canceled your open stop orders to close your positions |
51323 | 200 | You're already leading trades with take profit or stop loss settings. Cancel your existing stop orders to proceed |
51324 | 200 | As a lead trader, you hold positions in {instrument}. To close your positions, place orders in the amount that equals the available amount for closing |
51325 | 200 | As a lead trader, you must use market price when placing stop orders |
59128 | 200 | As a lead trader, you can't lead trades in {instrument} with leverage higher than {num}× |
59216 | 200 | The position doesn't exist. Please try again |
2022-12-14
- Added new response parameters
Parameter | Type | Description |
---|---|---|
bizRefId | String | External business id, e.g. experience coupon id |
bizRefType | String | External business type |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
cancelSource | String | Code of the cancellation source. |
cancelSourceReason | String | Reason for the cancellation. |
- The change of request and response parameters
Adjusted response parameter
Before:
Parameter | Type | Description |
---|---|---|
amt | String | borrow/repay amount |
loanQuota | String | Borrow limit |
posLoan | String | Frozen amount for current account (Within the locked quota) |
availLoan | String | Available amount for current account (Within the locked quota) |
usedLoan | String | Borrowed amount for current account |
After:
Parameter | Type | Description |
---|---|---|
amt | String | Already borrow/repay amount |
Added new request parameter
Parameter | Type | Required | Description |
---|---|---|---|
ordId | String | Conditional | Order ID of borrowing, it is necessary while repaying |
Added new response parameters
Parameter | Type | Description |
---|---|---|
ordId | String | Order ID of borrowing |
state | String | State 1:Borrowing 2:Borrowed 3:Repaying 4:Repaid 5:Borrow failed |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
> avgRate | String | Average interest of Already borrowed coin, only applicable to VIP loans |
- Added new endpoints:
2022-12-12
The Bar size of candlesticks will make some changes:
The change date of demo trading environment: December 15, 2022.
The change date of production environment: December 28, 2022.
The change content: To better system performance, the endpoints and channels below will not support these bar sizes: 6M, 1Y, 6Mutc, 1Yutc.
2022-12-09
- Added new endpoint
2022-12-08
- Added new response parameter
Parameter | Type | Description |
---|---|---|
depQuoteDailyLayer2 | String | Layer2 network daily deposit limit |
- Added new request & response parameter
Request parameter
Parameter | Type | Required | Description |
---|---|---|---|
tag | String | No | RFQ tag. The block trade associated with the RFQ will have the same tag. A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 16 characters. |
> posSide | String | No | Position side. The default is net in the net mode. It can only be long or short in the long/short mode. If not specified, users in long/short mode always open new positions. Only applicable to FUTURES/SWAP. |
Response parameter
Parameter | Type | Description |
---|---|---|
> tag | String | RFQ tag. The block trade associated with the RFQ will have the same tag. |
>> posSide | String | Position side. The default is net in the net mode. If not specified, return "", which is equivalent to net. It can only be long or short in the long/short mode. If not specified, return "", which corresponds to the direction that opens new positions for the trade (buy => long, sell => short). Only applicable to FUTURES/SWAP. |
- Added new request & response parameter
Request parameter
Parameter | Type | Required | Description |
---|---|---|---|
tag | String | No | Quote tag. The block trade associated with the Quote will have the same tag. A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 16 characters. |
> posSide | String | No | Position side. The default is net in the net mode. It can only be long or short in the long/short mode. If not specified, users in long/short mode always open new positions. Only applicable to FUTURES/SWAP. |
Response parameter
Parameter | Type | Description |
---|---|---|
> tag | String | Quote tag. The block trade associated with the Quote will have the same tag. |
>> posSide | String | Position side. The default is net in the net mode. If not specified, return "", which is equivalent to net. It can only be long or short in the long/short mode. If not specified, return "", which corresponds to the direction that opens new positions for the trade (buy => long, sell => short). Only applicable to FUTURES/SWAP. |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
> tag | String | RFQ tag. The block trade associated with the RFQ will have the same tag. |
>> posSide | String | Position side. The default is net in the net mode. If not specified, return "", which is equivalent to net. It can only be long or short in the long/short mode. If not specified, return "", which corresponds to the direction that opens new positions for the trade (buy => long, sell => short). Only applicable to FUTURES/SWAP. |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
> tag | String | Quote tag. The block trade associated with the Quote will have the same tag. |
>> posSide | String | Position side. The default is net in the net mode. If not specified, return "", which is equivalent to net. It can only be long or short in the long/short mode. If not specified, return "", which corresponds to the direction that opens new positions for the trade (buy => long, sell => short). Only applicable to FUTURES/SWAP. |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
> tag | String | Trade tag. The block trade will have the tag of the RFQ or Quote it corresponds to. |
- Added new push data parameter
Parameter | Type | Description |
---|---|---|
> tag | String | RFQ tag. The block trade associated with the RFQ will have the same tag. |
>> posSide | String | Position side. The default is net in the net mode. If not specified, return "", which is equivalent to net. It can only be long or short in the long/short mode. If not specified, return "", which corresponds to the direction that opens new positions for the trade (buy => long, sell => short). Only applicable to FUTURES/SWAP. |
- Added new push data parameter
Parameter | Type | Description |
---|---|---|
> tag | String | Quote tag. The block trade associated with the Quote will have the same tag. |
>> posSide | String | Position side. The default is net in the net mode. If not specified, return "", which is equivalent to net. It can only be long or short in the long/short mode. If not specified, return "", which corresponds to the direction that opens new positions for the trade (buy => long, sell => short). Only applicable to FUTURES/SWAP. |
- Added new push data parameter
Parameter | Type | Description |
---|---|---|
> tag | String | Trade tag. The block trade will have the tag of the RFQ or Quote it corresponds to. |
2022-12-06
The push logic of “Instruments channel” will be changed:
The change date of demo trading environment: December 15, 2022.
The change date of production environment: December 28, 2022.
The change content: To better system performance, the full instrument list will not be pushed for the first time after the subscription on “Instruments channel”. Please get the full instrument list from Get instruments, and get updates from “Instruments channel”.Logic optimization of reduce-only orders launched.
- After launch, There may be conditions that the system modify order size and cancel reduce-only pending orders(Depending on the priority of orders, more detail can refer to the related product document)
- It is applicable for reduce-only orders coming from FUTURES and SWAP in buy/sell mode.
- You can check returned
sMsg
to get the prompt message if the system modifies order size after placement; - The
cancelSource
of orders channel will be 22 or 23 if the system cancels reduce-only pending orders.
- After launch, There may be conditions that the system modify order size and cancel reduce-only pending orders(Depending on the priority of orders, more detail can refer to the related product document)
2022-12-01
Logic optimization of reduce-only orders will be launched on December 5, 2022.
- After launch, There may be conditions that the system modify order size and cancel reduce-only pending orders(Depending on the priority of orders, more detail can refer to the related product document)
- It is applicable for reduce-only orders coming from FUTURES and SWAP in buy/sell mode.
- You can check returned
sMsg
to get the prompt message if the system modifies order size after placement; - The
cancelSource
of orders channel will be 22 or 23 if the system cancels reduce-only pending orders.
- After launch, There may be conditions that the system modify order size and cancel reduce-only pending orders(Depending on the priority of orders, more detail can refer to the related product document)
The response fields within Get instruments and Instruments channel have been adjusted in the production trading service.
The test trading pairs will be returned, and theirstate
will betest
.Adjusted response parameters:
Before:
Parameter | Type | Description |
---|---|---|
sMsg | String | Rejection message if the request is unsuccessful. |
After:
Parameter | Type | Description |
---|---|---|
sMsg | String | Rejection or success message of event execution. |
Added new endpoint
Added new response parameter
Parameter | Type | Description |
---|---|---|
nonTradableAsset | Boolean | Whether it is a non-tradable asset or nottrue : non-tradable asset, false : tradable asset |
feeCcy | String | Withdrawal fee currency, e.g. USDT |
- Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
58125 | 200 | Non-tradable assets can only be transferred from sub-accounts to main accounts |
58126 | 200 | Non-tradable assets can only be transferred between funding accounts |
58227 | 200 | Withdrawal of non-tradable assets can be withdrawn all at once only |
58228 | 200 | Withdrawal of non-tradable assets requires that the API Key must be bound to an IP |
58229 | 200 | Insufficient funding account balance to pay fees {fee} USDT |
2022-11-30
Added new endpoint
Added new response parameters
Parameter | Type | Description |
---|---|---|
label | String | API key note of current request API key. No more than 50 letters (case sensitive) or numbers, which can be pure letters or pure numbers. |
- Added enumeration value for
perm
field
Parameter | Type | Description |
---|---|---|
perm | String | API Key permissionswithdraw : Withdraw |
- New rate limit rules
- Place order
- Place multiple orders
- Amend order
- Amend multiple orders
- Cancel order
- Cancel multiple orders
- Place algo order
- Cancel algo order
- Cancel advance algo order
- Place grid algo order
- Amend grid algo order
- Stop grid algo order
- Close positions
- Get order details
- Websocket Place order
- Websocket Place multiple orders
- Websocket Amend order
- Websocket Amend multiple orders
- Websocket Cancel order
- Websocket Cancel multiple orders
Adjusted rate limit rule
Before:
- Derivatives rate limit rule: UserID + (instrumentType + underlying)
- Spot & Margin rate limit rule: UserID + (instrumentType + instrumentID)
After:
- Rate limit rule (except Options): UserID + Instrument ID
- Rate limit rule (Options only): UserID + Instrument Family
- Added a new request parameter and requirement of an existing parameter
Parameter | Type | Required | Description |
---|---|---|---|
sz | String | Conditional | Quantity to buy or sell Either sz or closeFraction is required. |
closeFraction | String | Conditional | Fraction of position to be closed when the algo order is triggered. Currently the system supports fully closing the position only so the only accepted value is 1 . For the same position, only one TPSL pending order for fully closing the position is supported.This is only applicable to FUTURES or SWAP instruments.This is only applicable if posSide is net .This is only applicable if reduceOnly is true .This is only applicable if ordType is conditional or oco .This is only applicable if the stop loss and take profit order is executed as market order Either sz or closeFraction is required. |
- Added a new response parameter
Parameter | Type | Description |
---|---|---|
closeFraction | String | Fraction of position to be closed when the algo order is triggered. |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
> closeOrderAlgo | Array | Close position algo orders attached to the position |
>> algoId | String | Algo ID |
>> slTriggerPx | String | Stop-loss trigger price. |
>> slTriggerPxType | String | Stop-loss trigger price type. last :last priceindex :index pricemark :mark price |
>> tpTriggerPx | String | Take-profit trigger price. |
>> tpTriggerPxType | String | Take-profit trigger price type. last :last priceindex :index pricemark :mark price |
>> closeFraction | String | Fraction of position to be closed when the algo order is triggered. |
- Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
51327 | 200 | closeFraction is only available for futures and perpetual swaps |
51328 | 200 | closeFraction is only available for reduceOnly orders |
51329 | 200 | closeFraction is only available in NET mode |
51330 | 200 | closeFraction is only available for stop market orders |
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
quickMgnType | String | No | Quick Margin type. Only applicable to Quick Margin Mode of isolated margin manual , auto_borrow , auto_repay The default value is manual |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
quickMgnType | String | Quick Margin type, Only applicable to Quick Margin Mode of isolated marginmanual , auto_borrow , auto_repay |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
baseBorrowed | String | Base currency amount already borrowed, only applicable to MARGIN(Quick Margin Mode) |
baseInterest | String | Base Interest, undeducted interest that has been incurred, only applicable to MARGIN(Quick Margin Mode) |
quoteBorrowed | String | Quote currency amount already borrowed, only applicable to MARGIN(Quick Margin Mode) |
quoteInterest | String | Quote Interest, undeducted interest that has been incurred, only applicable to MARGIN(Quick Margin Mode) |
- Adjust request parameters
Before:
Parameter | Type | Required | Description |
---|---|---|---|
type | String | Yes | add : add marginreduce : reduce margin |
ccy | String | No | Currency, only applicable to MARGIN (Manual transfers) |
After:
Parameter | Type | Required | Description |
---|---|---|---|
type | String | Yes | add : add margin, or transfer collaterals in (Quick Margin Mode) reduce : reduce margin, transfer collaterals out (Quick Margin Mode) |
ccy | String | No | Currency, only applicable to MARGIN (Manual transfers and Quick Margin Mode) |
- Added enumeration value
Parameter | Type | Description |
---|---|---|
mgnIsoMode | String | quick_margin: Quick Margin Mode |
- Added enumeration value
Parameter | Type | Description |
---|---|---|
mgnIsoMode | String | quick_margin: Quick Margin Mode |
- Added enumeration value
Parameter | Type | Required | Description |
---|---|---|---|
type | String | No | Bill type15 : Quick Margin |
subType | String | No | Bill subtype210 : Manual Borrowing 211 : Manual Repayment 212 : Auto borrow 213 : Auto repay 16 : Repay forcibly 17 : Repay interest by borrowing forcibly |
Added endpoints
Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
59313 | 200 | Unable to repay. You haven't borrowed any ${ccy} (${ccyPair}) in Quick margin mode. |
2022-11-29
- The change of request and response parameters
Adjusted response parameter
Before:
Parameter | Type | Description |
---|---|---|
amt | String | borrow/repay amount |
After:
Parameter | Type | Description |
---|---|---|
amt | String | Already borrow/repay amount |
Added new request parameter
Parameter | Type | Required | Description |
---|---|---|---|
ordId | String | Conditional | Order ID of borrowing, it is necessary while repaying |
Added new response parameters
Parameter | Type | Description |
---|---|---|
ordId | String | Order ID of borrowing |
state | String | State 1:Borrowing 2:Borrowed 3:Repaying 4:Repaid 5:Borrow failed |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
> avgRate | String | Average interest of Already borrowed coin, only applicable to VIP loans |
- Added new endpoints:
2022-11-28
- Added new response parameter
Parameter | Type | Description |
---|---|---|
confirm | String | The state of candlesticks.0 represents that it is uncompleted, 1 represents that it is completed. |
- Added new endpoint
2022-11-25
- Adjusted response fields in Status and Status channel
Added enumeration value8
: Trading service (in batches of accounts) and9
: Trading service (in batches of products) forserviceType
field.
2022-11-24
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
mgnType | String | No | Margin type1 : USDT-margined 2 : crypto-marginedApplicate to FUTURES/SWAP |
2022-11-21
- New response parameter will be added on November 28, 2022, at the earliest
Parameter | Type | Description |
---|---|---|
confirm | String | The state of candlesticks.0 represents that it is uncompleted, 1 represents that it is completed. |
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
tpTriggerPx | String | No | Take-profit trigger price If you fill in this parameter, you should fill in the take-profit order price as well. |
tpOrdPx | String | No | Take-profit order price If you fill in this parameter, you should fill in the take-profit trigger price as well. If the price is -1, take-profit will be executed at the market price. |
slTriggerPx | String | No | Stop-loss trigger price If you fill in this parameter, you should fill in the stop-loss order price. |
slOrdPx | String | No | Stop-loss order price If you fill in this parameter, you should fill in the stop-loss trigger price. If the price is -1, stop-loss will be executed at the market price. |
tpTriggerPxType | String | No | Take-profit trigger price typelast : last price index : index price mark : mark price The Default is last |
slTriggerPxType | String | No | Stop-loss trigger price typelast : last price index : index price mark : mark price The Default is last |
2022-11-11
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
areaCode | String | Optional | Area code for phone number If toAddr is a phone number, this parameter is required. |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
areaCodeFrom | String | Area code for phone number If from is a phone number, this parameter return area code of the phone number |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
areaCodeFrom | String | Area code for phone number If from is a phone number, this parameter return the area code for phone number |
areaCodeTo | String | Area code for phone number If to is a phone number, this parameter return the area code for phone number |
2022-11-10
- Added new push data parameter
Parameter | Type | Description |
---|---|---|
> cancelSource | String | Source of the order cancellation. Valid values and the corresponding meanings are: 0 ,5 ,7 ,8 ,10 ,11 ,12 ,15 ,16 ,18 ,19 : Order canceled by system1 : Order canceled by user2 : Pre reduce-only order canceled, due to insufficient margin in user position3 : Risk cancellation was triggered. Pending order was canceled due to insufficient margin ratio and forced-liquidation risk.4 : Borrowings of crypto reached hard cap.6 : ADL order cancellation was triggered. Pending order was canceled due to a low margin ratio and forced-liquidation risk.9 : Insufficient balance after funding fees deducted.13 : FOK order was canceled due to incompletely filled.14 : IOC order was partially canceled due to incompletely filled.17 : Close order was canceled, due to the position was already closed at market price.20 : Cancel all after triggered |
- Added new request and return parameters
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
spotOffsetType | String | No | Spot-derivatives risk offset mode 1: Spot-derivatives (USDT) 2: Spot-derivatives (crypto) 3: Derivatives-only The default is 3 |
Response Parameters
Parameters | Types | Description |
---|---|---|
acctImr | String | Initial margin requirement of account dimension |
acctMmr | String | Maintenance margin requirement of account dimension |
2022-11-08
- New response parameter was added
Parameter | Type | Description |
---|---|---|
volCcyQuote | String | Trading volume, the value is the quantity in quote currency e.g. The unit is USDT for BTC-USDT and BTC-USDT-SWAP; The unit is USD for BTC-USD-SWAP |
2022-11-07
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
brokerType | String | Optional | Broker Typeapi : API Brokeroauth : Oauth BrokerWhen the broker has only one broker type, this parameter can be left blank This parameter is required when the broker has multiple broker types |
- Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
50044 | 200 | Must select one broker type |
2022-11-01
- New response parameter will be added on November 8, 2022, at the earliest
Parameter | Type | Description |
---|---|---|
volCcyQuote | String | Trading volume, the value is the quantity in quote currency e.g. The unit is USDT for BTC-USDT and BTC-USDT-SWAP; The unit is USD for BTC-USD-SWAP |
2022-10-28
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
beginTs | String | No | Filter trade execution time with a begin timestamp (UTC timezone). Unix timestamp format in milliseconds, e.g. 1597026383085 |
endTs | String | No | Filter trade execution time with an end timestamp (UTC timezone). Unix timestamp format in milliseconds, e.g. 1597026383085 |
- Added new error codes
Error Code | HTTP Status Code | Error Message |
---|---|---|
70010 | 200 | Timestamp parameters need to be in Unix timestamp format in milliseconds. |
70013 | 200 | endTs needs to be bigger than or equal to beginTs. |
70016 | 200 | Please specify your instrument settings for at least one instType. |
2022-10-27
- Added new parameters
Parameter | Type | Required | Description |
---|---|---|---|
begin | String | No | Filter with a begin timestamp. Unix timestamp format in milliseconds, e.g. 1597026383085 |
end | String | No | Filter with an end timestamp. Unix timestamp format in milliseconds, e.g. 1597026383085 |
The rules of filtering with begin
and end
are as follows:
1. The result includes parameters of begin
and end
.
2. Return near end
if begin
and end
both exist when begin
and end
both exist.
3. The endpoint filters with begin
and end
first, and then paginates with after
and before
when begin
or end
, after
or before
exist at the same request.
2022-10-20
The response fields within Get instruments and Instruments channel have been adjusted in the production trading service.
The preopen trading pairs will be returned, and theirstate
will bepreopen
.Added new return parameters:
Parameter | Type | Description |
---|---|---|
reduceOnly | String | Whether the order can only reduce the position size. Valid options: true or false. |
- Related candlesticks Channels changed the push frequency
Before: the push frequency is the fastest interval 500ms push the data.
After: the push frequency is the fastest interval 1 second push the data.
Adjusted response fields in Status and Status channel
Added enumeration value6
: Block trading forserviceType
field.Added new endpoint
2022-10-19
- The response fields within Get instruments and Instruments channel will be adjusted in the production trading service on October 20, 2022 at the earliest.
After adjustment, the preopen trading pairs will be returned, and theirstate
will bepreopen
.
2022-10-14
- Added new parameters
Parameter | Type | Description |
---|---|---|
instFamily | String | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Added new request fields
Parameter | Type | Required | Description |
---|---|---|---|
instFamily | String | No | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Added new request and response fields
Request Parameter:
Parameter | Type | Required | Description |
---|---|---|---|
instFamily | String | Conditional | Single instrument familiy or multiple instrument families (no more than 5) separated with comma. Applicable to FUTURES/SWAP/OPTION Either uly or instFamily is required. If both are passed, instFamily will be used. |
Response Parameter:
Parameter | Type | Description |
---|---|---|
instFamily | String | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Added new request and response fields
Request Parameter:
Parameter | Type | Required | Description |
---|---|---|---|
instFamily | String | Conditional | Instrument family Applicable to FUTURES/SWAP/OPTION Either uly or instFamily is required. If both are passed, instFamily will be used. |
Response Parameter:
Parameter | Type | Description |
---|---|---|
instFamily | String | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Added new request fields
Parameter | Type | Required | Description |
---|---|---|---|
instFamily | String | Conditional | Instrument family Applicable to FUTURES/SWAP/OPTION Either uly or instFamily is required. If both are passed, instFamily will be used. |
- Adjusted request fields
Before:
Parameter | Type | Required | Description |
---|---|---|---|
> uly | String | Conditional | underlying |
After:
Parameter | Type | Required | Description |
---|---|---|---|
> instFamily | String | Conditional | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Adjusted request fields
Before:
Parameter | Type | Required | Description |
---|---|---|---|
uly | String | Yes | Single underlying or multiple underlyings (no more than 3) separated with comma. |
After:
Parameter | Type | Required | Description |
---|---|---|---|
uly | String | Conditional | Single underlying or multiple underlyings (no more than 3) separated with comma. Either uly or instFamily is required.If both are passed, instFamily will be used. |
instFamily | String | Conditional | Single instrument family or instrument families (no more than 5) separated with comma. Applicable to FUTURES/SWAP/OPTION Either uly or instFamily is required.If both are passed, instFamily will be used. |
- Adjusted request fields
Before:
Parameter | Type | Required | Description |
---|---|---|---|
uly | String | Yes | Underlying |
After:
Parameter | Type | Required | Description |
---|---|---|---|
uly | String | Conditional | Underlying Either uly or instFamily is required.If both are passed, instFamily will be used. |
instFamily | String | Conditional | Instrument family Applicable to FUTURES/SWAP/OPTION Either uly or instFamily is required.If both are passed, instFamily will be used. |
- Adjusted request fields
Before:
Parameter | Type | Description |
---|---|---|
> uly | String | underlying |
After:
Parameter | Type | Description |
---|---|---|
> instFamily | String | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Added new response fields
Parameter | Type | Description |
---|---|---|
> instFamily | String | Instrument family Applicable to FUTURES/SWAP/OPTION |
2022-10-13
- Added new response parameter
Parameter | Type | Description |
---|---|---|
> nextFundingTime | String | Forecasted funding time for the next period, Unix timestamp format in milliseconds, e.g. 1597026383085 |
2022-10-10
- Added new request fields
Parameter | Type | Required | Description |
---|---|---|---|
allowPartialExecution | Boolean | No | Whether the RFQ can be partially filled provided that the shape of legs stays the same. |
Valid value is true or false. false by default. |
- Added new request fields
Parameter | Type | Required | Description |
---|---|---|---|
legs | Array of objects | No | An Array of objects containing the execution size of each leg of the RFQ. |
*Note: tgtCcy and side of each leg will be same as ones in the RFQ. px will be the same as the ones in the Quote. |
|||
> instId | String | Yes | The Instrument ID, for example: "BTC-USDT-SWAP". |
> sz | String | Yes | The size of each leg |
- Added new request fields
Parameter | Type | Required | Description |
---|---|---|---|
includeAll | Boolean | No | Receive all instruments or not under specific instType setting. Valid value can be boolean (True/False). By default, the value will be false. |
- Added new response fields
- Create RFQ
- Get rfqs
- Rfqs channel
Response Parameter:
- Create RFQ
Parameter | Type | Description |
---|---|---|
> allowPartialExecution | Boolean | Whether the RFQ can be partially filled provided that the shape of legs stays the same. |
Valid value is true
or false
.
false
by default. |
- Added new error codes
Error Message | Error Code |
---|---|
Please specify your instrument settings for at least one instType. | 70013 |
It's not allowed to have includeAll=True for all the instType. | 70014 |
The total value of all-spot RFQs should be greater than the min notional value {spotMinNotional} | 70108 |
Leg sizes specified are under the minimum block size required by Jupiter. | 70503 |
Leg sizes specified do not have the same ratios as the whole RFQ. | 70506 |
Partial execution was attempted but allowPartialExecution of the RFQ is not enabled. | 70507 |
2022-10-10
- Added new request fields
Parameter | Type | Required | Description |
---|---|---|---|
type | String | No | Deposit Type3 : internal transfer4 : deposit from chain |
- Added new request and response fields
Request Parameter:
Parameter | Type | Required | Description |
---|---|---|---|
type | String | No | Withdrawal type 3 : internal transfer4 : withdrawal to chain |
Response Parameter:
Parameter | Type | Description |
---|---|---|
addrEx | Object | Withdrawal address attachment (This will not be returned if the currency does not require this) e.g. TONCOIN attached tag name is comment, the return will be {'comment':'123456'} |
2022-09-28
- Added new parameters
Parameter | Type | Description |
---|---|---|
instFamily | String | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Added new request fields
Parameter | Type | Required | Description |
---|---|---|---|
instFamily | String | No | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Added new request and response fields
Request Parameter:
Parameter | Type | Required | Description |
---|---|---|---|
instFamily | String | Conditional | Single instrument familiy or multiple instrument families (no more than 5) separated with comma. Applicable to FUTURES/SWAP/OPTION Either uly or instFamily is required. If both are passed, instFamily will be used. |
Response Parameter:
Parameter | Type | Description |
---|---|---|
instFamily | String | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Added new request and response fields
Request Parameter:
Parameter | Type | Required | Description |
---|---|---|---|
instFamily | String | Conditional | Instrument family Applicable to FUTURES/SWAP/OPTION Either uly or instFamily is required. If both are passed, instFamily will be used. |
Response Parameter:
Parameter | Type | Description |
---|---|---|
instFamily | String | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Added new request fields
Parameter | Type | Required | Description |
---|---|---|---|
instFamily | String | Conditional | Instrument family Applicable to FUTURES/SWAP/OPTION Either uly or instFamily is required. If both are passed, instFamily will be used. |
- Adjusted request fields
Before:
Parameter | Type | Required | Description |
---|---|---|---|
> uly | String | Conditional | underlying |
After:
Parameter | Type | Required | Description |
---|---|---|---|
> instFamily | String | Conditional | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Adjusted request fields
Before:
Parameter | Type | Required | Description |
---|---|---|---|
uly | String | Yes | Single underlying or multiple underlyings (no more than 3) separated with comma. |
After:
Parameter | Type | Required | Description |
---|---|---|---|
uly | String | Conditional | Single underlying or multiple underlyings (no more than 3) separated with comma. Either uly or instFamily is required.If both are passed, instFamily will be used. |
instFamily | String | Conditional | Single instrument family or instrument families (no more than 5) separated with comma. Applicable to FUTURES/SWAP/OPTION Either uly or instFamily is required.If both are passed, instFamily will be used. |
- Adjusted request fields
Before:
Parameter | Type | Required | Description |
---|---|---|---|
uly | String | Yes | Underlying |
After:
Parameter | Type | Required | Description |
---|---|---|---|
uly | String | Conditional | Underlying Either uly or instFamily is required.If both are passed, instFamily will be used. |
instFamily | String | Conditional | Instrument family Applicable to FUTURES/SWAP/OPTION Either uly or instFamily is required.If both are passed, instFamily will be used. |
- Adjusted request fields
Before:
Parameter | Type | Description |
---|---|---|
> uly | String | underlying |
After:
Parameter | Type | Description |
---|---|---|
> instFamily | String | Instrument family Applicable to FUTURES/SWAP/OPTION |
- Added new response fields
Parameter | Type | Description |
---|---|---|
> instFamily | String | Instrument family Applicable to FUTURES/SWAP/OPTION |
2022-09-22
- Added new endpoints
2022-09-08
- The response fields within Get fee rates have been adjusted in the production trading service.
before:
Parameter | Type | Description |
---|---|---|
taker | String | Taker fee rate. It is the fee rate of crypto-margined contracts for FUTURES and SWAP |
maker | String | Maker fee rate. It is the fee rate of crypto-margined contracts for FUTURES and SWAP |
takerU | String | Taker fee rate of USDT-margined contracts, only applicable to FUTURES/SWAP |
makerU | String | Maker fee rate of USDT-margined contracts, only applicable to FUTURES/SWAP |
after:
Parameter | Type | Description |
---|---|---|
taker | String | Taker fee rate for the USDT&USDⓈ&Crypto trading pairs and contracts. It is the fee rate of crypto-margined contracts for FUTURES and SWAP |
maker | String | Maker fee rate for the USDT&USDⓈ&Crypto trading pairs and contracts. It is the fee rate of crypto-margined contracts for FUTURES and SWAP |
takerU | String | Taker fee rate of USDT-margined contracts, only applicable to FUTURES/SWAP |
makerU | String | Maker fee rate of USDT-margined contracts, only applicable to FUTURES/SWAP |
takerUSDC | String | Taker fee rate for the USDC trading pairs |
makerUSDC | String | Maker fee rate for the USDC trading pairs |
- Added new parameters
Parameter | Type | Description |
---|---|---|
clOrdId | String | Client Order ID as assigned by the client A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters. |
2022-09-06
- Added new response parameters
Parameter | Type | Description |
---|---|---|
depQuotaFixed | String | Fixed deposit limit, unit in BTC Return empty string if there is no deposit limit |
usedDepQuotaFixed | String | Used amount of fixed deposit quota, unit in BTC Return empty string if there is no deposit limit |
- The response fields within Get fee rates will be adjusted in the production trading service on September 8, 2022 at the earliest
before:
Parameter | Type | Description |
---|---|---|
taker | String | Taker fee rate. It is the fee rate of crypto-margined contracts for FUTURES and SWAP |
maker | String | Maker fee rate. It is the fee rate of crypto-margined contracts for FUTURES and SWAP |
takerU | String | Taker fee rate of USDT-margined contracts, only applicable to FUTURES/SWAP |
makerU | String | Maker fee rate of USDT-margined contracts, only applicable to FUTURES/SWAP |
after:
Parameter | Type | Description |
---|---|---|
taker | String | Taker fee rate for the USDT&USDⓈ&Crypto trading pairs and contracts. It is the fee rate of crypto-margined contracts for FUTURES and SWAP |
maker | String | Maker fee rate for the USDT&USDⓈ&Crypto trading pairs and contracts. It is the fee rate of crypto-margined contracts for FUTURES and SWAP |
takerU | String | Taker fee rate of USDT-margined contracts, only applicable to FUTURES/SWAP |
makerU | String | Maker fee rate of USDT-margined contracts, only applicable to FUTURES/SWAP |
takerUSDC | String | Taker fee rate for the USDC trading pairs |
makerUSDC | String | Maker fee rate for the USDC trading pairs |
2022-09-05
- Added new parameter for CSV file
Parameter | Description |
---|---|
affiliated | Whether there is affiliated relation. true or false |
2022-09-01
Added new endpoint
Added new request parameters
Parameter | Type | Description |
---|---|---|
> maxBlockSz | String | For FUTURES, OPTION and SWAP the max quantity of the RFQ/Quote is in unit of contracts. For SPOT, this parameter is in base currency. |
> makerPxBand | String | Price bands in unit of ticks, are against mark price. Set makerPxBand to 1 tick means: If Bid price > Mark + 1 tick, it will be stopped If Ask price < Mark - 1 tick, It will be stopped |
- Added new response parameter
Parameter | Type | Description |
---|---|---|
> reason | String | Reasons of state. Valid values can be mmp_canceled . |
- Added new request and response parameter
Parameter | Type | Description |
---|---|---|
clOrdId | String | Client-supplied ID A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters. |
Grid trading
added enumeration value foralgoOrdType
field
Parameter | Type | Description |
---|---|---|
algoOrdType | String | moon_grid : Moon grid |
Added new channel
Added new error codes
Error Message | HTTP Status | Error Code |
---|---|---|
Operation failed under MMP status, the frozen window is {0} seconds. | 200 | 70008 |
Duplicate setting for underlying/instId {0} under the same instType {1}. | 200 | 70012 |
Quoted price of instId {0} cannot exceed your preset price limit. | 200 | 70310 |
2022-08-29
- New request and response parameter will be added on Sep 29, 2022, at the earliest
Parameter | Type | Description |
---|---|---|
clOrdId | String | Client-supplied ID A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters. |
- Adjusted request fields in Set trading fee rate for the sub-account
before:
Parameter | Type | Required | Description |
---|---|---|---|
chgTaker | String | Conditional | Taker fee rate for changing For absolute : The unit is bp (1bp = 0.01%). Range belongs to [0.1 bp, 1,000bp], same as [0.001%, 10%]. Precision is 0.1 bp.For percentage : The unit is percent(%). Range belongs to [1%, 10000%]. Precision is 1% |
chgMaker | String | Conditional | Maker fee rate for changing For absolute : The unit is bp (1bp = 0.01%). Range belongs to [0.1 bp, 1,000bp], same as [0.001%, 10%]. Precision is 0.1 bp.For percentage : The unit is percent(%). Range belongs to [1%, 10000%]. Precision is 1% Either chgTaker or chgMaker is required. |
after:
Parameter | Type | Required | Description |
---|---|---|---|
chgTaker | String | Conditional | Taker fee rate for changing For absolute : The unit is bp (1bp = 0.01%). Range belongs to [0 bp, 1,000bp], same as [0.00%, 10%]. Precision is 0.1 bp.For percentage : The unit is percent(%). Range belongs to [0%, 10000%]. Precision is 1% |
chgMaker | String | Conditional | Maker fee rate for changing For absolute : The unit is bp (1bp = 0.01%). Range belongs to [0 bp, 1,000bp], same as [0.00%, 10%]. Precision is 0.1 bp.For percentage : The unit is percent(%). Range belongs to [0%, 10000%]. Precision is 1% Either chgTaker or chgMaker is required. |
2022-08-26
- Added new request and response parameter
Parameter | Type | Description |
---|---|---|
tag | String | Order tag A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 16 characters. |
- Added new error codes
Error Message | HTTP Status Code | Error Code |
---|---|---|
RFQ quantity cannot be less than the lower limit | 200 | 52917 |
Insufficient balance in funding account | 200 | 52918 |
Parameter {param} of convert trading is inconsistent with the quotation | 200 | 52919 |
Quantity of convert trading cannot exceed the quotation quantity | 200 | 52920 |
Quote traded, please ask for quote again | 200 | 52921 |
Quote expired, please ask for quote again | 200 | 52922 |
Service unavailable, please try again later | 200 | 52923 |
2022-08-25
Added new WebSocket channel
Added new endpoints
Added new error codes
Error Message | HTTP Status Code | Error Code |
---|---|---|
Unable to place order. Spot trading only supports using the last price as trigger price. Please select "Last" and try again. | 200 | 51415 |
2022-08-24
For more details, refer to OKX to introduce Spot-derivatives risk offset in Portfolio Margin.
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
unSpotOffset | Boolean | No | true : disable Spot-Derivatives risk offset, false : enable Spot-Derivatives risk offsetDefault is false Only applicable to Portfolio margin It is effective when Spot-Derivatives risk offset is turned on, otherwise this parameter is ignored. |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
spotOffsetMaxWd | String | Max withdrawal under Spot-Derivatives risk offset mode (excludes borrowed crypto transfer out under Portfolio margin )Applicable to Portfolio margin |
spotOffsetMaxWdEx | String | Max withdrawal under Spot-Derivatives risk offset mode (includes borrowed crypto transfer out under Portfolio margin )Applicable to Portfolio margin |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
spotOffsetType | String | Risk offset type1 : Spot-Derivatives(USDT) to be offsetted2 : Spot-Derivatives(Coin) to be offsetted3 : Only derivatives to be offsettedOnly applicable to Portfolio margin |
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
omitPosRisk | String | No | Ignore position risk Default is false Applicable to Portfolio margin |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
> spotInUseAmt | String | Spot in use amount Applicable to Portfolio margin |
- Added new response parameters
Parameter | Type | Description |
---|---|---|
> spotInUseAmt | String | Spot in use amount Applicable to Portfolio margin |
> spotInUseCcy | String | Spot in use unit, e.g. BTC Applicable to Portfolio margin |
- Added new error codes
Error Message | HTTP Status Code | Error Code |
---|---|---|
This transfer will result in a high-risk level of your position, which may lead to forced liquidation. You need to re-adjust the transfer amount to make sure the position is at a safe level before proceeding with the transfer. | 200 | 58121 |
A portion of your spot is being used for Delta offset between positions. If the transfer amount exceeds the available amount, it may affect current spot-derivatives risk offset structure, which will result in an increased Maintenance Margin Requirement (MMR) rate. Please be aware of your risk level. | 200 | 58122 |
2022-08-15
- Added new response parameter
Parameter | Type | Description |
---|---|---|
uid | String | Account ID |
- Adjusted request fields in Reset the API Key of a sub-account
before:
Parameter | Type | Required | Description |
---|---|---|---|
label | String | Yes | API Key note No more than 50 letters (case sensitive) or numbers, which can be pure letters or pure numbers. The field will be reset if set. |
perm | String | Yes | API Key permissions read_only : Read only trade : TradeSeparate with commas if more than one. The field will be reset if set. |
after:
Parameter | Type | Required | Description |
---|---|---|---|
label | String | No | API Key note No more than 50 letters (case sensitive) or numbers, which can be pure letters or pure numbers. The field will be reset if set. |
perm | String | No | API Key permissions read_only : Read only trade : TradeSeparate with commas if more than one. The field will be reset if set. |
2022-08-10
Added new endpoints
Added new error codes
Error Message | HTTP Status Code | Error Code |
---|---|---|
Underlying index {0} does not exist under instType {1}. | 200 | 70007 |
Data must have at least 1 valid element. | 200 | 70009 |
Duplicate setting for instType {0}. | 200 | 70011 |
Counterparties for selected instruments are currently unavailable. | 200 | 70109 |
2022-08-03
- Added new error codes
Error Message | HTTP Status Code | Error Code |
---|---|---|
Missing label of withdrawal address. | 200 | 58221 |
Illegal withdrawal address. | 200 | 58222 |
This type of coin does not support on-chain withdrawals within OKX. Please use internal transfers. | 200 | 58224 |
2022-08-02
- Added a new function module Earn
2022-07-25
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
posId | String | No | Position ID |
2022-07-22
- Added new endpoints
2022-07-18
- Added a new function module Transaction timeliness
2022-07-15
Added new endpoints
Added new return parameters
Parameter | Type | Description |
---|---|---|
tag | String | Order tag |
2022-07-11
- Adjusted request fields in Get trades history
before adjusting request fields:
Parameter | Type | Required | Description |
---|---|---|---|
after | String | No | Pagination of data to return records earlier than the requested tradeId. |
before | String | No | Pagination of data to return records newer than the requested tradeId. |
after adjusting request fields:
Parameter | Type | Required | Description |
---|---|---|---|
type | String | No | Pagination Type 1 : tradeId 2 : timestampThe default is 1 |
after | String | No | Pagination of data to return records earlier than the requested tradeId or ts. |
before | String | No | Pagination of data to return records newer than the requested tradeId. Do not support timestamp for pagination |
2022-07-01
- Added new endpoints
2022-06-30
Added request parameters
anonymous
andexpiresIn
in the endpoint Create QuoteAdded new return parameters
Parameter | Type | Description |
---|---|---|
minDep | String | Minimum deposit amount of the currency in a single transaction |
needTag | Boolean | Needability of tag/memo information |
minDepArrivalConfirm | String | Minimum number of blockchain confirmations to acknowledge fund deposit |
minWdUnlockConfirm | String | Minimum number of blockchain confirmations required for withdrawal of a deposit |
- Added new return parameters
Parameter | Type | Description |
---|---|---|
actualDepBlkConfirm | String | Actual amount of blockchain confirm in a single deposit |
2022-06-24
Added new endpoints
Adjusted request fields in Get position tiers
before adjusting request fields:
Parameter | Type | Required | Description |
---|---|---|---|
uly | String | Conditional | Underlying Required when instType is one of SWAP ,FUTURES ,OPTION , ignore when instType is MARGIN |
instId | String | Conditional | Instrument ID, e.g. BTC-USDT Required when instType is MARGIN , ignore when instType is one of SWAP ,FUTURES ,OPTION |
after adjusting request fields:
Parameter | Type | Required | Description |
---|---|---|---|
uly | String | Conditional | Single underlying or multiple underlyings (no more than 3) separated with comma. Required when instType is one of SWAP ,FUTURES ,OPTION , ignore when instType is MARGIN |
instId | String | Conditional | Single instrument or multiple instruments (no more than 5) separated with comma. Required when instType is MARGIN , ignore when instType is one of SWAP ,FUTURES ,OPTION |
2022-06-23
- The response fields within Get positions history was adjusted
before:
Response Parameters
Parameter | Type | Description |
---|---|---|
type | String | The type of closing positionpartClose :Close position partially;allClose :Close all;3 :Liquidation;4 :Partial liquidation; 5 :ADL; It is the latest type if there are several types for the same position. |
posSide | String | Direction: long short Only applicable to MARGIN/FUTURES/SWAP/OPTION |
after:
Parameter | Type | Description |
---|---|---|
type | String | The type of closing position1 :Close position partially;2 :Close all;3 :Liquidation;4 :Partial liquidation; 5 :ADL; It is the latest type if there are several types for the same position. |
direction | String | Direction: long short Only applicable to MARGIN/FUTURES/SWAP/OPTION |
2022-06-20
- Adjusted request and response fields in Status
before adjusting request fields:
Parameter | Type | Required | Description |
---|---|---|---|
state | String | No | System maintenance status,scheduled : waiting; ongoing : processing; completed : completed ;canceled : canceled . If this parameter is not filled, the data with status scheduled and ongoing will be returned by default |
after adjusting request fields:
Parameter | Type | Required | Description |
---|---|---|---|
state | String | No | System maintenance status,scheduled : waiting; ongoing : processing; pre_open : pre_open; completed : completed ;canceled : canceled. Generally, pre_open last about 10 minutes. There will be pre_open when the time of upgrade is too long. If this parameter is not filled, the data with status scheduled , ongoing and pre_open will be returned by default |
before adjusting response fields:
Parameter | Type | Description |
---|---|---|
end | String | End time of system maintenance, Unix timestamp format in milliseconds, e.g. 1617788463867 .It is expected end time before completed , changed to actual end time after completed . |
serviceType | String | Service type, 0 :WebSocket ; 5 :Trading service |
after adjusting response fields:
Parameter | Type | Description |
---|---|---|
end | String | Time of resuming trading totally. Unix timestamp format in milliseconds, e.g. 1617788463867 .It is expected end time before completed , changed to actual end time after completed . |
preOpenBegin | String | The time of pre_open. Canceling orders, placing Post Only orders, and transferring funds to trading accounts are back after preOpenBegin . |
serviceType | String | Service type, 0 :WebSocket ; 5 :Trading service; 99: Others (e.g. Suspend partial instruments) |
- Adjusted push data fields in Status channel
before:
Parameter | Type | Description |
---|---|---|
> end | String | End time of system maintenance, Unix timestamp format in milliseconds, e.g. 1617788463867 .It is expected end time before completed , changed to actual end time after completed |
> serviceType | String | Service type, 0 :WebSocket ; 5 :Trading service |
after:
Parameter | Type | Description |
---|---|---|
> end | String | Time of resuming trading totally. Unix timestamp format in milliseconds, e.g. 1617788463867 .It is expected end time before completed , changed to actual end time after completed . |
> preOpenBegin | String | The time of pre_open. Canceling orders, placing Post Only orders, and transferring funds to trading accounts are back after preOpenBegin . |
> serviceType | String | Service type, 0 :WebSocket ; 5 :Trading service; 99 : Others (e.g. Suspend partial instruments) |
2022-06-16
- Removed request parameter :
acctLv
2022-06-14
- The response fields within Get positions history will be adjusted in the production trading service on June 16, 2022 at the earliest
before:
Parameter | Type | Description |
---|---|---|
type | String | The type of closing positionpartClose :Close position partially;allClose :Close all;3 :Liquidation;4 :Partial liquidation; 5 :ADL; It is the latest type if there are several types for the same position. |
posSide | String | Direction: long short Only applicable to MARGIN/FUTURES/SWAP/OPTION |
after:
Parameter | Type | Description |
---|---|---|
type | String | The type of closing position1 :Close position partially;2 :Close all;3 :Liquidation;4 :Partial liquidation; 5 :ADL; It is the latest type if there are several types for the same position. |
direction | String | Direction: long short Only applicable to MARGIN/FUTURES/SWAP/OPTION |
2022-06-10
- REST API added a new function module Grid trading
WebSocket API added new channels
Added new error codes
Error Message | HTTP Status Code | Error Code |
---|---|---|
Futures Grid is not available in Portfolio Margin mode | 200 | 51055 |
Action not allowed | 200 | 51056 |
Futures Grid is not available in Simple trading mode | 200 | 51057 |
No available position for this algo order | 200 | 51058 |
Strategy for the current state does not support this operation | 200 | 51059 |
Used margin must be greater than {0}{1} | 200 | 51340 |
Position closing not allowed | 200 | 51341 |
Closing order already exists. Please try again later | 200 | 51342 |
TP price must be less than the lower price | 200 | 51343 |
SL price must be greater than the upper price | 200 | 51344 |
Policy type is not grid policy | 200 | 51345 |
The highest price cannot be lower than the lowest price | 200 | 51346 |
No profit available | 200 | 51347 |
Stop loss price should be less than the lower price in the range | 200 | 51348 |
Stop profit price should be greater than the highest price in the range | 200 | 51349 |
Single income must be greater than 0 | 200 | 51351 |
- Added new endpoints
2022-06-09
- Block trading goes live
- Adjusted request fields in Create sub-account
- Adjusted request fields in Create sub-account
before:
Parameter | Type | Required | Description |
---|---|---|---|
label | String | No | Sub-account notes |
after:
Parameter | Type | Required | Description |
---|---|---|---|
label | String | No | Sub-account notes No more than 50 letters (case sensitive) or numbers, which can be pure letters or pure numbers. |
- Adjusted request fields in Create an API Key for a sub-account
before:
Parameter | Type | Required | Description |
---|---|---|---|
label | String | Yes | API Key note |
after:
Parameter | Type | Required | Description |
---|---|---|---|
label | String | Yes | API Key note No more than 50 letters (case sensitive) or numbers, which can be pure letters or pure numbers. |
- Adjusted request fields in Reset the API Key of a sub-account
before:
Parameter | Type | Required | Description |
---|---|---|---|
label | String | Yes | API Key note |
after:
Parameter | Type | Required | Description |
---|---|---|---|
label | String | Yes | API Key note No more than 50 letters (case sensitive) or numbers, which can be pure letters or pure numbers. |
2022-06-07
- The function below has been gone live in production trading service:
- All ND sub-accounts have the permission of transfer out by default, and cannot be set permission of transfer out any more with Set Permission Of Transfer Out.
- All ND sub-accounts have the permission of transfer out by default, and cannot be set permission of transfer out any more with Set Permission Of Transfer Out.
2022-06-01
- The function below will go live on June 6, 2022 at the earliest:
- All ND subaccounts will have the permission of transfer out by default, and cannot be set permission of transfer out any more with Set Permission Of Transfer Out.
- All ND subaccounts will have the permission of transfer out by default, and cannot be set permission of transfer out any more with Set Permission Of Transfer Out.
2022-05-26
- Added new parameters
Parameter | Type | Required | Description |
---|---|---|---|
banAmend | Boolean | No | Whether to disallow the system from amending the size of the SPOT Market Order. Valid options: true or false . The default value is false .If true , system will not amend and reject the market order if user does not have sufficient funds. Only applicable to SPOT Market Orders |
- Added new endpoints
2022-05-23
- Block trading feature has been gone live in demo trading service
- REST API refer to here
- WebSocket refer to private channel and public channel
- REST API refer to here
2022-05-20
- Added new parameters
Parameter | Type | Required | Description |
---|---|---|---|
begin | String | No | Filter with a begin timestamp. Unix timestamp format in milliseconds, e.g. 1597026383085 |
end | String | No | Filter with an end timestamp. Unix timestamp format in milliseconds, e.g. 1597026383085 |
The rules of filtering with begin
and end
are as follows:
1. The result includes parameters of begin
and end
.
2. Return near end
if begin
and end
both exist when begin
and end
both exist.
3. The endpoint filters with begin
and end
first, and then paginates with after
and before
when begin
or end
, after
or before
exist at the same request.
2022-05-19
Added new endpoints for Fully-Disclosed Broker
The push logic of "Tickers channel" ws changed as follows:
- For currency pairs and contracts that have not been traded, the condition that
last
is an empty string will occur, which is common in newly launched currency pairs and contracts (especially options contracts).
- For currency pairs and contracts that have not been traded, the condition that
Added functionality below into Live trading:
- The changes of "book5" depth channel from pushing data every "200" ms to pushing data every "100" ms
- The changes of "book5" depth channel from pushing data every "200" ms to pushing data every "100" ms
2022-05-18
- Adjusted request fields in Create an API Key for a sub-account
before:
Parameter | Type | Required | Description |
---|---|---|---|
passphrase | String | Yes | API Key password, supports 6 to 32 lowercase alphanumeric characters and at least one uppercase letter or special character |
ip | String | Yes | Link IP addresses, separate with commas if more than one. Support up to 20 addresses |
after:
Parameter | Type | Required | Description |
---|---|---|---|
passphrase | String | Yes | API Key password, supports 8 to 32 alphanumeric characters containing at least 1 number, 1 uppercase letter, 1 lowercase letter and 1 symbol |
ip | String | Conditional | Link IP addresses, separate with commas if more than one. Support up to 20 addresses If sub-account API Key has trade permission, linking IP addresses is required. |
- Adjusted request fields in Reset the API Key of a sub-account
before:
Parameter | Type | Required | Description |
---|---|---|---|
ip | String | No | Link IP addresses, separate with commas if more than one. Support up to 20 addresses |
after:
Parameter | Type | Required | Description |
---|---|---|---|
ip | String | No | Link IP addresses, separate with commas if more than one. Support up to 20 addresses The field will be reset if set. If sub-account API Key has trade permission, linking IP addresses is required. |
2022-05-13
- Added new parameters
Parameter | Type | Description |
---|---|---|
clientId | String | Client-supplied ID A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 32 characters. |
2022-05-07
The push logic of "Tickers channel" will be changed as follows on May 12, 2022:
- For currency pairs and contracts that have not been traded, the condition that
last
is an empty string will occur, which is common in newly launched currency pairs and contracts (especially options contracts).
- For currency pairs and contracts that have not been traded, the condition that
The following changes was made to the 'Get fee rates' interface.
- The
category
field was removed, but it would not affect the existing program calls. A request returns the same data with or without the category value. - Newly added return parameters: takerU and makerU, representing the fee rates of USDT-margined futures and perpetual contracts. When users check the fee rates of futures and perpetual contracts, the meaning of the original taker and maker parameters would change, representing only the fee rates of crypto-margined contracts.
- The
For details, please refer to OKX Will Make Changes to the 'Get Fee Rates' Interface
2022-05-05
- Added functionality below into Live trading:
- New "bbo-tbt" depth channel that sends tick-by-tick Level 1 data will be available on WebSocket API
- The changes of "book5" depth channel from pushing data every "200" ms to pushing data every "100" ms will
go live within two weeks
- Only API users who are VIP5 and above in trading fee tier are allowed to subscribe to "books-l2-tbt" 400 depth channels
- Only API users who are VIP4 and above in trading fee tier are allowed to subscribe to "books50-l2-tbt" 50 depth channels
- New "bbo-tbt" depth channel that sends tick-by-tick Level 1 data will be available on WebSocket API
Depth Channel | Before | After |
---|---|---|
bbo-tbt | None | 1.Newly added channel that sends tick-by-tick Level 1 data 2.All API users can subscribe 3.Public depth channel, verification not required |
books-l2-tbt | 1.All API users can subscribe 2.Public depth channel, verification not required |
1.Only users who are VIP5 and above can subscribe 2.Identity verification required before subscription, identity verification refers to Login |
books50-l2-tbt | 1.All API users can subscribe 2.Public depth channel, verification not required |
1.Only users who are VIP4 and above can subscribe 2.Identity verification required before subscription, identity verification refers to Login |
books | 1.All API users can subscribe 2.Public depth channel, verification not required |
No update |
books5 | 1.All API users can subscribe 2.Public depth channel, verification not required |
No update. The change from pushing data every "200" ms to pushing data every "100" ms will go live in two weeks . |
Added new endpoints
Added new values for type
3
and4
Parameter | Type | Required | Description |
---|---|---|---|
type | String | No | 3 : sub-account to master account (Only applicable to API Key from sub-account)4 : sub-account to sub-account(Only applicable to APIKey from sub-account, and target account needs to be another sub-account which belongs to same master account) |
- Added new return parameters
Parameter | Type | Description |
---|---|---|
canTransOut | Boolean | Whether the sub-account has the right to transfer out. The default is true .false : cannot transfer out true : can transfer |
- Added new error codes
Error Message | Error Code |
---|---|
{0} Sub-account has no permission to transfer out, please set first | 58119 |
2022-04-28
- Newly added reponse parameters in the endpoint
Parameter | Type | Description |
---|---|---|
maxLmtSz | String | The maximum order quantity of the contract or spot limit order |
maxMktSz | String | The maximum order quantity of the contract or spot market order |
maxTwapSz | String | The maximum order quantity of the contract or spot twap order |
maxIcebergSz | String | The maximum order quantity of the contract or spot iceBerg order |
maxTriggerSz | String | The maximum order quantity of the contract or spot trigger order |
maxStopSz | String | The maximum order quantity of the contract or spot stop order |
- Newly added a enumeration and reponse parameters to push data for WebSocket channel
Parameter | Type | Required | Description |
---|---|---|---|
op | String | Yes | Operation, subscribe unsubscribe |
args | Array | Yes | List of subscribed channels |
> channel | String | Yes | Channel name, instruments |
> instType | String | Yes | Instrument typeMARGIN |
Parameter | Type | Description |
---|---|---|
maxLmtSz | String | The maximum order quantity of the contract or spot limit order |
maxMktSz | String | The maximum order quantity of the contract or spot market order |
maxTwapSz | String | The maximum order quantity of the contract or spot twap order |
maxIcebergSz | String | The maximum order quantity of the contract or spot iceBerg order |
maxTriggerSz | String | The maximum order quantity of the contract or spot trigger order |
maxStopSz | String | The maximum order quantity of the contract or spot stop order |
2022-04-26
- Added new return parameters
Parameter | Type | Description |
---|---|---|
logoLink | String | Logo link of currency |
2022-04-25
- Added functionality below into Demo trading, and go live on May 5, 2022 at the earliest:
- New "bbo-tbt" depth channel that sends tick-by-tick Level 1 data will be available on WebSocket API
- The "book5" depth channel is adjusted from pushing data every "200" ms to pushing data every "100" ms
- Only API users who are VIP5 and above in trading fee tier are allowed to subscribe to "books-l2-tbt" 400 depth channels
- Only API users who are VIP4 and above in trading fee tier are allowed to subscribe to "books50-l2-tbt" 50 depth channels
- New "bbo-tbt" depth channel that sends tick-by-tick Level 1 data will be available on WebSocket API
Depth Channel | Before | After |
---|---|---|
bbo-tbt | None | 1.Newly added channel that sends tick-by-tick Level 1 data 2.All API users can subscribe 3.Public depth channel, verification not required |
books-l2-tbt | 1.All API users can subscribe 2.Public depth channel, verification not required |
1.Only users who are VIP5 and above can subscribe 2.Identity verification required before subscription, identity verification refers to Login |
books50-l2-tbt | 1.All API users can subscribe 2.Public depth channel, verification not required |
1.Only users who are VIP4 and above can subscribe 2.Identity verification required before subscription, identity verification refers to Login |
books | 1.All API users can subscribe 2.Public depth channel, verification not required |
No update |
books5 | 1.All API users can subscribe 2.Public depth channel, verification not required |
1. All API users can subscribe 2. Public depth channel, verification not required 3. It will push data every 100ms (currently it pushes every 200ms) |
2022-04-15
- Update notice on May 2022. The following changes will be made to the 'Get fee rates' interface.
- The
category
field will be removed, but it will not affect the existing program calls. A request returns the same data with or without the category value. - Newly added return parameters: takerU and makerU, representing the fee rates of USDT-margined futures and perpetual contracts. When users check the fee rates of futures and perpetual contracts, the meaning of the original taker and maker parameters will change, representing only the fee rates of crypto-margined contracts.
- The
For details, please refer to OKX Will Make Changes to the 'Get Fee Rates' Interface
2022-04-14
- Update notice on April 25, 2022 about Demo trading and go live on May 5, 2022 at the earliest:
- New "bbo-tbt" depth channel that sends tick-by-tick Level 1 data will be available on WebSocket API
- New "bbo-tbt" depth channel that sends tick-by-tick Level 1 data will be available on WebSocket API
{
"op": "subscribe",
"args": [
{
"channel": "bbo-tbt",
"instId": "BTC-USDT"
}
]
}
Request parameters
Parameter | Type | Required | Description |
---|---|---|---|
op | String | Yes | Operation, subscribe unsubscribe |
args | Array | Yes | List of subscribed channels |
> channel | String | Yes | Channel name, books books5 books50-l2-tbt books-l2-tbt bbo-tbt |
> instId | String | Yes | Instrument ID |
Response Example
{
"event": "subscribe",
"arg": {
"channel": "bbo-tbt",
"instId": "BTC-USDT"
}
}
Failure example
{
"event": "error",
"code": "60012",
"msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"bbo-tbt\", \"instId\" : \"BTC-USDT\"}]}"
}
Response parameters
Parameter | Type | Required | Description |
---|---|---|---|
event | String | Yes | Event, subscribe unsubscribe error |
arg | Object | No | Subscribed channel |
> channel | String | Yes | Channel name |
> instId | String | Yes | Instrument ID |
msg | String | No | Error message |
code | String | No | Error code |
Push Data Example:
{
"arg": {
"channel": "bbo-tbt",
"instId": "BTC-USDT"
},
"data": [{
"asks": [
["8506.96", "100", "0", "2"]
],
"bids": [
["8446", "95", "0", "3"]
],
"ts": "1597026383085"
}]
}
Push Data Example:Only the bids has depth
{
"arg": {
"channel": "bbo-tbt",
"instId": "BTC-USDT"
},
"data": [{
"asks": [],
"bids": [
["8446", "95", "0", "3"]
],
"ts": "1597026383085"
}]
}
* The "book5" depth channel is adjusted from pushing data every "200" ms to pushing data every "100" ms
* Only API users who are VIP5 and above in trading fee tier are allowed to subscribe to "books-l2-tbt" 400 depth channels
* Only API users who are VIP4 and above in trading fee tier are allowed to subscribe to "books50-l2-tbt" 50 depth channels
Depth Channel | Before | After |
---|---|---|
bbo-tbt | None | 1.Newly added channel that sends tick-by-tick Level 1 data 2.All API users can subscribe 3.Public depth channel, verification not required |
books-l2-tbt | 1.All API users can subscribe 2.Public depth channel, verification not required |
1.Only users who are VIP5 and above can subscribe 2.Identity verification required before subscription, identity verification refers to Login |
books50-l2-tbt | 1.All API users can subscribe 2.Public depth channel, verification not required |
1.Only users who are VIP4 and above can subscribe 2.Identity verification required before subscription, identity verification refers to Login |
books | 1.All API users can subscribe 2.Public depth channel, verification not required |
No update |
books5 | 1.All API users can subscribe 2.Public depth channel, verification not required |
1. All API users can subscribe 2. Public depth channel, verification not required 3. It will push data every 100ms (currently it pushes every 200ms) |
2022-04-08
- Demo trading supported endpoints as follows:
2022-04-07
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
tag | String | No | Order tag |
- Added new return parameters
Parameter | Type | Description |
---|---|---|
maxWd | String | Maximum amount of currency withdrawal in a single transaction |
wdTickSz | String | Withdrawal precision, indicating the number of digits after the decimal point |
wdQuota | String | Withdrawal limit in the past 24 hours, unit in USDT |
usedWdQuota | String | Amount of currency withdrawal used in the past 24 hours, unit in USDT |
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
depId | String | No | Deposit ID |
- Added new request parameters
Parameter | Type | Required | Description |
---|---|---|---|
wdId | String | No | Withdrawal ID |
Added new endpoints
Added new error codes
Error Message | Error Code |
---|---|
The daily usage of small assets convert exceeds the limit. | 58370 |
Small assets exceed the maximum limit. | 58371 |
Insufficient small assets. | 58372 |
Withdrawal ID does not exist. | 58215 |
Operation not allowed. | 58216 |
2022-03-10
- Offlined endpoints
- Removed funds password :
pwd
If the user continues to pass in the funds password, the parameter will be ignored and no error will be reported.
Added new endpoints for Non-Disclosed Broker
Added new return parameters
Response Parameters
Parameters | Types | Description |
---|---|---|
mr1 | String | spot & vol movements |
mr2 | String | theta decay |
mr3 | String | vega term-structure |
mr4 | String | basis risk |
mr5 | String | interest-rate risk |
mr6 | String | extreme market move |
mr7 | String | transaction cost & slippage |
- Added new error codes
Error Message | Error Code |
---|---|
You are not currently on the whitelist, please contact customer service | 50041 |
This endpoint requires that APIKey must be bound to IP | 50035 |
begin date cannot be greater than end date. | 59615 |
The time interval between the begin date and end date cannot exceed 180 days. | 59616 |
2022-03-02
2022-02-17
- Adjusted request field in Savings purchase/redemption:
before:
Parameter | Type | Required | Description |
---|---|---|---|
rate | String | No | Purchase rate Only applicable to purchase saving shares The interest rate of the new subscription will cover the interest rate of the last subscription The default interest rate of 1% The rate value range is between 1% and 365% |
after:
Parameter | Type | Required | Description |
---|---|---|---|
rate | String | Yes | Purchase rate Only applicable to purchase saving shares The interest rate of the new subscription will cover the interest rate of the last subscription The rate value range is between 1% and 365% |
2022-01-26
Added new endpoints
Added new return parameters
Parameter | Type | Description |
---|---|---|
type | String | Sub-account type 1 :Standard sub-account 2 :Custody trading sub-account |
2022-01-25
- Added new return parameters
Parameter | Type | Description |
---|---|---|
addrEx | Object |
Deposit address attachment (This will not be returned if the currency does not require this) e.g. TONCOIN attached tag name is comment , the return will be {'comment':'123456'} |
2022-01-20
- The new domain name has been enabled. Click here to see the details
2022-01-18
Added a new request parameter
tag
Added new return parameters
Parameter | Type | Description |
---|---|---|
tag | String | Order tag A combination of case-sensitive alphanumerics, all numbers, or all letters of up to 16 characters. |
2022-01-17
- Added new return parameters:
Parameter | Type | Description |
---|---|---|
triggerPxType | String | Trigger price type last : last priceindex : index pricemark : mark price |
- Added new request fields to Place Algo Order for trigger order placement
Parameter | Type | Required | Description |
---|---|---|---|
triggerPxType | String | No | Trigger price type last : last priceindex : index pricemark : mark priceThe Default is last |
2022-01-14
Added a new request parameter
autoCxl
:Added a new endpoint and a WebSocket channel
2022-01-11
Broker API
migrated to Broker
2022-01-06
- Added new return parameters:
Parameter | Type | Description |
---|---|---|
callbackRatio | String | Callback price ratio Only applicable to move_order_stop order |
callbackSpread | String | Callback price variance Only applicable to move_order_stop order |
activePx | String | Active price Only applicable to move_order_stop order |
moveTriggerPx | String | Trigger price Only applicable to move_order_stop order |
added enumeration value for ordType
field
Parameter | Type | Description |
---|---|---|
ordType | String | move_order_stop : Trailing order |
- Added new request fields to Place algo order
Parameter | Type | Required | Description |
---|---|---|---|
callbackRatio | String | Conditional | Callback price ratio , e.g. 0.01 Either callbackRatio or callbackSpread is allowed to be passed. |
callbackSpread | String | Conditional | Callback price variance |
activePx | String | No | Active price |
added enumeration value for ordType
field
Parameter | Type | Description |
---|---|---|
ordType | String | move_order_stop : Trailing order |
Endpoint
Get piggyBank balance
changed to Get saving balanceAdded new error codes
Error Message | Error Code |
---|---|
Wrong passphrase | 60024 |
2021-12-24
Added new endpoints
Added new return fields to Get account configuration
Parameter | Type | Description |
---|---|---|
ctIsoMode | String | Contract isolated margin trading settingsautomatic :Auto transfers autonomy :Manual transfers |
mgnIsoMode | String | Margin isolated margin trading settingsautomatic :Auto transfers autonomy :Manual transfers |
- Added new return fields toGet positions 、Get account and position risk、Positions channel、Balance and position channel
Parameter | Type | Description |
---|---|---|
baseBal | String | Base currency balance, only applicable to MARGIN (Manual transfers) |
quoteBal | String | Quote currency balance, only applicable to MARGIN (Manual transfers) |
- Added a new request field to Increase/decrease margin
Parameter | Type | Required | Description |
---|---|---|---|
auto | Boolean | No | Automatic loan transfer out, true or false , the default is false only applicable to MARGIN (Manual transfers) |
loanTrans | Boolean | No | Whether or not borrowed coins can be transferred out under Multi-currency margin the default is false |
- Added a new request field to Get maximum available tradable amount
Parameter | Type | Required | Description |
---|---|---|---|
px | String | No | Price When the price is not specified, it will be calculated according to the last traded price. The parameter will be ignored when multiple instruments are specified. |
2021-12-14
Added new endpoints
Added new return fields to Get PiggyBank Balance
Parameter | Type | Description |
---|---|---|
rate | String | Lending rate |
loanAmt | String | Lending amount |
pendingAmt | String | Pending amount |
redemptAmt | String | Redempting amount |
- Added a new field to PiggyBank Purchase/Redemption
Parameter | Type | Description |
---|---|---|
rate | String | Lending rate |
- Adjusted response field in Get Interest Rate and Loan Quota
Parameter | Type | Description |
---|---|---|
> irDiscount | String | Interest rate discount Discarded field, always return "" |
2021-12-06
- Added a new request field to Funds transfer , Master accounts manage the transfers between sub-accounts, Increase/Decrease margin
Parameter | Type | Required | Description |
---|---|---|---|
loanTrans | Boolean | No | Whether or not borrowed coins can be transferred out under Multi-currency margin the default is false |
- Added a response field to Get maximum withdrawals
Parameter | Type | Description |
---|---|---|
maxWdEx | String | Max withdrawal (allowing borrowed crypto transfer out under Multi-currency margin ) |
- Adjusted response field in Get interest rate and loan quota for VIP loans :
Parameter | Type | Description |
---|---|---|
> level | String | VIP Level, e.g. VIP5 |
2021-12-04
- Added new return parameters:
Parameter | Type | Description |
---|---|---|
tpTriggerPxType | String | Take-profit trigger price type. last : last priceindex : index pricemark : mark price |
slTriggerPxType | String | Stop-loss trigger price type. last : last priceindex : index pricemark : mark price |
- Added new request fields to Place Algo Order for stop order placement
Parameter | Type | Required | Description |
---|---|---|---|
tpTriggerPxType | String | No | Take-profit trigger price typelast : last priceindex : index pricemark : mark priceThe Default is last |
slTriggerPxType | String | No | Stop-loss trigger price typelast : last priceindex : index pricemark : mark priceThe Default is last |
2021-11-26
- Adjusted request field in Place Order、Place Multiple Orders:
Parameter | Type | Required | Description |
---|---|---|---|
reduceOnly | Boolean | No | Whether the order can only reduce the position size. Valid options: true or false . The default value is false .Only applicable to MARGIN orders, and FUTURES/SWAP orders in net mode Only applicable to Single-currency margin and Multi-currency margin |
2021-11-25
Added new endpoints
Added a new field to Get interest accrued data
Parameter | Type | Description |
---|---|---|
type | String | Loan type1 : VIP loans2 : Market loans |
- Get Bills Details (last 7 days) and Get Bills Details (last 3 months) added enumeration value for
subType
field
Parameter | Type | Description |
---|---|---|
subType | String | 14 : Interest deduction for VIP loans |
- Added new error codes
Error Message | HTTP Status Code | Error Code |
---|---|---|
Insufficient available margin, add margin or reduce the borrowing amount | 200 | 59303 |
Insufficient equity for borrowing, keep enough funds to pay interest for at least one day | 200 | 59304 |
Use VIP loan first to set the VIP loan priority | 200 | 59305 |
Your borrowing amount exceeds the max limit | 200 | 59306 |
You are not eligible for VIP loans | 200 | 59307 |
Unable to repay VIP loan due to insufficient borrow limit | 200 | 59308 |
Unable to repay an amount that exceeds the borrowed amount | 200 | 59309 |
Your account does not support VIP loan | 200 | 59310 |
Unable to set up as there is VIP loan | 200 | 59311 |
{currency} does not support VIP loans | 200 | 59312 |
2021-11-23
Added a new function module ND-Broker
Added a new endpoint Get account asset valuation
2021-11-20
- Added new response field to Increase/Decrease margin for stop order placement
Response Parameters
Parameter | Type | Description |
---|---|---|
leverage | String | Real leverage after the margin adjustment |
2021-11-02
- Added a new request field to Get maximum buy/sell amount or open amount
Parameter | Type | Required | Description |
---|---|---|---|
leverage | String | No | Leverage for instrument The default is current leverage Only applicable to MARGIN/FUTURES/SWAP |
2021-11-01
Added a new endpoint Get account risk state
Get Order Details Added enumeration value ddh for category field
Parameter | Type | Description |
---|---|---|
category | String | Categorynormal twap adl full_liquidation partial_liquidation delivery ddh : Delta dynamic hedge |
- Get Order History (last 7 days) Added enumeration value ddh for category field
Parameter | Type | Description |
---|---|---|
category | String | Categorynormal twap adl full_liquidation partial_liquidation delivery ddh : Delta dynamic hedge |
- Get Order History (last 3 months) Added enumeration value ddh for category field
Parameter | Type | Description |
---|---|---|
category | String | Categorynormal twap adl full_liquidation partial_liquidation delivery ddh : Delta dynamic hedge |
- Order Channel Added enumeration value ddh for category field
Parameter | Type | Description |
---|---|---|
category | String | Categorynormal twap adl full_liquidation partial_liquidation delivery ddh : Delta dynamic hedge |
- Get Bills Details (last 7 days) New enumeration value 13 for type field: ddh; new enumeration value for subType field:
131
: ddh buy and132
: ddh sell
Parameter | Type | Required | Description |
---|---|---|---|
type | String | No | Bill type1 : Transfer 2 : Trade 3 : Delivery 4 : Auto token conversion 5 : Liquidation 6 : Margin transfer 7 : Interest deduction 8 : Funding fee 9 : ADL 10 : Clawback 11 : System token conversion 12 : Strategy transfer 13 : ddh |
subType | String | No | Bill subtype1 : Buy 2 : Sell 3 : Open long 4 : Open short 5 : Close long 6 : Close short 9 : Interest deduction 11 : Transfer in 12 : Transfer out 160 : Manual margin increase 161 : Manual margin decrease 162 : Auto margin increase 110 : Auto buy 111 : Auto sell 118 : System token conversion transfer in 119 : System token conversion transfer out 100 : Partial liquidation close long 101 : Partial liquidation close short 102 : Partial liquidation buy 103 : Partial liquidation sell 104 : Liquidation long 105 : Liquidation short 106 : Liquidation buy 107 : Liquidation sell 110 : Liquidation transfer in 111 : Liquidation transfer out 125 : ADL close long 126 : ADL close short 127 : ADL buy 128 : ADL sell 131 : ddh buy 132 : ddh sell 170 : Exercised 171 : Counterparty exercised 172 : Expired OTM 112 : Delivery long 113 : Delivery short 117 : Delivery/Exercise clawback 173 : Funding fee expense 174 : Funding fee income 200 :System transfer in 201 : Manually transfer in 202 : System transfer out 203 : Manually transfer out |
- Get Bills Details (last 3 months) New enumeration value 13 for type field: ddh; new enumeration value for subType field:
131
: ddh buy and132
: ddh sell
Parameter | Type | Required | Description |
---|---|---|---|
type | String | No | Bill type1 : Transfer 2 : Trade 3 : Delivery 4 : Auto token conversion 5 : Liquidation 6 : Margin transfer 7 : Interest deduction 8 : Funding fee 9 : ADL 10 : Clawback 11 : System token conversion 12 : Strategy transfer 13 : ddh |
subType | String | No | Bill subtype1 : Buy 2 : Sell 3 : Open long 4 : Open short 5 : Close long 6 : Close short 9 : Interest deduction 11 : Transfer in 12 : Transfer out 160 : Manual margin increase 161 : Manual margin decrease 162 : Auto margin increase 110 : Auto buy 111 : Auto sell 118 : System token conversion transfer in 119 : System token conversion transfer out 100 : Partial liquidation close long 101 : Partial liquidation close short 102 : Partial liquidation buy 103 : Partial liquidation sell 104 : Liquidation long 105 : Liquidation short 106 : Liquidation buy 107 : Liquidation sell 110 : Liquidation transfer in 111 : Liquidation transfer out 125 : ADL close long 126 : ADL close short 127 : ADL buy 128 : ADL sell 131 : ddh buy 132 : ddh sell 170 : Exercised 171 : Counterparty exercised 172 : Expired OTM 112 : Delivery long 113 : Delivery short 117 : Delivery/Exercise clawback 173 : Funding fee expense 174 : Funding fee income 200 :System transfer in 201 : Manually transfer in 202 : System transfer out 203 : Manually transfer out |
- Get Account Configuration Added enumeration value 4 for acctLv field
Parameter | Type | Description |
---|---|---|
uid | String | Account ID |
acctLv | String | Account level 1 : Simple 2 : Single-currency margin 3 : Multi-currency margin 4 :Portfolio margin |
- Get Candlesticks 、Get Candlesticks History、Get Index Candlesticks 、Get Mark Price Candlesticks Add enumeration value to the bar field, support to get UTC time zone k-line[/6Hutc/12Hutc/1Dutc/1Wutc/1Mutc/3Mutc/6Mutc/1Yutc]
Parameter | Type | Required | Description |
---|---|---|---|
bar | String | No | Bar size, the default is 1m e.g. [1m/3m/5m/15m/30m/1H/2H/4H] Hong Kong time opening price k-line:[6H/12H/1D/1W/1M/3M/6M/1Y] UTC time opening price k-line:[/6Hutc/12Hutc/1Dutc/1Wutc/1Mutc/3Mutc/6Mutc/1Yutc] |
- Index Candlesticks Channel Added UTC time zone k-line channel
Parameter | Type | Required | Description |
---|---|---|---|
> channel | String | Yes | Channel nameindex-candle1Y index-candle6M index-candle3M index-candle1M index-candle1W index-candle1D index-candle2D index-candle3D index-candle5D index-candle12H index-candle6H index-candle4H index -candle2H index-candle1H index-candle30m index-candle15m index-candle5m index-candle3m index-candle1m index-candle1Yutc index-candle3Mutc index-candle1Mutc index-candle1Wutc index-candle1Dutc index-candle2Dutc index-candle3Dutc index-candle5Dutc index-candle12Hutc index-candle6Hutc |
- Mark Price Candlesticks Channel Added UTC time zone k-line channel
Parameter | Type | Required | Description |
---|---|---|---|
> channel | String | Yes | Channel namemark-price-candle1Y mark-price-candle6M mark-price-candle3M mark-price-candle1M mark-price-candle1W mark-price-candle1D mark-price-candle2D mark-price-candle3D mark-price-candle5D mark-price-candle12H mark-price-candle6H mark-price-candle4H mark-price-candle2H mark-price-candle1H mark-price-candle30m mark-price-candle15m mark-price-candle5m mark-price-candle3m mark-price-candle1m mark-price-candle1Yutc mark-price-candle3Mutc mark-price-candle1Mutc mark-price-candle1Wutc mark-price-candle1Dutc mark-price-candle2Dutc mark-price-candle3Dutc mark-price-candle5Dutc mark-price-candle12Hutc mark-price-candle6Hutc |
- Candlesticks Channel Added UTC time zone k-line channel
Parameter | Type | Required | Description |
---|---|---|---|
channel | String | Yes | Channel namecandle1Y candle6M candle3M candle1M candle1W candle1D candle2D candle3D candle5D candle12H candle6H candle4H candle2H candle1H candle30m candle15m candle5m candle3m candle1m candle1Yutc candle3Mutc candle1Mutc candle1Wutc candle1Dutc candle2Dutc candle3Dutc candle5Dutc candle12Hutc candle6Hutc |
- Get Bills Details (last 7 days) Added the field execType
Parameter | Type | Description |
---|---|---|
execType | String | Liquidity taker or maker, T : taker M : maker |
- Get Bills Details (last 3 months) Added the field execType
Parameter | Type | Description |
---|---|---|
execType | String | Liquidity taker or maker, T : taker M : maker |
- Added new error codes
Error Message | HTTP Status Code | Error Code |
---|---|---|
The current account risk status only supports you to place IOC orders that can reduce the risk of your account. | 200 | 51037 |
There is already an IOC order under the current risk module that reduces the risk of the account. | 200 | 51038 |
Leverage cannot be adjusted for the cross positions of Futures and Perpetual swap under the PM account. | 200 | 51039 |
Cannot adjust margins for long isolated options positions | 200 | 51040 |
The current account mode does not support this API interface. | 200 | 51010 |
Portfolio margin account does not support ordType {0} in Trading bot mode | 200 | 51295 |
Portfolio margin account only supports net mode. | 200 | 51041 |
Failed to amend bulk orders. You cannot add duplicate batch orders in your Portfolio margin account. | 200 | 51512 |
No net long positions can be held under cross margin mode in options. | 200 | 51019 |
2021-10-19
- Get Positions Add the field markPx:
The return parameter adds the marked price field:
Parameter | Type | Description |
---|---|---|
markPx | String | Mark price |
- Positions Channel Add the field markPx:
The return parameter adds the marked price field :
Parameter | Type | Description |
---|---|---|
>markPx | String | Mark price |
2021-10-18
Get Maximum Withdrawals Support query with multiple currencies. Currencies should be separated by half-width commas and no more than 20.
Added new return fields to Get Currencies
Parameters | Types | Description |
---|---|---|
mainNet | Boolean | If current chain is main net then return true |
- Added new error codes
Error Message | HTTP Status Code | Error Code |
---|---|---|
No permission to use this API | 200 | 50030 |
Trigger orders are not available in the net mode of futures and perpetual swaps | 200 | 51298 |
Withdrawals suspended due to {chainName} maintenance | 200 | 58214 |
Only IDs with the same instrument type are supported | 200 | 59004 |
2021-10-15
Real Trading supported iceberg
order and twap
order.
- Adjusted request field in Place Algo Order:
before:
Parameter | Type | Required | Description |
---|---|---|---|
ordType | String | Yes | Order type conditional : One-way stop order oco : One-cancels-the-other ordertrigger : Trigger order |
after:
Parameter | Type | Required | Description |
---|---|---|---|
ordType | String | Yes | Order type conditional : One-way stop order oco : One-cancels-the-other ordertrigger : Trigger ordericeberg : Iceberg ordertwap : TWAP order |
Added new request fields:
Iceberg Order
Parameter | Type | Required | Description |
---|---|---|---|
pxVar | String | Conditional | Price variance Either pxVar or pxSpread is allowed to be passed. |
pxSpread | String | Conditional | Price ratio |
szLimit | String | Yes | Average amount |
pxLimit | String | Yes | Price Limit |
TWAP Order
Parameter | Type | Required | Description |
---|---|---|---|
pxVar | String | Conditional | Price variance Either pxVar or pxSpread is allowed to be passed. |
pxSpread | String | Conditional | Price ratio |
szLimit | String | Yes | Average amount |
pxLimit | String | Yes | Price Limit |
timeInterval | String | Yes | Time interval |
- Adjusted request field in Get Algo Order History、Get Algo Order List
before:
Parameter | Type | Required | Description |
---|---|---|---|
ordType | String | Yes | Order type conditional : One-way stop order oco : One-cancels-the-other ordertrigger : Trigger order |
after:
Parameter | Type | Required | Description |
---|---|---|---|
ordType | String | Yes | Order type conditional : One-way stop order oco : One-cancels-the-other ordertrigger : Trigger ordericeberg : Iceberg ordertwap : TWAP order |
Added new returned fields:
Parameter | Type | Description |
---|---|---|
pxVar | String | Price variance Only applicable to iceberg order or twap order |
pxSpread | String | Price Ratio Only applicable to iceberg order or twap order |
szLimit | String | Average amount Only applicable to iceberg order or twap order |
pxLimit | String | Price Limit Only applicable to iceberg order or twap order |
timeInterval | String | Time interval Only applicable to twap order |
Added interface: Cancel Advance Algo Order
Added new channel: Advance Algo Orders Channel
2021-10-14
- Added a new function module demo trading explorer
2021-10-12
- Get Maximum Available Tradable Amount and Get the maximum loan of instrument Support query with multiple instrument IDs(instId). Instrument IDs should be separated by half-width commas and no more than 5.
- Added endpoint: Get Funds Transfer State
2021-09-30
- Added endpoint: Lightning Deposits
- Added endpoint: Lightning Withdrawals
- Added new error codes
Error Message | HTTP Status Code | Error Code |
---|---|---|
Invoice expired. | 200 | 58351 |
Invalid invoice. | 200 | 58352 |
Deposit amount must be within limits. | 200 | 58353 |
You have reached the limit of 10,000 invoices per day. | 200 | 58354 |
Permission denied. Please contact your account manager. | 200 | 58355 |
The accounts of the same node do not support the Lightning network deposit or withdrawal. | 200 | 58356 |
2021-09-08
- Added new error codes
Error Message | HTTP Status Code | Error Code |
---|---|---|
The range of Price variance is {0}~{1} | 200 | 51282 |
The range of Time interval is {0}~{1} | 200 | 51283 |
The range of Average amount is {0}~{1} | 200 | 51284 |
The range of Total amount is {0}~{1} | 200 | 51285 |
The total amount should not be less than {0} | 200 | 51286 |
Contract not supported | 200 | 51287 |
We are stopping the Bot. Please do not click it multiple times | 200 | 51288 |
Bot configuration does not exist. Please try again later | 200 | 51289 |
The Bot engine is being upgraded. Please try again later | 200 | 51290 |
This Bot does not exist or has been stopped | 200 | 51291 |
This Bot type does not exist | 200 | 51292 |
This Bot does not exist | 200 | 51293 |
This Bot cannot be created temporarily. Please try again later | 200 | 51294 |
2021-09-07
- Get Leverage:
Support query with multiple instrument IDs(instId). Instrument IDs should be separated by half-width commas and no more than 20.
Parameter | Type | Required | Description |
---|---|---|---|
instId | String | No | Single instrument or multiple instruments (no more than 20) separated with comma. |
- Added interface: Get index components
2021-09-06
Demo Trading supported iceberg
order and twap
order.
- Adjusted request field in Place Algo Order:
before:
Parameter | Type | Required | Description |
---|---|---|---|
ordType | String | Yes | Order type conditional : One-way stop order oco : One-cancels-the-other ordertrigger : Trigger order |
after:
Parameter | Type | Required | Description |
---|---|---|---|
ordType | String | Yes | Order type conditional : One-way stop order oco : One-cancels-the-other ordertrigger : Trigger ordericeberg : Iceberg ordertwap : TWAP order |
Added new request fields:
Iceberg Order
Parameter | Type | Required | Description |
---|---|---|---|
pxVar | String | Conditional | Price variance Either pxVar or pxSpread is allowed to be passed. |
pxSpread | String | Conditional | Price ratio |
szLimit | String | Yes | Average amount |
pxLimit | String | Yes | Price Limit |
TWAP Order
Parameter | Type | Required | Description |
---|---|---|---|
pxVar | String | Conditional | Price variance Either pxVar or pxSpread is allowed to be passed. |
pxSpread | String | Conditional | Price ratio |
szLimit | String | Yes | Average amount |
pxLimit | String | Yes | Price Limit |
timeInterval | String | Yes | Time interval |
- Adjusted request field in Get Algo Order History、Get Algo Order List
before:
Parameter | Type | Required | Description |
---|---|---|---|
ordType | String | Yes | Order type conditional : One-way stop order oco : One-cancels-the-other ordertrigger : Trigger order |
after:
Parameter | Type | Required | Description |
---|---|---|---|
ordType | String | Yes | Order type conditional : One-way stop order oco : One-cancels-the-other ordertrigger : Trigger ordericeberg : Iceberg ordertwap : TWAP order |
Added new returned fields:
Parameter | Type | Description |
---|---|---|
pxVar | String | Price variance Only applicable to iceberg order or twap order |
pxSpread | String | Price Ratio Only applicable to iceberg order or twap order |
szLimit | String | Average amount Only applicable to iceberg order or twap order |
pxLimit | String | Price Limit Only applicable to iceberg order or twap order |
timeInterval | String | Time interval Only applicable to twap order |
Added interface: Cancel Advance Algo Order
Added new channel: Advance Algo Orders Channel
2021-09-03
- Added a new function module trading statistics function
2021-08-31
- Added new return fields
stgyEq
andisoUpl
to Get Balance - Added new fields
stgyEq
andisoUpl
to push data for Account Channel
Parameters | Types | Description |
---|---|---|
> stgyEq | String | strategy equity |
> isoUpl | String | Isolated unrealized profit and loss of the currency Applicable to Single-currency margin and Multi-currency margin |
2021-08-20
- Added a new request field
txId
to Get Withdrawal History, Get Deposit History
Parameter | Type | Required | Description |
---|---|---|---|
txId | String | No | Hash record of the deposit |
- Withdrawal supported universal address
2021-07-30
- Added a new request parameter
tgtCcy
for order placement:
Parameter | Type | Required | Description |
---|---|---|---|
tgtCcy | String | No | The number of transactions the typebase_ccy : Base currency ,quote_ccy : Quote currency Only applicable to SPOT |
- Added a new response parameter
tgtCcy
for order query:
Parameter | Type | Description |
---|---|---|
tgtCcy | String | The number of transactions the typebase_ccy : Base currency ,quote_ccy : Quote currency Only applicable to SPOT |
- Added a field
tgtCcy
to push data for WebSocket channel:
Parameter | Type | Description |
---|---|---|
tgtCcy | String | The number of transactions the typebase_ccy : Base currency ,quote_ccy : Quote currency Only applicable to SPOT |
- Added a new error code
59110
Error Message | HTTP Status Code | Error Code |
---|---|---|
The instrument type corresponding to this {0} does not support the tgtCcy parameter. | 200 | 59110 |
- Added a new error code
51281
Error Message | HTTP Status Code | Error Code |
---|---|---|
trigger not support the tgtCcy parameter. | 200 | 51281 |
2021-07-20
- Added endpoint: Get Transaction Details (last 3 months)
- Get Transaction Details (last 3 days) The transaction details endpoint will be modified from obtaining historical data of the past 3 months to historical data of the past 3 days.
- Added endpoint: Get Position Tiers
2021-07-08
- Added a new endpoint: Get PiggyBank balance
2021-06-15
- Added a new returned field
ctAddr
to Get Deposit Address
Parameter | Type | Description |
---|---|---|
ctAddr | String | Last 6 digits of contract address |
- Added a new returned field
chain
to Get Deposit Address, Withdrawal, Get Withdrawal History, Get Deposit History
Parameter | Type | Description |
---|---|---|
chain | String | Chain name There are multiple chains under some currencies, such as USDT has USDT-ERC20 , USDT-TRC20 . You have to make a distinction. |
Added a new request field chain
to Withdrawal
Parameter | Type | Required | Description |
---|---|---|---|
chain | String | Conditional | Chain name There are multiple chains under some currencies, such as USDT has USDT-ERC20 , USDT-TRC20 . You have to make a distinction.If the parameter is not filled in, the default will be the main chain. |
2021-06-11
- Added a new error code
55000
Error Message | HTTP Status Code | Error Code |
---|---|---|
Cannot be transferred out within 30 minutes after delivery. | 200 | 55000 |
- Get maximum buy/sell amount or open amount:
Support query with multiple instrument IDs(instId). Instrument IDs should be separated by half-width commas and no more than 5.
Parameter | Type | Required | Description |
---|---|---|---|
instId | String | No | Single instrument or multiple instruments (no more than 5) separated with comma, e.g. BTC-USDT-200802,ETH-USDT-200802 |
2021-06-08
- Adjusted returned fields in Master accounts manage the transfers between sub-accounts
before:
Parameter name | Type | Description |
---|---|---|
transferId | int | Transfer ID |
after:
Parameter name | Type | Description |
---|---|---|
transId | String | Transfer ID |
- Updated data type for error code
50011
before:
code | type | httpcode | msg |
---|---|---|---|
50011 | int | 429 | Requests too frequent. |
after:
code | type | httpcode | msg |
---|---|---|---|
50011 | String | 429 | Requests too frequent. |
- Get Positions: Support query with multiple instrument IDs(instId). Instrument IDs should be separated by half-width commas and no more than 5.
Parameter | Type | Required | Description |
---|---|---|---|
instType | String | No | Instrument typeMARGIN SWAP FUTURES OPTION instId will be checked against instType when both parameters are passed, and the position information of the instId will be returned. |
instId | String | No | Instrument ID, e.g. BTC-USD-190927-5000-C If there were a position under instId, it would return the position information even if its open interest is 0. Otherwise, it will return an empty value. |
posId | String | No | Single position ID or multiple position IDs (no more than 20) separated with comma |
- Added new fields to Order Channel
Parameter | Type | Description |
---|---|---|
> fillNotionalUsd | String | Filled notional value in USD of order |
> notionalUsd | String | Estimated national value in USD of order |
- Added new fields to Algo Orders Channel
Parameter | Type | Description |
---|---|---|
> notionalUsd | String | Estimated national value in USD of order |
2021-05-25
- Added new fields to Get Discount Rate And Interest-Free Quota
Parameter | Type | Description |
---|---|---|
discountInfo | Array | Detailed discount rate of a certain currency |
> discountRate | String | Discount rate |
> maxAmt | String | Upper limit of a tier (USD). "" means positive infinity. |
> minAmt | String | Lower limit of a tier (USD). The minimum value is 0. |
- Added Get the underlying index of derivatives: Get Underlying
- Added Get the public information interface of Margin interest rate and borrow limit: Get Interest Rate and Loan Quota
- Added enumeration value to
ordType
of Place Order,Place Multiple Orders,Place Order Channel,Place Multiple Orders Channel:optimal_limit_ioc
Parameter | Type | Description |
---|---|---|
ordType | String | Order typemarket : market orderlimit : limit orderpost_only : Post-only orderfok : Fill-or-kill orderioc : Immediate-or-cancel order optimal_limit_ioc : Market order with immediate-or-cancel order (applicable only to Futures and Perpetual swap). |
2021-05-18
- Get Balance, Get Sub-account Balance, Account Channel add new response parameters:
notionalUsd
(Notional value of positions inUSD
),notionalLever
(Leverage of the currency),eqUsd
(Equityusd
of the currency),maxLoan
(Max loan of the currency).
2021-05-12
- Adjusted fields in REST API Status:
begin
andend
timestamps changed from seconds to milliseconds.
2021-04-27
- Modified the
clOrdId
rules of the WebSocket transaction module interface WebSocket Trade
2021-04-21
- Added books50-l2-tbt with 50 depth levels books50-l2-tbt with 50 depth levels
- Added new fields to Get orders channel:
fillFee
(the fee of the last filled) ,fillFeeCcy
(the currency of the last filled),execType
(liquidity taker or maker of the last filled,T
: takerM
: maker ) - Added new fields to Get account configuration:
level
(fee tier), andlevelTmp
(trial fee tier) - Added an interface for obtaining position tiers of derivatives
- Added an on-chain transaction data interface
- Added an enumeration value
interest_deduction
ofeventType
to balance and position channel - Deleted
subType
109: liquidation fee in Get Bills Details (last 7 days) and Get Bills Details (last 3 months) - Add new response fields to Positions Channel and Get Positions:
Parameter | Type | Description |
---|---|---|
> deltaBS | String | delta:Black-Scholes Greeks in dollars, only applicable to OPTION |
> deltaPA | String | delta:Greeks in coins, only applicable to FUTURES 、SWAP 、OPTION |
> gammaBS | String | gamma:Black-Scholes Greeks in dollars, only applicable to OPTION |
> gammaPA | String | gamma:Greeks in coins, only applicable to OPTION |
> thetaBS | String | theta:Black-Scholes Greeks in dollars, only applicable to OPTION |
> thetaPA | String | theta:Greeks in coins, only applicable to OPTION |
> vegaBS | String | vega:Black-Scholes Greeks in dollars, only applicable to OPTION ` |
> vegaPA | String | vega:Greeks in coins, only applicable to OPTION |
2021-04-16
- Added endpoint: Get account and position risk
- Added new fields to Get Balance, Get Subaccount Balance, Account Channel:
cashBal
(balance of a certain currency), anduTime
(balance update time of a certain currency) - Added endpoint: Get interest rate
- Added endpoint: Get 24H Total Volume
2021-03-31
- Added new fields to Get Balance:
ordFroz
(position margin of cross pending orders converted to USD). - Added new fields to Query detailed balance info of Trading Account of a sub-account (applies to master accounts only):
ordFroz
(position margin of cross pending orders converted to USD). - Added new fields to Account Channel:
ordFroz
(position margin of cross pending orders converted to USD).
2021-03-24
- Added AWS domain name to Real market.
- Added domain name to Demo trading. The old domain name will be replaced by the new one.
2021-03-02
- Added Push channel: balance and position
2021-02-26
- Added new fields to Get Balance:
disEq
(equity of a certain currency converted to USD).
2021-02-05
Due to the logic change of discount rate calculation used to acquire the interest-free limit and discount rate will return parameters of discount level(discountLv)instead of discount rate(discount). For more info, please refer to Discount rate level introduction.
response before:
{ "code":"0", "msg":"", "data":[ { "ccy":"BTC", "amt" :"2" , "discount" :"0.8" } ] }
response after:
{ "code":"0", "msg":"", "data":[ { "ccy":"BTC", "amt" :"2" , "discountLv" :"1" } ] }
Added a new response field to Get Balance: uplLiab(liabilities due to Unrealized loss of the position).