Trading Fee Rules FAQ

Published on Mar 22, 2024Updated on Apr 25, 202414 min read47

1. When will the maker and taker fees occur? What is the difference between maker and taker fees?

A taker order occurs when you place a trade that is immediately filled against an order already on the order book. Taker orders incur a fee based on the taker fee rate.

A maker order happens when you place an order that goes on the order book with a set price and quantity, such as a limit order that sits on the book until matched.

Maker orders are charged a fee based on the maker fee rate. Maker orders add to the order book’s liquidity, providing more depth to the market. In contrast, taker orders remove liquidity by filling orders on the order book, reducing market depth. To incentivize liquidity provision by makers, maker fees are typically lower than taker fees. For detailed rules, you can read more about our trading fee schedule.

2. How do I check my current fee rates and what are the fee rates for different levels?

You can log in to your account on our website and go to Assets > My trading fees. You can refer to My fee tier for your current fee tier level and the trading fee schedule, which includes the fee rates for each instrument and trading pair.

CT-web-asset dropdown-my trading fees

Open my trading fees page

CT-web-trading fee-view tier level

Find your current fee tier level and the fee rate for the different levels at My trading fees

Alternatively, you can log in to your account on our app and go to User center > Profile and settings > Profile > Trading fee tier. You can refer to My fee tier for your current fee tier and the trading fee schedule, which includes the fee rates for each instrument and trading pair.

CT-app-homepage-user menu

Open user menu from homepage

CT-app-user center-profile-trading fee tier

Open trading fee tier page to view the trading fee details

3. How do I check the current fee rate for a specific pair on the trading page?

You can go to our trading page and search for the trading pairs that you want. You can find the fee rates of the current trading pair on Fees in the Order placement panel.

CT-web-trading page-view trading fee tier level

You can find the current maker and taker fee on our trading page

Alternatively, you can log in to your account on our app then go to Trade, and select More and Fee rules to find out the fee level and fee rate for the current pair.

CT-app-trading-view trading fee info

Select Fee rules to view more about your current fee tier and rules

4. How do I check the fees for my historical orders?

You can find the fees for your historical orders on the web in the following sections:

  • From Trading page > Order history

    • Go to our trading page and select Order history. You will see the amount of the fee applied.

      CT-web-trading history-view trading fee

      Find the fee amount in your order history

    • If you would like to check out how the fee is calculated, you can select Details and hover over the Fee.

      CT-web-trading-transaction details-view trading rules

      Select details to find out how the fee is calculated

  • From Order center > Order history

    • Go to our Order center and select Order history. You will see the amount of the fee applied.

      CT-web-asset dropdown-Order center

      Opening Order center page

    • If you would like to check out how the fee is calculated, you can select Details and hover over the Fee.

      CT-web-order center-transaction details-view trading rules

      Select details to find out how the fee is calculated

Alternatively, you can find the fees for your historical orders in our app by going to Trade, selecting My trades, and find Order history.

CT-app-trading-view transaction history

Open your transaction history page

Select the transaction history that you want to view, and you will find the amount of the fee applied at Fill details.

CT-app-trading-transaction details-view trading fee

Find the fee that has been applied on the past transaction

If you would like to check out how the fee is calculated, you can select the fee amount and you will be able to view the fee details.

CT-app-trading-transaction details-view trading rules

View how your trading fee is calculated

5. How is my trading fee level determined?

You can enhance your fee levels by increasing asset amount, trading volume, or OKB holdings.

Based on trading volume, users are categorized into regular and VIP levels. Regular users are classified by their OKB holdings, while VIP users are classified based on the asset amount and trading volume over the past 30 days. Different levels determine the trading fees for the next trading day.

When calculating the fee level, if your spot trading volume, total volume of perpetual and expiry futures (USDT perpetual futures, USDT expiry futures, USDC perpetual futures, USDC expiry futures, crypto-margined perpetual futures, and crypto-margined expiry futures), option trading volume, spreads trading volume, and the asset amount, meet the conditions for different fee levels, you will enjoy the highest level of fee benefits, i.e., the most favorable fee rate.

For example, if a user’s last 30-day spot trading volume is 10,000,000 USD (meeting VIP 2), the total trading volume for perpetual and expiry futures in the last 30 days is 200,000,000 USD (meeting VIP 3), the last 30-day options trading volume is 5,000,000 USD (meeting VIP 1), the last 30-day spreads trading volume is 150,000,000 USD (meeting VIP 2), and the asset amount at the 0:00 (UTC+8) snapshot on the current day is 5,000,000 USD (meeting VIP 4), then the user enjoys the VIP 4 fee level, and all trading across instruments can enjoy the VIP 4 fee benefits.

6. How is the trading fee calculated?

Instruments

Calculation formulas of trading fees

Spot/Margin

Trading fee of Spot/Margin = Fee rate × Amount of bought or sold crypto when order filled.

Charge rule of crypto: Fee = Fee rate × Amount of bought crypto when order was filled;

Take BTC/USDT spot as an example, assuming the current price of BTC is 20,000 USDT;

Trader A (Maker fee: 0.08%; Taker fee: 0.1%) bought 1 BTC at market price, and became a taker of this trade, so the Trading fee = 0.1% × 1 = 0.001 BTC, and A will receive 0.999 BTC after fee deducted;

Trader A sold 1 BTC at limit price, and received 20,000 USDT. Trader A became a maker of this trade, so the Trading fee = 0.08% × 20,000 = 16 USDT, and A will receive 19,984 USDT after fee deducted.

Trading fee rebate rule: Fee = Fee rate × Amount of sold crypto when order was filled;

Take BTC/USDT spot as an example, assuming the current price of BTC is 20,000 USDT;

Trader A (Maker fee: -0.002%; Taker fee: 0.025%) sold 1 BTC at limit price, and became a maker of this trade, so the Trading fee rebated to A = 0.002% × 1 = 0.00002 BTC;

Trader A bought 1 BTC with a limit order, and received 20,000 USDT. Trader A became a maker of this trade, so the Trading fee rebated to A = 0.002% × 1 × 20,000 = 0.4 USDT;

Futures

Trading fee of USDT-margined and USDC-margined perpetual and expiry futures = Fee rate × (Number of contracts × Multiplier × Contract size × Fill price).

Charge rule: Trading fee of USDT-margined perpetual futures is settled in USDT and is charged when the order is filled;

Take BTCUSDT perpetual futures (Contract size 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.

Trading fee of Crypto-margined perpetual and expiry futures = Fee rate × (Number of contracts × Multiplier × Face value per contract / Fill price).

Charge rule: Trading fee for Crypto-margined perpetual and expiry futures is settled in the traded crypto and is charged when the order is filled;

Take BTCUSD perpetual futures (Contract size 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%) bought/sold 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 bought/sold 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.

Forced liquidation fee: Calculated according to the taker fee of user’s current tier level.

Expiry settlement fee: 0.01% for all users regardless of tier level.

Options

Trading fee of options = 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, Contract size 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 (notional is 1 BTC):

If trader A is the taker when order filled, so 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, so the Trading fee = Min(0.02% × 0.01 × 1 × 100, 12.5% × 0.05 × 0.01 × 1 × 100) = 0.0002 BTC.

Exercise fee = Min(0.02% × Multiplier × Contract size × Number of contracts, User’s taker fee rate × 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 fee = Min(User’s taker fee rate × Multiplier × Contract size × Number of contracts, 12.5% × mark price × Multiplier × Contract size × Number of contracts)

Options combo trades on RFQ can enjoy up to 50% discount on fees!

For each underlying asset, 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.

Spreads

Each instrument’s fee rate is 50% off from its classic order book rate as shown in the fee tier.

For more details, please visit: https://www.okx.com/fees

7. What’s the difference between futures opening and closing fees?

Fees are charged when an order is executed. There is no difference between the fees for opening or closing positions. Fees are collected based on the executed size of the order, corresponding to either the taker or maker fee.

8. Are fees charged for liquidation?

Forced liquidation fees are charged according to the taker fee rate of your current level.

9. Why is there a discrepancy between the profit when holding a position and after closing it?

For futures and options trading, the realized profit after closing a position is the net profit after deducting trading and funding fees. The difference between the profit when holding and after closing a position is due to these trading and funding fees.

For example, in a BTCUSDT perpetual contract, if your current position value is 20,000 USDT with a floating profit of 15 USDT, the opened trading fee is -4 USDT, the closed trading fee is -5 USDT, and the funding fee is -1 USDT. After closing the position, your realized profit will be 5 USDT (= 15 USDT – 4 USDT – 5 USDT – 1 USDT).

For margin trading, only the closed profit is recorded, without realized profit, so the profit when holding and after closing the position remains consistent.

10. Why are the profits from historical orders and historical positions inconsistent?

For futures and options trading, the realized profits in historical positions include closed profits, funding fees, and trading fees, whereas the profits from historical orders only include closed profits. For example, after closing the following position:

From the historical orders list, the opened and closed trading fees are both -0.03 USDT, and the closed profit is +0.46 USDT.

CT-web-futures and options trading-realized PnL and fee

Find the trading fees of your order history

From the historical positions list, the realized profit for this position includes a closed profit of +0.46 USDT. The funding fee is 0, and the trading fee is -0.06 USDT (= Opened trading fee + Closed trading fee), so the total realized profit is +0.40 USDT (= Closed profit + Funding fee + Trading fee).

CT-web-futures and options trading-realized PnL details

Find the realized PnL details by hovering over to PNL%

For margin trading, only the closed PnL is recorded, without realized profit, hence the earnings in historical orders and historical positions are consistent.

CT-web-margin trading-realized PnL details

Find the explanation of the PnL for margin trading by hovering over the PnL field in your position history