Crypto Exchange Fees

Base-tier maker/taker trading fees for 15 crypto exchanges, each read from the official fee page with source URL and date. Compare exchanges, rank the cheapest and estimate trading cost. No API key.

Documentation

Crypto Exchange Fees

Base-tier maker/taker trading fees for major crypto exchanges (CEX, DEX and perp DEX), each figure read from the exchange's own fee page and dated. No estimates: a value an official page does not state is left empty.

  • Machine-readable: data/exchanges.json · data/exchanges.csv
  • Fees are percent of notional at the lowest (regular user) tier, before token discounts (e.g. BNB) and before any VIP tier.
  • Every row links to the official source it was read from.

Data as of 2026-11-07.

ExchangeTypeSpot makerSpot takerPerp makerPerp takerVerifiedSource
BackpackCEX0.08%0.1%0.02%0.05%2026-11-07official
BinanceCEX0.1%0.1%0.02%0.05%2026-11-07official
BitgetCEX0.1%0.1%0.02%0.06%2026-11-07official
BybitCEX0.1%0.1%0.02%0.055%2026-11-07official
DeribitCEX0.02%0.05%0.015%0.035%2026-10-10official
dYdXPerp DEX——0.01%0.05%2026-10-10official
GateCEX0.1%0.1%0.02%0.05%2026-11-07official
HTXCEX0.2%0.2%0.02%0.06%2026-11-07official
HyperliquidPerp DEX0.04%0.07%0.015%0.045%2026-11-07official
KrakenCEX0.4%0.8%0.02%0.05%2026-11-07official
KuCoinCEX——0.02%0.06%2026-10-10official
OKXCEX0.08%0.1%0.02%0.05%2026-11-07official
UniswapDEX————2026-10-08official
CoinbaseCEX————unverifiable (2026-10-08)official
MEXCCEX————unverifiable (2026-11-07)official

Why this exists

Fee schedules change quietly. Many comparison pages still quote numbers that the exchanges have since replaced (for example, Kraken Pro moved to cross-platform tiers on 2026-07-09 and its tier-1 spot rate is now 0.40% / 0.80%). This dataset records what each official page says, when it was read, and where.

Use it

curl -s https://raw.githubusercontent.com/BestBerlin/crypto-exchange-fees/main/data/exchanges.json
import json, urllib.request
url = "https://raw.githubusercontent.com/BestBerlin/crypto-exchange-fees/main/data/exchanges.json"
data = json.load(urllib.request.urlopen(url))
cheapest_spot_taker = min(
    (e for e in data["exchanges"] if e["fees"]["spot"]["taker_pct"] is not None),
    key=lambda e: e["fees"]["spot"]["taker_pct"])
print(cheapest_spot_taker["name"])

MCP server (for Claude, ChatGPT, Cursor and other AI agents)

Let an AI assistant answer "which exchange has the lowest taker fee?" from official, dated figures. Requires uv.

{
  "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. The server reads the live dataset from this repository (cached 6 hours) and falls back to a bundled copy offline. Every answer carries the official source URL and the date it was read.

Fields

FieldMeaning
fees.spot / fees.perpmaker_pct, taker_pct (percent) and the note quoting the official page
statusverified = read from an official page; unverifiable = the official page showed no base-tier table
verified_ondate the official page was read
fee_discounttoken-based discounts stated on the official page, if any
sourcesofficial URLs the figures were read from

Method and limits

Figures are read from each exchange's public fee page or official help article and re-checked periodically. Fees can differ by region, account type, trading pair and promotion; always confirm on the exchange's own page before trading. This is not financial advice. Corrections are welcome as issues or pull requests with an official source link.

Maintained by NexuAlpha, which compares exchange fees, account conditions and security controls. Full methodology: https://nexualpha.com/methodology.

License

Data: CC BY 4.0 — please credit "NexuAlpha (nexualpha.com/rates)" with a link. Code: MIT.