If you have ever built a trading bot, a portfolio tracker or a "which exchange is cheapest" page, you have probably copied fee numbers from somewhere. The problem is that "somewhere" is usually a blog post that was right a year ago.
The quiet change problem
Exchanges change fee schedules without much noise. A recent example: on 9 July 2026 Kraken Pro moved to cross-platform fee tiers. Tier-1 spot is now 0.40% maker / 0.80% taker. Plenty of comparison pages still say 0.25% / 0.40%. If your bot or your article uses the old number, every cost estimate built on it is off by a factor of two.
The fix is boring: read the official fee page, write down what it says, and write down when you read it.
An open dataset that does exactly that
crypto-exchange-fees is a small, open dataset of base-tier maker/taker fees for 15 exchanges (Binance, OKX, Bybit, Bitget, Kraken, Hyperliquid, dYdX, Deribit, Gate, HTX, KuCoin, Backpack and more). Each row has:
- spot and perpetual maker/taker fees in percent
- the official source URL it was read from
- the date it was read
-
unverifiablewhen the official page showed no base-tier table, instead of a guess
It ships as JSON and CSV under CC BY 4.0.
import json, urllib.request
url = "https://raw.githubusercontent.com/BestBerlin/crypto-exchange-fees/main/data/exchanges.json"
data = json.load(urllib.request.urlopen(url))
rows = [e for e in data["exchanges"] if e["fees"]["perp"]["taker_pct"] is not None]
for e in sorted(rows, key=lambda e: e["fees"]["perp"]["taker_pct"])[:5]:
print(e["name"], e["fees"]["perp"]["taker_pct"], e["verified_on"])
At the time of writing, the lowest base-tier perpetual taker fees in the set are Deribit (0.035%) and Hyperliquid (0.045%); most large CEXs sit at 0.05%–0.06%.
Ask your AI assistant instead
The repo also includes an MCP server, so Claude, Cursor or any MCP client can answer fee questions from the dataset rather than from training data:
{
"mcpServers": {
"crypto-exchange-fees": {
"command": "uvx",
"args": ["--from", "git+https://github.com/BestBerlin/crypto-exchange-fees", "crypto-exchange-fees-mcp"]
}
}
}
Tools: list_exchanges, get_exchange_fees, compare_fees, cheapest, estimate_trading_cost. Every answer carries the official source and date. It is also listed in the official MCP Registry as io.github.BestBerlin/crypto-exchange-fees.
Limits
These are base-tier fees only: no VIP tiers, no token discounts, no spread, slippage or funding. Fees can differ by region and pair. Always confirm on the exchange's own page before trading.
Corrections with an official link are welcome as issues or PRs. The data is compiled by NexuAlpha, which compares exchange fees, account conditions and security controls.
Top comments (0)