If you've ever written a backtest or a fee-aware order router for Binance or OKX, you've hit this wall: the exchanges publish their fee schedules as HTML tables that change without notice, and there's no clean machine-readable source. So you end up hardcoding 0.0004 somewhere and forgetting about it until your live PnL doesn't match your sim.
I got tired of that, so I open-sourced the whole thing.
The repo
github.com/jack0752168/crypto-exchange-fee-data (MIT)
Every VIP tier for Binance (spot + USD-M futures) and OKX (futures), maker/taker, as JSON — plus the qualification rules and a small CLI calculator. No dependencies, stdlib only.
{
"tier": "VIP 2",
"futures_vol_min_usd": 75000000,
"maker": 0.0140,
"taker": 0.0350
}
Rates are in percent (so 0.0140 means 0.014%, i.e. 1.4 bps), which is the unit the exchanges themselves print. Pick whichever convention you want, just be consistent — mixing percent and fraction is the #1 fee bug I see.
The part most people get wrong
Your real per-trade cost isn't one number. It's a stack:
effective_fee = base_rate(VIP tier) x token_discount x (1 - rebate_share)
Three independent levers:
- VIP tier sets the base rate. On Binance it's gated on 30-day volume plus a BNB-balance floor, recalculated daily at 00:00 UTC on a rolling window — so your tier can silently drop overnight. On OKX it's the better of 30-day volume or assets held, which means a high-balance/low-frequency account can sit at a tier it would never reach on volume alone.
- Token discount — paying fees in BNB knocks 25% off spot / 10% off futures. OKB is woven into OKX's tier qualification instead of a flat toggle.
- Rebate — an affiliate/sub-broker partner can pass back a slice of the fee. This one is multiplicative on top of the other two and most people leave it on the table.
The calculator models all three:
python3 calculator.py --exchange binance --market futures \
--volume 10_000_000 --maker-share 0.7 --rebate 0.4
Binance futures — tier Regular (maker 0.02% / taker 0.05%)
Blended rate: 0.0290%
Gross monthly fee on $10,000,000: $2,900.00
After 40% rebate: $1,740.00 (rebate back: $1,160.00)
A worked detail that surprises people: at $10M/month futures, Binance is still Regular tier (its futures gate is $15M) while OKX already auto-qualifies VIP 2 ($10M gate). Same volume, different base rate — your fee model has to branch per-exchange, not share one tier table.
Why I care about this number
I run JackTrader, an independent fee-rebate channel for Binance and OKX (not affiliated with either — I'm a sub-broker partner). The repo is the same data I use to reconcile rebate statements, so it's in my interest to keep it accurate. If you want the deep-dive write-ups, the tier mechanics are here:
- Binance VIP fee tiers 2026 — the full breakdown
- OKX VIP fee tiers 2026 — the assets-OR-volume rule
- How a sub-broker rebate actually works (no keys, no custody)
Contributions welcome
If you spot a stale rate — exchanges revise these a few times a year — open a PR against the JSON and I'll merge it. The whole point is one source of truth the community can keep current instead of everyone hardcoding their own.
Star the repo if it saves you a fee bug: github.com/jack0752168/crypto-exchange-fee-data
Disclaimer: fee schedules change; always confirm against the exchange's own page before trading. "Up to 40%" rebate is a maximum reference, not a guarantee, and depends on platform policy and account status. Nothing here is investment advice.
Top comments (0)