Skip to content
RebatesHow it worksFee calculator Get cashback / 🤖 Open rebate station
API rate limitsWebSocketrequest weightIP banalgo trading

Crypto Exchange API Rate Limits 2026: REST, WebSocket, Weights, Bans

API rate limits at Binance, OKX, Bybit, Bitget, MEXC, Gate, KuCoin and BingX: weights, order caps, WebSocket rules, 429s, IP bans and how to stay under.

API rate limits at eight exchanges, checked 2026-10-29: Binance spot allows 6,000 request weight per minute per IP and 100 orders per 10 seconds; OKX allows 60 order requests per 2 seconds per instrument; Bybit allows 600 requests per 5 seconds per IP and 10 orders per second on USDT perpetuals; Bitget allows 6,000 requests per minute per IP and 10 orders per second; MEXC spot allows 500 per 10 seconds per endpoint; Gate allows 10 spot orders and 100 futures orders per second; KuCoin's VIP0 spot pool is 4,000 per 30 seconds; BingX allows 500 market-data requests per 10 seconds per IP and 10 futures orders per second. Going over usually returns HTTP 429, and Binance and MEXC go on to ban the IP for anywhere from 2 minutes to 3 days.

You can't compare these numbers directly. Some exchanges count per IP, some per UID, some per instrument; some count requests and some count weight; some use fixed windows and some use rolling ones. This guide puts the REST and WebSocket limits of all eight in tables, explains how weight is counted, what happens when you go over, and the fill-ratio and cancel-rate rules, then gives a checklist for avoiding bans and a worked example.

Quick answers

  • Check the unit first: Binance counts request weight per IP and orders per account; OKX, Bybit, Bitget and Gate count order limits per UID; market-data endpoints are almost always per IP.
  • Use WebSocket for market data: polling depth and tickers over REST is the fastest way to burn an IP's quota, and OKX's docs recommend WebSocket for market data and order book depth.
  • Read the response headers: Binance, Bybit, Bitget, Gate and KuCoin return used or remaining quota in headers, and your code should slow down by them.
  • Back off on 429: Binance says that if you keep sending after a 429, the IP is banned automatically with 418. Bybit returns 403 when an IP goes over and asks you to stop all sessions for at least 10 minutes.
  • Too many cancels also gets you limited: OKX, Gate and BingX all adjust limits by fill ratio or cancel rate.

REST rate limits at eight exchanges

ExchangeOverall or IP limitOrdersMarket dataHow it's counted
BinanceSpot 6,000 weight/min; USDⓈ-M futures 2,400 weight/minSpot 100 per 10 s and 200,000 per day; futures 300 per 10 s and 1,200 per minuteWeight-based, e.g. depth up to 100 levels costs 5, up to 5,000 levels costs 250Weight per IP, orders per account; fixed windows that reset on the minute
OKXSet per endpoint60 per 2 s per instrument; batch 300 orders per 2 s; 1,000 new and amended orders per 2 s per sub-accountOrder book 40 per 2 s, all tickers 20 per 2 sPublic per IP, private per UID; order limits shared between REST and WebSocket
Bybit600 per 5 s per IPUSDT perpetual 10/s, spot 20/sIP limit onlyRolling per-second window per UID; each order in a batch counts once
Bitget6,000 per minute per IP on the common domain10/s; batch 5/s with up to 20 orders per batchTickers 20/sPrivate per UID, market data per IP; REST and WebSocket share the quota
MEXC500 per 10 s per endpointSpot order weight 1 (IP and UID counted separately); most futures endpoints 20 per 2 sWeight-based, mostly 1 to 10IP and UID limits are independent
GatePublic endpoints 200 per 10 s per IPSpot place + amend 10/s (UID + market); futures place + amend 100/s; cancels 200/s200 per 10 s per endpointPrivate per UID or sub-account; other private endpoints 200 per 10 s
KuCoinClassic VIP0: spot pool 4,000 per 30 s, futures pool 2,000; unified account trading pool 300/sSpot order weight 1, futures order weight 2Public pool 2,000 per 30 s per IPPrivate pools per UID; master and sub-accounts are independent; quotas rise with VIP level
BingXAccount endpoints 2,000 per 10 s per IPFutures 10/s, cancel 5/s; spot 5/sSpot and futures market data share 500 per 10 s per IPCopy-trading lead traders have a lower order limit (1/s)

Sources: Binance spot exchangeInfo, Binance futures exchangeInfo, Binance spot REST docs, OKX API v5, Bybit Rate Limit Rules, Bitget Quick Start, Bitget Order Management, MEXC spot API, MEXC futures API, Gate API v4, KuCoin rate limit (Classic), KuCoin rate limit (UTA), BingX rate limit upgrade notice, checked 2026-10-29.

ⓘ Binance's figures come straight from its public exchangeInfo endpoints and change whenever Binance changes them. The GitHub version of MEXC's futures docs we read still marks the order endpoints "Under maintenance"; MEXC announced they reopened on 2026-03-31, so go by the newer docs for current limits. BingX's IP limit for account endpoints is the figure in effect since 2025-09-10.

WebSocket limits

ExchangeConnectionsMessages and subscriptionsHeartbeat and disconnects
Binance300 connection attempts per 5 minutes per IPSpot 5 messages/s, futures 10/s (pings and pongs count); up to 1,024 streams per connectionConnections last up to 24 hours; the futures server pings every 3 minutes and disconnects after 10 minutes without a pong
OKX3 connection requests per second per IP; up to 30 connections per private channel (orders, account, positions and so on) per sub-account480 subscribe, unsubscribe and login requests per hour per connectionDisconnects after 30 seconds without data; send the string "ping" yourself
BybitNo more than 500 connections per 5 minutes; up to 1,000 market-data connections per IP, counted separately for spot, linear, inverse and optionsThe args of one public connection can't exceed 21,000 characters; spot takes up to 10 args per subscribe request; from 2026-11-26, spot and futures take up to 100 args per connectionPing every 20 seconds is recommended; with no ping-pong and no data, the connection drops after 10 minutes
Bitget300 connection requests per 5 minutes per IP, 100 connections max10 messages/s per connection; 240 subscription requests per hour, up to 1,000 channels, fewer than 50 recommendedPing every 30 seconds; the server disconnects after 2 minutes without a ping
MEXCNo connection limit stated100 per second; up to 30 subscriptions per connectionConnections last up to 24 hours; a user data stream listenKey is valid for 60 minutes and must be extended
GateUp to 300 connections per IPSpot place and amend 10/s; futures place, amend and cancel 100/s; other channels unlimitedNot covered in that part of the docs
KuCoinUp to 800 concurrent connections (private per UID, public per IP)100 messages per 10 seconds per connection; up to 100 topics per request; up to 400 topics per spot connectionPing interval 18 seconds, timeout 10 seconds; token valid 24 hours
BingXWe found no published connection limitUp to 200 subscriptions per spot connection (since 2024-08-20)The futures docs say the server pings every 5 seconds and expects a pong

Sources: Binance WebSocket Streams, Binance futures WebSocket connect, OKX API v5, Bybit WebSocket Connect, Bitget Quick Start, MEXC spot API, Gate API v4, KuCoin rate limits, KuCoin WebSocket introduction, BingX spot WebSocket subscription limit notice, checked 2026-10-29.

Going over a WebSocket limit usually means an immediate disconnect, and an IP that keeps getting disconnected may be banned; the Binance, Bitget and MEXC docs all say so. Don't reconnect in a tight loop after a drop: Binance allows 300 connection attempts per 5 minutes and Bybit 500 connections per 5 minutes, and a buggy reconnect loop hits those quickly.

How weight systems work

On Binance, "6,000 per minute" means weight, not requests. Each endpoint has its own weight, and heavier queries cost more:

  • Binance depth: limit 1 to 100 costs 5, 101 to 500 costs 25, 501 to 1,000 costs 50, and 1,001 to 5,000 costs 250. At 5,000 levels you use up the 6,000 in 24 calls a minute.
  • Binance 24-hour ticker: weight 2 for one symbol, 80 with no symbol (all pairs).
  • MEXC: also weight-based, but each endpoint has its own 500 per 10 seconds, with IP and UID counted separately; a spot order costs IP weight 1 and UID weight 1.
  • KuCoin: private endpoints share one pool that resets every 30 seconds; a spot order costs 1, a futures order 2, and the docs' batch-cancel example costs 4.

OKX, Bybit, Bitget, Gate and BingX instead set "so many per second or per 2 seconds" for each endpoint, with no weight pool across endpoints (Bitget adds an overall 6,000 per minute per IP, and Bybit 600 per 5 seconds per IP).

The windows differ too. Binance uses fixed windows: the 1-minute quota resets at second 00 of each minute, the 10-second quota at seconds 00, 10, 20 and so on, and the daily order count at 00:00 UTC. Bybit counts over a rolling one-second window. KuCoin's headers tell you how many milliseconds remain until reset.

What happens when you go over

ExchangeResponseWhat the docs say happensHeader or field to watch
BinanceHTTP 429; 418 when bannedKeep sending after a 429 and the IP is banned automatically, from 2 minutes up to 3 days for repeat offenders; Retry-After gives the seconds to waitX-MBX-USED-WEIGHT-1M, X-MBX-ORDER-COUNT-10S
OKXError 50011; 50061 for the sub-account capThe request is rejected; throttle as the docs sayGET /api/v5/trade/account-rate-limit shows the sub-account limit
BybitretCode 10006; HTTP 403 for the IP limitAfter an IP breach, stop all HTTP sessions for at least 10 minutes; the ban lifts automaticallyX-Bapi-Limit, X-Bapi-Limit-Status, X-Bapi-Limit-Reset-Timestamp
BitgetHTTP 429Requests are throttled automatically; IPs repeatedly disconnected from WebSocket may be blockedx-mbx-used-remain-limit
MEXCHTTP 429; 403 when the WAF blocks youIP bans for repeat offenders from 2 minutes to 3 days; the FAQ says access returns after about 10 minutesRetry-After
GateHTTP 429The request is rejectedX-Gate-RateLimit-Requests-Remain, X-Gate-RateLimit-Limit, X-Gate-RateLimit-Reset-Timestamp
KuCoinHTTP 429 with error 429000Wait until the reset time in the headers; under server overload you may also get 429000, which doesn't count against your quotagw-ratelimit-limit, gw-ratelimit-remaining, gw-ratelimit-reset
BingXNot stated in the noticeThe rate limit notice gives no penalty; the cancel-rate rule restricts buying for 10 minutesWe didn't find one

Binance's futures docs add a warning: a 503 "Unknown error" may mean the order actually went through, so check via WebSocket updates or an orderId query before resending. A 503 "Service Unavailable" is a definite failure, and you can retry 3 to 5 times with exponential backoff such as 200, 400 and 800 ms. The -1008 overload throttle exempts reduce-only and close-position orders.

Fill-ratio and cancel-rate rules

  • Binance: the spot order limit counts only unfilled orders, so if your orders keep filling you can keep placing them.
  • OKX: from VIP5, the past 7 days' fill ratio puts a sub-account in one of 8 tiers, from 1,000 to 10,000 new and amended orders per 2 seconds; it updates daily at 08:00 UTC, with a one-day grace period on downgrades.
  • Gate: on perpetual futures, more than 86,400 requests in 24 hours with no fills cuts order placement to 10 per 10 seconds for the next hour; a fill ratio under 1% cuts it to 20 per 10 seconds.
  • BingX: from 2025-12-02, if your completed orders in the past hour pass a threshold (2,000 overall, or 500 each for limit, Post Only, IOC and FOK orders) with a cancel rate of 99%, buy orders of that type are restricted for 10 minutes; sells are not affected (BingX API trading rule update).

For market-making or high-frequency strategies that cancel and amend a lot, the real ceiling is often the fill ratio rather than requests per second. Before each cancel or amend, ask whether the order had any chance of filling.

How to avoid hitting limits and getting your IP banned

  1. Move market data to WebSocket

    subscribe to depth, trades and candles, and use REST only for snapshots.
  2. Read the headers on every response

    when the remaining quota drops below about 20%, slow down before you get a 429.
  3. On 429, wait for Retry-After

    without it, back off exponentially, and pause every thread that shares the IP.
  4. Batch where you can

    OKX takes 300 orders per 2 seconds in batches, Bitget 20 per batch, Bybit 1 to 10 per request; Bybit and OKX still count each order in a batch.
  5. Spread load across sub-accounts

    OKX and KuCoin both say sub-account limits are independent and suggest sub-accounts for more capacity.
  6. Send heartbeats as documented

    Bybit every 20 seconds, Bitget 30, KuCoin 18. Add a delay to reconnects so you don't hit the per-5-minute connection caps.

Worked example: a grid bot on 20 pairs

Say you run 20 pairs on Binance spot and each pair pulls 100-level depth over REST once a second (weight 5): 20 × 5 × 60 = 6,000 weight a minute, exactly the IP limit, so any extra query returns 429. Subscribe to one depth stream per pair instead, all 20 on one connection, which is far below the 1,024-stream cap, and REST weight drops to almost nothing.

Put the same 20 pairs on OKX: order limits are per instrument, so each pair gets its own 60 per 2 seconds. But all pairs in one sub-account share a cap of 1,000 new and amended orders per 2 seconds, so 20 pairs averaging 50 each per 2 seconds already hit it. Check both layers: the per-endpoint limit and the account-wide total.

Grid fills rarely hit order limits on their own: 2 million USDT a month at 100 USDT per grid is about 20,000 fills, under 0.01 per second on average. Trouble usually comes from market-data polling and reconnect loops.

Do API orders earn a rebate?

ExchangeFee Otter rebateWhat the official terms say about API orders
MEXCNo rebate on API ordersAffiliate FAQ: "All trades made by users via API will no longer count toward commission"
KuCoinNo rebate on API ordersReferral page: API trading is currently not eligible for commission
Bitget50%PRO users (API share of 20% or more, plus 30-day spot volume above 50 million or futures above 100 million USDT) have no upstream commission
Binance40%The referral terms neither exclude API orders nor say they count
OKX20% automatic rebate + exclusive rewardsThe affiliate rules don't mention API separately
Bybit40%The affiliate terms don't mention API separately
Gate70%The referral rules don't mention API
BingX45%, all paid automatically by BingXWe found no rule excluding API orders

Sources: MEXC affiliate FAQ, KuCoin referral, Bitget PRO (published 2025-07-01), checked 2026-10-29; the other exchanges' terms are covered in each API setup guide.

ⓘ Futures rates shown; spot: Gate 65%, Bitget 45%. Where the terms are silent, your settlement records show whether API orders counted.

Binding a Fee Otter rebate takes only your UID, never an API key, but API orders on MEXC and KuCoin earn no rebate, so count the rebate as zero when you cost them.

FAQ

Which exchange has the most generous API rate limits?

It depends on the strategy. For order count, Gate futures at 100 per second is highest; OKX counts per instrument, so many pairs can add up to more, but a sub-account caps at 1,000 per 2 seconds; KuCoin's quota rises with VIP level. A single number won't settle it.

How long does a Binance API IP ban last?

Binance says that sending after a 429 triggers an automatic IP ban with HTTP 418, lasting from 2 minutes up to 3 days for repeat offenders. The Retry-After header tells you how many seconds are left.

What is the Bybit API rate limit?

600 requests per 5 seconds per IP. Orders are counted per UID over a rolling second: 10 per second on USDT perpetuals and 20 on spot. An IP breach returns 403, and you should stop all sessions for at least 10 minutes.

What is the Bitget API rate limit?

6,000 requests per minute per IP on the common domain, shared by REST and WebSocket; orders 10 per second, batch orders 5 per second (20 per batch), tickers 20 per second.

What is the MEXC API rate limit, and do API orders get a rebate?

Spot allows 500 per 10 seconds per endpoint, with IP and UID counted separately; a WebSocket connection takes up to 30 subscriptions. MEXC's affiliate FAQ says API trades don't count toward commission, so API orders get no rebate.

Does trading by API affect my rebate?

API orders on MEXC and KuCoin earn no rebate, and Bitget PRO users have no upstream commission. The other exchanges' terms don't address API separately, so your settlement records are what count. Binding needs only your UID, never an API key.

Further reading

Rebate rate by exchange

ExchangeAuto-rebateExtra rebateTotal
Binance20%20%40%
OKX20%20%
Bybit—40%40%
Gate20%50%70%
Bitget20%30%50%
MEXC20%40%60%
BingX45%0%45%
Pionex15%35%50%
KuCoin60%0%60%
Bitfinex6%0%6%
WEEX60%10%70%
XT.COM60%10%70%
HTX30%20%50%
CoinW60%0%60%
Ourbit50%20%70%

Every rate here is fee paid straight back to you. It excludes VIP fee tiers and platform-token discounts such as BNB or GT; those stack on top and only save you more.

Data sources & methodology →

OKX rewards & promotions

Register OKX through our dedicated link for a 20% auto-rebate. Beyond that 20% base auto-rebate, contact support to learn more about our exclusive OKX rewards and promotions.

Telegram · @feeotter

Need help? Contact support

For any binding or rebate question, or to learn about our exclusive OKX rewards and promotions, reach our support through the channels below.

If you trade at high volume or hold exchange VIP status and need more from your rebate, message support directly and we will talk it through.

Telegram · @feeotter

Data checked: 2026-10-29

Compiled from each exchange's official API docs, public API endpoints and announcements, checked 2026-10-29 (UTC+8). For information only, not investment advice. Rate limits, weights, connection rules and referral terms are set by the exchanges and change often; the official docs and live response headers are authoritative. Rebate rates are set by the exchanges and the platform and may change.

Gate rebate 70%: 3.5× a typical 20% codeGet it →