Our trading fees are different for users of different tiers. Users are categorized into tiers by their assets under management and 30-day trading volumes. Fee tiers are updated daily.
Users of different fee tiers will enjoy different fee discount. For example, if a user’s 30-day trading volume is 100,000,001 SGD, this user will enjoy fee discounts of -0.010% for maker fee and 0.020% for taker fee.

Regular users
Tier
Lvl 1
Assets (SGD)
or
30-day trading volume (SGD)
0 - 20,000/0 - 100,000
Maker fee
0.100%
Taker fee
0.100%
24h crypto withdrawal limit (USD)
10,000,000
VIP users
Tier
VIP 1
VIP 2
VIP 3
VIP 4
VIP 5
VIP 6
VIP 7
VIP 8
Assets (SGD)
or
30-day trading volume (SGD)
20,001 - 50,000/100,001 - 250,000
50,001 - 100,000/250,001 - 500,000
100,001 - 200,000/500,001 - 1,000,000
200,001 - 500,000/1,000,001 - 5,000,000
500,001 - 1,000,000/5,000,001 - 10,000,000
1,000,001 - 2,000,000/10,000,001 - 20,000,000
2,000,001 - 10,000,000/20,000,001 - 100,000,000
10,000,001+/100,000,001+
Maker fee
0.090%
0.080%
0.060%
0.050%
0.000%
-0.005%
-0.010%
-0.010%
Taker fee
0.100%
0.090%
0.080%
0.060%
0.050%
0.040%
0.030%
0.020%
24h crypto withdrawal limit (USD)
24,000,000
32,000,000
40,000,000
48,000,000
60,000,000
72,000,000
80,000,000
80,000,000

30-day trading volume (SGD) is the total trading volume for the corresponding market

Trading fees rules
TypeDescription
Trading feesMin(Fee rate × Multiplier × Contract size × Number of contracts, 12.5% × Option premium × Multiplier × Contract size × Number of contracts)
Exercise feeMin(0.02% × Multiplier × Contract size × Number of contracts, Taker fee tier × Multiplier × Contract size × Number of contracts, 12.5% × Settlement value × Multiplier × Contract size × Number of contracts)
• Day options don’t have an exercise fee. Day options are options that don’t expire on Fridays.
• Only applicable to exercised options. Doesn’t apply to unexercised options.
Forced liquidation feeMin (User’s taker fee tier × Multiplier × Contract size × Number of contracts, 12.5% × mark price × Multiplier × Contract size × Number of contracts)
Liquidation penaltyMMR of the corresponding positions.
Options comboOptions combo trades on RFQ can enjoy up to 50% discount on fees!
For each underlying, trading fees are charged on legs from the side (buy or sell) with the higher notional.
Only legs that incur a trading fee are counted towards the 30-day trading volume of the corresponding instrument.
Trading fees examples
Assume multiplier is 0.01 for BTCUSD options, contract size is 1 BTC, option premium is 0.05 BTC.
Trader A (Maker fee: 0.02%; Taker fee: 0.03%) bought 100 contracts of call options (notional is 1 BTC):
If trader A is the taker when order is filled, the trading fee = Min(0.03% × 0.01 × 1 × 100, 12.5% × 0.05 × 0.01 × 1 × 100) = 0.0003 BTC
If trader A is the maker when order is filled, the trading fee = Min(0.02% × 0.01 × 1 × 100, 12.5% × 0.05 × 0.01 × 1 × 100) = 0.0002 BTC
Options combo examples
Combo tradesFees
Buy 3 BTC call, sell 2 BTC putFees are only charged on the buy 3 BTC call leg
Buy 3 BTC call, sell 2 ETH putFees charged on both options legs and total gross notional.
Buy 3 BTC call, sell 2 BTC put, buy 2 ETH call, sell 2 ETH putThe calculation method applies to the BTC structure and ETH structure separately. In this example, trading fee is charged on the buy 3 BTC leg and the buy 2 ETH leg.
Buy 3 BTC call, sell 2 BTC put, buy BTC Perp hedgeThe calculation method applies only to options. In this example, trading fee is charged on the buy 3 BTC leg and the buy BTC Perp hedge.
Main and sub-accounts fee tier
The fee tier of your main account is determined by the 30-day trading volume and snapshotted daily asset balance of all main and sub-accounts. Fee tier of your main account also applies to your sub-accounts at 4:00 pm UTC after the sub-accounts are created.
30-day trading volume (SGD)
Crypto pairs
Calculate your trading volume in BTC based on its current USD value. Daily, at 4:00 PM UTC, we convert your total trading volume to USD using the daily middle price of BTC/USD [Middle price of BTC/USD = (Opening price + Closing price) / 2]. We then determine your total spot trading volume over the past 30 days. For example, if you have traded BTC, ETH, and MATIC in the last 30 days, we convert each transaction to its BTC equivalent at the time of the trade (this includes trades in USDT, ETH, and other pairs). This amount is then converted to USD based on the daily middle price, and finally converted to SGD based on the exchange rate. Daily, at 4:00 PM UTC, we update this calculation to reflect your trading volume over the past 30 days.
SGD pairs
Transactions are recorded in SGD equivalents according to its price at the moment of trading. For example, you have traded USDT/SGD pair in the last 30 days. We recorded each trade in SGD equivalents at the moment when each trade happened. Each day at 4:00 PM UTC, we calculate your total trading volume in the last 30 days.
30-day trading volume (SGD)
Calculate your trading volume in BTC based on its current USD value. Daily, at 4:00 PM UTC, we convert your total trading volume to USD using the daily middle price of BTC/USD [Middle price of BTC/USD = (Opening price + Closing price) / 2], and finally converted to SGD based on the exchange rate. We then determine your total futures trading volume over the past 30 days.
For example, if you have traded BTC, ETH, and ETC crypto-margined futures in the last 30 days, we convert each transaction to its BTC equivalent at the time of the trade. This amount is then converted to USD based on the daily middle price, and finally converted to SGD based on the exchange rate. Daily, at 4:00 PM UTC, we update this calculation to reflect your trading volume over the past 30 days.
30-day trading volume (SGD)
Calculate your trading volume in BTC based on its current USD value. Daily, at 4:00 PM UTC, we convert your total trading volume to USD using the daily middle price of BTC/USD [Middle price of BTC/USD = (Opening price + Closing price) / 2], and finally converted to SGD based on the exchange rate. We then determine your total options trading volume over the past 30 days.
For example, if you have traded BTC and ETH options in the last 30 days, we convert volume of BTC and ETH to its BTC equivalent at the time of the trade. This amount is then converted to USD based on the daily middle price, and finally converted to SGD based on the exchange rate. Daily, at 4:00 PM UTC, we update this calculation to reflect your trading volume over the past 30 days.
30-day trading volume (SGD)
Calculate your trading volume in BTC based on its current USD value. Daily, at 4:00 PM UTC, we convert your total trading volume to USD using the daily middle price of BTC/USD [Middle price of BTC/USD = (Opening price + Closing price) / 2], and finally converted to SGD based on the exchange rate. We then determine your total spread trading volume over the past 30 days.
For example, if you have traded BTC and ETH options in the last 30 days, we convert volume of BTC and ETH to its BTC equivalent at the time of the trade. This amount is then converted to USD based on the daily middle price, and finally converted to SGD based on the exchange rate. Daily, at 4:00 PM UTC, we update this calculation to reflect your trading volume over the past 30 days.
A spread trade’s volume is calculated as the sum of all the individual legs. Volume of all spread combinations are treated the same. For example, 1 USD’s worth of spot-perpetual spread trade is treated the same as 1 USD’s worth of futures-futures spread trade.
Total asset balance
We take a snapshot of all of your crypto assets at 4:00 PM UTC daily and convert the value to BTC, then to USD based on the daily middle price of BTC/USD [Middle price of BTC/USD = (Opening price + Closing price) / 2]. The higher value between the past 30-day average asset amount and the daily snapshot is used as the user’s asset amount. Finally, the total amount is converted into SGD using the day’s exchange rate.
For example, if the 30-day average asset amount is 1,000 SGD and the snapshot at 16:00 UTC shows 500 SGD, the user’s asset amount will be 1,000 SGD.
Total assets include both your crypto and any fiat assets.
Makers and takers
Maker order is the limit order which enters into the order book before it can be traded in market. For example, if the current BTC lowest ask price is 1,000 USDT and you create a maker order with a bid price 999 USDT, this order cannot be filled immediately. Then it will enter into the order book until someone fills it. After filled, you’re required to pay the maker fee and taker will pay the taker fee.
Makers and takers
Maker order is the limit order entered into the order book before it can be traded in the market. For example, if the current BTC lowest ask price is 1,000 USDT and you create a maker order with a bid price 999 USDT, this order cannot be filled immediately. It will enter into the order book until someone fills it. After filled, you're required to pay the maker fee and the taker will pay the taker fee (or vice versa). You need to pay the taker fee when your limit ask order is traded successfully.
Trading fee rules
Calculating trading fees:
Fee for spot trading = Fee rate × Amount of crypto bought when order was filled.
Take USDT/SGD as an example, assuming the current price of USDT is 10 SGD. If trader A (0.04% for maker fee and 0.1% for taker fee) buys 1 USDT at the market price. As a taker in this trade, A’s trading fee = 0.1% × 1 = 0.001 USDT. After the trading fee deduction, A receives 0.999 USDT from this trade.
Conversely, if A sells 1 USDT at a limit price and buys 10 SGD, A is considered the maker in this trade. In this case, A’s trading fee = 0.04% × 10 = 0.004 SGD. After the trading fee deduction, A receives 9.996 SGD from this trade.
Trading fee rules for spreads
Calculation of trading fee for each leg: same calculation method applies for each corresponding instrument, with a 50% discount applied for all users.

For example, Trader A is trading a BTC spot vs USDT-margined perpetual spread.
The spread trading fee is derived by taking the sum of:
1. Spot trading fee rate at 50%, so Trading fee = 50% × Spot fee rate × Amount of bought or sold crypto
2. USDT-margined perpetual fee rate at 50%, so Trading fee = 50% × Perpetual fee rate × Number of contracts × Multiplier × Contract size × Fill price.
Trading fee rules
USDT-M perpetual and expiry, USDC-M perpetual and expiry
Calculation formula of trading fee: Trading fee = Fee rate × (Number of contracts × Multiplier × Face value per contract × Fill price).
Charge rule: Trading fee of USDT-M perpetual and expiry is settled in USDT, and trading fee of USDC-M perpetual and USDC-M expiry is settled in USDC, and is charged when the order is filled;
Take BTCUSDT perpetual futures (Face value is 0.01 BTC, Multiplier is 1) as an example, assuming the current price of BTC is 20,000 USDT;
Trader A (Maker fee: 0.02%; Taker fee: 0.05%) bought/sold 100 contracts (1 BTC) at market price with 10x leverage, and used 2,000 USDT (0.1 BTC) as margin. Trader A became a taker of this trade, so the Trading fee = 0.05% × (100 × 1 × 0.01 × 20,000) = 10 USDT;
Trader A bought/sold 100 contracts (1 BTC) at limit price with 10x leverage, and used 2,000 USDT (0.1 BTC) as margin. Trader A became a maker of this trade, so the Trading fee = 0.02% × (100 × 1 × 0.01 × 20,000) = 4 USDT.

Crypto-M perpetual and expiry
Calculation formula of trading fee: Trading fee = Fee rate × (Number of contracts × Multiplier × Face value per contract / Fill price).
Charge rule: Trading fee for Crypto-M perpetual and expiry is settled in the traded crypto and is charged when the order is filled;
Take BTCUSD perpetual futures (face value is 100 USD, Multiplier is 1) as an example, assuming the market price of BTC is 20,000 USD.
Trader A (Maker fee: 0.02%; Taker fee: 0.05%) buys and sells 100 contracts (10,000 USD) at market price with 10x leverage, and uses 0.05 BTC (1,000 USD) as margin. If Trader A is the taker of this trade, the trading fee = 0.05% × (100 × 1 × 100 / 20,000) = 0.00025 BTC;
Trader A buys or sells 100 contracts (10,000 USD) at limit price with 10x leverage, and uses 0.05 BTC (1,000 USD) as a margin. If Trader A is the maker of this trade, the trading fee = 0.02% × (100 × 1 × 100 / 20,000) = 0.0001 BTC.

Expiry settlement fee: 0.01% for all users regardless of tier level.
Forced liquidation fee: Calculated according to the taker fee of user’s current tier level.
Trading fee rules
Calculation formula of trading fee: Trading fee of options contract = Min(Fee rate × Multiplier × Contract size × Number of contracts, 12.5% × Option premium × Multiplier × Contract size × Number of contracts)
Take BTCUSD options (Multiplier is 0.01, Face value is 1 BTC, Option premium is 0.05 BTC) as an example.
Trader A (Maker fee: 0.02%; Taker fee: 0.03%) bought 100 contracts of call options (Nominal value is 1 BTC):
If trader A is the taker when order filled, the trading fee = Min(0.03% × 0.01 × 1 × 100, 12.5% × 0.05 × 0.01 × 1 × 100) = 0.0003 BTC;
If trader A is the maker when order filled, the trading fee = Min(0.02% × 0.01 × 1 × 100, 12.5% × 0.05 × 0.01 × 1 × 100) = 0.0002 BTC.
Option exercise fee: Exercise fee = Min(0.02% × Multiplier × Contract size × Number of contracts, Taker fee tier × Multiplier × Contract size × Number of contracts, 12.5% × Settlement value × Multiplier × Contract size × Number of contracts). Please note that 1-day options (not expire on Friday) do not have an exercise fee, and unexercised options are fee-free.
Forced liquidation fee: Forced liquidation fee = Min(Taker fee tier × Multiplier × Contract size × Number of contracts, 12.5% × Mark price × Multiplier × Contract size × Number of contracts).
24h crypto withdrawal limit (USD)
User’s 24-hour withdrawal limit is calculated daily at 4:00 PM UTC based on the fee level. All crypto held by the user will be converted to USD, and the total converted amount must not exceed the withdrawal limit of the corresponding level.
For example. Your 24-hour withdrawal limit is 300 USD. After withdrawing 250 USDT, 25 USD equivalent in OMG, and 15 USD equivalent in XRP, you used 290 USD of the withdrawal limit, leaving 10 USD remaining within 24 hours. If you want to withdraw 20 USD equivalent in XRP, which exceeds 10 USD limit, you can’t withdraw until the next day. Alternatively, you can contact our customer support to increase your limit tentatively.
Withdrawal limit is different under different identity verification levels. View details
Daily update time of trading fee
OKX updates the latest level of user’s trading fee at 8:00 - 10:00 PM UTC
Disclaimer
OKX’s fees may vary depending on your region. Find out the fees applicable to you here.