NAV
Java Python Go C++

Upcoming Changes

OKX trading fee scheme update

Last updated: 2025/11/3

OKX will update the trading fee scheme for improved fee differentiation across tiers. Please refer to the announcement for more details.

Instruments endpoint/channel

Response Parameters

Parameter Type Description
groupId String Instrument trading fee group ID
Spot:
1: Spot USDT
2: Spot USDC & Crypto
3: Spot TRY
4: Spot EUR
5: Spot BRL
7: Spot AED
8: Spot AUD
9: Spot USD
10: Spot SGD
11: Spot zero
12: Spot group one
13: Spot group two
14: Spot group three

Expiry futures:
1: Expiry futures crypto-margined
2: Expiry futures USDT-margined
3: Expiry futures USDC-margined
4: Expiry futures premarket
5: Expiry futures group one
6: Expiry futures group two

Perpetual futures:
1: Perpetual futures crypto-margined
2: Perpetual futures USDT-margined
3: Perpetual futures USDC-margined
4: Perpetual futures group one
5: Perpetual futures group two

Options:
1: Options crypto-margined
2: Options USDC-margined

instType and groupId should be used together to determine a trading fee group. Users should use this endpoint together with fee rates endpoint to get the trading fee of a specific symbol.

Some enum values may not apply to you; the actual return values shall prevail.

Response Example

{
    "code":"0",
    "msg":"",
    "data":[
      {
            "alias": "",
            "auctionEndTime": "",
            "baseCcy": "BTC",
            "category": "1",
            "ctMult": "",
            "ctType": "",
            "ctVal": "",
            "ctValCcy": "",
            "contTdSwTime": "1704876947000",
            "expTime": "",
            "futureSettlement": false,
            "groupId": "13"
            "instFamily": "",
            "instId": "BTC-USDT",
            "instType": "SPOT",
            "lever": "10",
            "listTime": "1606468572000",
            "lotSz": "0.00000001",
            "maxIcebergSz": "9999999999.0000000000000000",
            "maxLmtAmt": "1000000",
            "maxLmtSz": "9999999999",
            "maxMktAmt": "1000000",
            "maxMktSz": "",
            "maxStopSz": "",
            "maxTriggerSz": "9999999999.0000000000000000",
            "maxTwapSz": "9999999999.0000000000000000",
            "minSz": "0.00001",
            "optType": "",
            "openType": "call_auction",
            "preMktSwTime": "",
            "quoteCcy": "USDT",
            "tradeQuoteCcyList": [
                "USDT"
            ],
            "settleCcy": "",
            "state": "live",
            "ruleType": "normal",
            "stk": "",
            "tickSz": "0.1",
            "uly": "",
            "instIdCode": 1000000000
        }
    ]
}

Get fee rates endpoint

Response Parameters

Parameter Type Description
feeGroup Array of objects Fee groups.
Applicable to SPOT/MARGIN/SWAP/FUTURES/OPTION
> taker String Taker fee
> maker String Maker fee
> groupId String Instrument trading fee group ID

instType and groupId should be used together to determine a trading fee group. Users should use this endpoint together with instruments endpoint to get the trading fee of a specific symbol.

Response Example

{
  "code": "0",
  "msg": "",
  "data": [{
    "category": "1", //Deprecated
    "delivery": "",
    "exercise": "",
    "feeGroup": [
        {
            "taker": "0.001",
            "maker": "0.0001",
            "groupId": "1"
        },
        {
            "taker": "0.01",
            "maker": "0.001",
            "groupId": "2"
        },
        {
            "taker": "0.1",
            "maker": "0.01",
            "groupId": "3"
        },
        ......
    ],
    "instType": "SPOT",
    "level": "lv1",
    "maker": "-0.0008", //Deprecated
    "makerU": "", //Deprecated
    "makerUSDC": "", //Deprecated
    "taker": "-0.001", //Deprecated
    "takerU": "", //Deprecated
    "takerUSDC": "", //Deprecated
    "ruleType": "normal",
    "ts": "1608623351857",
    "fiat": []
  }
  ]
}

2026-04-07

Trading Fee Tier Requirement Changes

Endpoint or Channel Before After (Current) Error Code Change
SBE trades channel and books-l2-tbt channel >= VIP6 >= VIP4 64003 unchanged
JSON books-l2-tbt channel >= VIP6 >= VIP4 60029 → 64003
JSON books50-l2-tbt channel >= VIP5 >= VIP4 60030 → 64003
JSON fills channel >= VIP6 >= VIP4 60029 → 64003

Deprecate instId Request Parameter in WS Order Operation Channels [2026-04-07-deprecate-instid-in-ws-order-channels]

To reduce latency in WS order operations, the instId request parameter from the following order operation channels has been deprecated.

Request Parameters

Parameter Type Required Description
instId String - Instrument ID
Deprecated, will be ignored

Note: You can use the Get instruments endpoint to map instIdCode to instId.

2026-03-26

Request Parameters

Parameter Type Required Description
instId String - Instrument ID
Delisted. Any value provided will be ignored.

Note: Users can use the Get instruments interface to map instIdCode to instId.

2026-02-12

Parameter Type Description
instCategory String The category of the instrument’s base currency (the first part of the instrument ID). For example, for BTC-USDT-SWAP, the instCategory refers to the category of BTC.
1: Crypto

2025-11-20

Request Parameter Name Type Required Description
> instIdCode Integer Conditional Instrument ID code.
If both instId and instIdCode are provided, instIdCode takes precedence.
> instId String Conditional Instrument ID
Will be deprecated on March 2026.

Note: You can use the Get instruments interface to map instIdCode to instId.

2025-08-20

Unified USD orderbook revamp

To revamp unified USD orderbook, more details for the first type users, more details for the second type users. OKX delisted the Crypto-USDC trading pairs and upgrade the Crypto-USD trading pairs for accessibility to all users.

Users are categorized into two types based on their country or region, with varying solutions for each. If you get valid data from GET /api/v5/account/instruments?instType=SPOT&instId=BTC-USD, you belong to the first type users, if you get an empty array [] data from that URL, you belong to the second type.

Example 1: Placing an order with BTC-USDC:

Type Before upgrading After upgrading
Operation Trading BTC-USDC Trading BTC-USDC
Request fields for "op": "order" First option:
{
     "instId": "BTC-USDC",
     "tradeQuoteCcy": ""
}

Second option:
{
    "instId": "BTC-USD",
    "tradeQuoteCcy": "USDC"
}
Only option:
{
    "instId": "BTC-USD",
    "tradeQuoteCcy": "USDC"
}
Response body from
Get instruments (private)
[
    {
         "instId": "BTC-USDC",
         "tradeQuoteCcyList": ["USDC"],
         ......
    },
    {
         "instId": "BTC-USD",
         "tradeQuoteCcyList": ["USD", "USDC"],
         ......
    }
]
[
{
         "instId": "BTC-USD",
         "tradeQuoteCcyList": ["USD", "USDC"],
         ......
    }
]

2025-07-02

Parameter Type Description
notes String Notes

2025-04-17

Error code Error Message
59515 You are currently not on the custody whitelist. Please contact customer service for assistance.
59516 Please create the Copper custody funding account first.
59517 Please create the Komainu custody funding account first.
59518 You can’t create a sub-account using the API; please use the app or web.
59519 You can’t use this function/feature while it's frozen, due to: {freezereason}

2025-03-03

Withdrawal API adjustment for Turkey entity users

Due to compliance requirements, Bahamas entity users need to pass in the field rcvrInfo when making withdrawal.

Withdraw assets to the exchange wallet

If users withdraw assets to the exchange wallet, they need to provide exchange info & recipient information.

Withdraw assets to the private wallet

If users withdraw assets to the private wallet, they need to provide recipient information.

2025-02-12

Parameter Type Description
notionalUsdForBorrow String Notional value for Borrow in USD
Applicable to Spot mode/Multi-currency margin/Portfolio margin
notionalUsdForSwap String Notional value of positions for Perpetual Futures in USD
Applicable to Multi-currency margin/Portfolio margin
notionalUsdForFutures String Notional value of positions for Expiry Futures in USD
Applicable to Multi-currency margin/Portfolio margin
notionalUsdForOption String Notional value of positions for Option in USD
Applicable to Spot mode/Multi-currency margin/Portfolio margin

2024-11-14

Before

Parameter Type Description
minFee String The minimum withdrawal fee for normal address
Apply to on-chain withdrawal
maxFee String The maximum withdrawal fee for normal address
Apply to on-chain withdrawal
minFeeForCtAddr String The minimum withdrawal fee for contract address
Apply to on-chain withdrawal
maxFeeForCtAddr String The maximum withdrawal fee for contract address
Apply to on-chain withdrawal

After

Parameter Type Description
fee String The fixed withdrawal fee
Apply to on-chain withdrawal
minFee String The minimum withdrawal fee for normal address
Apply to on-chain withdrawal

(Deprecated)
maxFee String The maximum withdrawal fee for normal address
Apply to on-chain withdrawal

(Deprecated)
minFeeForCtAddr String The minimum withdrawal fee for contract address
Apply to on-chain withdrawal

(Deprecated)
maxFeeForCtAddr String The maximum withdrawal fee for contract address
Apply to on-chain withdrawal

(Deprecated)

2024-10-10

Parameter Type Description
burningFeeRate String Burning fee rate, e.g "0.05" represents "5%".
Some currencies may charge combustion fees. The burning fee is deducted based on the withdrawal quantity (excluding gas fee) multiplied by the burning fee rate.
Apply to on-chain withdrawal
Parameter Type Description
burningFeeRate String Burning fee rate, e.g "0.05" represents "5%".
Some currencies may charge combustion fees. The burning fee is deducted based on the withdrawal quantity (excluding gas fee) multiplied by the burning fee rate.
feeCcy String Fixed withdrawal fee unit

2024-10-04

2024-10-01

2024-09-19

Parameter Type Description
enableSpotBorrow Boolean Whether borrow is allowed or not in Spot mode
true: Enabled
false: Disabled
spotBorrowAutoRepay Boolean Whether auto-repay is allowed or not in Spot mode
true: Enabled
false: Disabled
Parameter Type Description
ccy String Currency
Parameter Type Description
isTradeBorrowMode String Whether borrowing currency automatically
true
false
Only applicable to trigger order, trailing order and twap order

2024-09-18