Check this first: you were the taker

The most common cause and the largest gap — on futures the taker rate is typically two to three times the maker rate.

A limit order is not automatically a maker order. If your limit price has already crossed the best opposing quote, it **fills immediately and is charged as a taker**. Guaranteeing maker treatment requires a post-only order, which cancels rather than fills when it would cross.

To check: read the maker/taker flag on each fill in your trade history, not the order type you submitted. People who believe they are 80% maker frequently find they are 30%.

Your VIP tier is not the one you remember

Volume is measured over a **rolling 30 days**, not a calendar month. The tier you reached last month can lapse early this month, and the downgrade is rarely announced loudly.

Most venues also weigh asset balance alongside volume, and OKX counts token holdings too. Two accounts with identical volume sitting at different tiers is normal, not a bug.

Read the tier from your account page rather than from memory.

The token discount stopped when the balance ran out

If you opted to pay fees in the platform token, the discount ends the moment the balance is exhausted. Fees then come straight out of margin at the undiscounted rate.

What makes this hard to spot is that nothing fails — it just quietly gets more expensive. Check the balance and whether the option is still enabled.

A promotional rate expired

New-user reductions, promotional rates on specific contracts, limited campaigns — all of them end, and the standard schedule resumes when they do.

If your cost stepped up on a particular date, start by finding out what ended that day.

You are reading the wrong schedule

USDT-margined, coin-margined, dated futures and options can each carry their own fee table, and spot is a different table again.

Trading several products from one account while estimating from one schedule produces a wrong number. Confirm the page you are reading covers the product you actually traded.

Two costs that are not on the fee page at all

Strictly neither is a fee, but both come out of the same money.

**Funding.** For anything held overnight this frequently matters more to total cost than trading fees do. The exchange takes no cut of it — it is a transfer between longs and shorts — but it leaves your margin all the same.

**Slippage.** The gap between the price you saw and the price a market order filled at. In thin contracts or violent markets it can dwarf the fee.

The order to check in

  • Pull the trade history and count the actual maker/taker split
  • Confirm the current tier and what determines it
  • Check the token balance and whether the discount is still switched on
  • Identify when the cost stepped up and what ended that day
  • Confirm the schedule you are comparing against covers your product
  • Account for funding and slippage separately rather than folding them into "fees"

Work out the real number

The published rate is where the calculation starts, not where it ends. Real cost is rate times volume, and the rate depends on your tier, your maker share and your token strategy.

The calculator puts those variables together and reports annual cost per venue:

Your account page is authoritative for the rate that actually applies.