API rules differ a lot across these seven exchanges. Order rate limits: Binance USDT-margined futures allow 300 orders per 10 seconds, Bybit USDT perpetuals 10 per second, OKX 60 per 2 seconds per trading pair, and Gate futures 100 per second. Keys without an IP bound expire after 90 days on Bybit, MEXC and Gate; on OKX, a key with trading permission expires after 14 days of inactivity. For a grid bot, look first at the maker rate after the rebate: at regular user rates, with 2 million USDT a month all filled as maker, the fee left after the rebate is highest on OKX at 320 USDT and lowest on MEXC at 80 USDT (verified October 2026).
Most people choosing an exchange API compare rate limits first. A typical grid bot rarely hits them. At 2 million USDT a month and 100 USDT per grid, that is about 20,000 fills a month, fewer than 700 a day on average, far from a limit of 10 per second. When a bot suddenly stops, a common cause is an expired key. What really affects profit and loss is how much of the maker fee remains after the rebate. Also, each exchange counts its limits in different units, by IP, by UID or by trading pair, so the numbers can't be compared directly.
Order rate limits compared
| Exchange | Spot orders | Futures orders | How it is counted |
|---|---|---|---|
| Binance | 100 per 10 seconds, 200,000 per day | USDT-margined: 300 per 10 seconds, 1,200 per minute | Order count by account; request weight by IP (spot 6,000 per minute, futures 2,400) |
| OKX | 60 per 2 seconds | 60 per 2 seconds; batch 300 orders per 2 seconds | UID + trading pair; each sub-account also has a cap of 1,000 new and amended orders per 2 seconds in total |
| Bybit | 20 per second | USDT perpetuals: 10 per second | Rolling per second by UID; the IP layer also allows 600 per 5 seconds |
| Gate | 10 per second (placing and amending combined) | 100 per second (placing and amending combined) | Spot by UID + trading pair; other private endpoints 200 per 10 seconds |
| Bitget | Unified account orders 10 per second; batch 5 per second, 20 orders per batch | UID; general domain 6,000 per minute per IP, shared by REST and WebSocket | |
| MEXC | 500 per 10 seconds per endpoint | 20 per 2 seconds | Private endpoints by UID, public endpoints by IP |
| KuCoin | VIP0 spot quota pool 4,000 per 30 seconds, order weight 1 | VIP0 futures quota pool 2,000 per 30 seconds, order weight 2 | UID quota pools that grow with VIP level; main and sub-accounts are separate |
Sources: Binance spot exchangeInfo, Binance futures exchangeInfo, OKX API v5 docs, Bybit Rate Limit Rules, Gate API v4 docs, Bitget Order Management, Bitget Quick Start, MEXC spot API docs, MEXC futures API docs and KuCoin Rate Limit Rule (Classic), checked 2026-10-13.
ⓘ Binance's spot order count only counts unfilled orders, so strategies that keep getting filled are less likely to hit it. OKX accounts at VIP5 and above get extra quota tiered by fill ratio. MEXC's futures order API came out of maintenance and reopened on 2026-03-31, and order permission requires KYC first. KuCoin's figures are the classic account rules; the unified account has its own.
What happens when you exceed a limit also differs. Binance first returns 429; if you keep sending after a 429, the IP is banned with a 418, and repeat bans grow from 2 minutes to 3 days. Bybit returns 403 when the IP layer is exceeded, and you must stop all connections for at least 10 minutes. Your code should read the remaining quota in the response headers and slow itself down.
Key rules: permissions, IP whitelist, expiry and test environments
| Exchange | Permissions | IP whitelist | Without an IP bound | Test environment |
|---|---|---|---|---|
| Binance | Read, trade and withdraw enabled one by one; new keys can't trade by default | Withdrawal requires an IPv4 binding; system-generated (HMAC) keys without an IP are read-only | No expiry rule in the official docs | Spot testnet; demo trading (demo-api, demo-fapi) |
| OKX | Read, trade, withdraw | Up to 20, IPv4, IPv6 and ranges supported | Keys with trade or withdraw permission expire after 14 days of inactivity | Demo trading; add the REST header x-simulated-trading: 1 |
| Bybit | Read-only or read-write, then tick futures, spot, wallet and so on | Several allowed, comma-separated | Expires after 90 days; 7 days after you change your login password | Demo Trading (api-demo.bybit.com) and Testnet |
| Gate | Spot/margin, perpetuals, delivery, wallet and withdrawal, each set to off, read-only or read-write | Up to 20 IPv4 addresses, no ranges | Disabled after 90 days; binding an IP restores it | TestNet (api-testnet.gateapi.io) |
| Bitget | Unified account trading and management, each read-only or read-write, plus a withdrawal permission | Up to 30 IPv4 addresses | Not published | Demo trading; add the REST header paptrading: 1 |
| MEXC | Chosen at creation; you can limit which trading pairs the key may trade | Up to 10 | Expires after 90 days; can be renewed for 90 days within 5 days of expiry | No separate testnet; spot has a test order endpoint that validates without sending to matching |
| KuCoin | General, Spot, Futures, Unified and others | Up to 20 | Sub-account keys can be set to 30, 90, 180 or 360 days, or no expiry, at creation | No official documentation found this time |
Sources: OKX API v5 docs, Bybit Create Sub UID API Key, Gate API v4 docs, Gate APIKey validity announcement, Bitget Quick Start, MEXC spot API introduction, MEXC futures integration guide and KuCoin Add Sub Account API, checked 2026-10-13. Binance's and Bitget's IP rules are in their setup guides.
OKX's 14-day rule is the easiest to trip over. Only calls to private endpoints count as "use", and on WebSocket only the login counts. If a bot keeps placing orders on the same connection without an IP bound, the key can be deleted while the strategy is still running. Whichever exchange you use, run the strategy on a host with a fixed IP, always bind the key to it, and never enable withdrawal permission.
Do API orders earn rebates, and what the broker terms say
| Exchange | Fee Otter rebate | What the exchange says about API orders | Cases it says earn no commission |
|---|---|---|---|
| Binance | 40% | The referral terms don't distinguish how orders are placed | Trades with no fee paid earn no commission; calculated on net fees after market maker rebates |
| OKX | 20% automatic rebate + exclusive rewards | The affiliate rules don't mention API | Market makers or brokers, custody sub-accounts, VIP7 and above; VIP5 and VIP6 once the 100,000 monthly commission cap is reached |
| Bybit | 40% | The affiliate FAQ doesn't mention API separately | Trades under other Bybit rebate, discount or incentive programs may not count; the referral may end after 180 days without trading |
| Gate | 70% | No API-specific terms found this time | None found this time |
| Bitget | 50% | No distinction for regular users | PRO users (API share ≥ 20%, plus 30-day spot volume above 50 million or futures volume above 100 million USDT) generate no upstream commission |
| MEXC | 60% | No API-specific terms found this time | None found this time |
| KuCoin | 60% | No API-specific terms found this time | None found this time |
Sources: OKX affiliate program rules (updated 2026-09-29), Bybit affiliate program FAQ and Bitget PRO explainer, checked 2026-10-13. Binance's referral terms are covered in Binance API trading setup.
ⓘ The table shows futures rebates; spot: Gate 65%, Bitget 45%.
Where the terms are silent, whether API orders count is shown in Fee Otter's daily settlement records. Binding only needs your UID; you never need to give anyone your API key.
Brokers are a separate program, for platforms and bot services that trade on other people's behalf. What we found in the official docs:
- OKX: API brokers and OAuth brokers. With OAuth, users don't have to hand over their own keys.
- Bybit: the API docs have API Broker and Exchange Broker sections, including commission income queries.
- Gate: its ledger types include API broker rebates and exchange broker rebates.
- MEXC: API broker and independent broker models; apply by emailing institution@mexc.com.
- KuCoin: the docs have a Broker Program, split into API brokers and exchange brokers.
If you write and run your own strategy, you don't need broker status. The thing to watch is the reverse: if a third-party bot you use is a broker on that exchange, your fee commission may be shared with it.
A bot's real cost: the maker rate after the rebate
Grid orders are limit orders that sit on the book waiting to fill, so most count as maker. Maker rate after the rebate = maker rate × (1 − rebate rate).
| Exchange | Futures maker / taker (regular user) | Rebate | Maker after rebate |
|---|---|---|---|
| Binance | 0.02% / 0.05% | 40% | 0.012% |
| OKX | 0.02% / 0.05% | 20% automatic rebate + exclusive rewards | 0.016% |
| Bybit | 0.02% / 0.055% | 40% | 0.012% |
| Gate | 0.02% / 0.05% | 70% | 0.006% |
| Bitget | 0.02% / 0.06% | 50% | 0.010% |
| MEXC | 0.01% / 0.04% (standard contracts) | 60% | 0.004% |
| KuCoin | 0.02% / 0.06% | 60% | 0.008% |
Sources: Binance futures fee explainer, OKX fee framework announcement, Bybit fee structure, Gate fee adjustment announcement, Bitget futures API, MEXC futures API and KuCoin futures API, checked 2026-10-13.
ⓘ Gate's 0.05% taker rate is from an official announcement and its 0.02% maker rate from our Gate rebate guide; we did not re-read the maker rate on an official page this time. MEXC's BTC and ETH perpetuals are currently maker 0% / taker 0.02%, so maker orders pay no fee and therefore earn no rebate.
Worked example: a futures grid bot trading 2 million USDT a month
Assume every fill is maker, at regular user rates, with no exchange-token discount. Formulas:
- Fees = monthly volume × maker rate
- Rebate = fees × rebate rate
- Net cost = fees − rebate
| Exchange | Fees | Rebate | Net cost |
|---|---|---|---|
| Binance | 2,000,000 × 0.02% = 400 | 160 | 240 |
| OKX | 400 | 80 | 320 |
| Bybit | 400 | 160 | 240 |
| Gate | 400 | 280 | 120 |
| Bitget | 400 | 200 | 200 |
| MEXC (standard contracts) | 2,000,000 × 0.01% = 200 | 120 | 80 |
| KuCoin | 400 | 240 | 160 |
In USDT per month. On the same 2 million in volume, net monthly cost ranges from 80 to 320 USDT, a 4× gap. Over a year, the most and least expensive differ by 2,880 USDT. OKX's exclusive rewards are not included; contact support for details.
A grid is never 100% maker. Opening, price gaps and stop losses can all take liquidity. At 90% maker and 10% taker, Binance's net cost becomes 2,000,000 × (0.9 × 0.02% + 0.1 × 0.05%) × 60% = 276 USDT, and Gate's 138 USDT. The higher the taker share, the more the difference in rebate rates shows.
Now the rate limits. At 100 USDT per grid, 2 million is 20,000 fills, about 0.008 per second on average. Even if every fill is followed by one cancel and one new order, that is far from 10 per second. For a grid at this size, rate limits are not the bottleneck. The strategies that hit limits are market making and arbitrage that cancel and amend constantly.
How to choose
- Maker-heavy grids under a few million a month: compare the maker rate after the rebate first. MEXC standard contracts at 0.004% and Gate at 0.006% are lowest, followed by KuCoin at 0.008% and Bitget at 0.010%.
- Market making or arbitrage with heavy cancel and amend: rate limits matter here. OKX counts per trading pair, so each pair has its own quota; Gate futures allow 100 per second; KuCoin's quota rises with VIP level. For more quota, most exchanges expect you to split across sub-accounts.
- If you want to test first: Binance, OKX, Bybit, Bitget and Gate all have demo or test environments. MEXC has no separate testnet.
- If your host has no fixed IP: keys on Bybit, MEXC and Gate must be recreated every 90 days, and OKX keys expire after 14 idle days. Moving to a host with a fixed IP is better.
- Very high API volume near Bitget's PRO threshold: work out whether the PRO rate or "VIP rate + rebate" costs you less.
Risks
- Leaked keys: never enable withdrawal permission, bind keys to an IP, use one key per purpose, and store keys in environment variables or a secrets manager.
- Managed-account scams: refuse anyone who asks for your key and promises a fixed monthly return. Even with trading permission only, they can lose your whole margin at high leverage.
- Rules change: exchanges adjust rate limits, fees and rebate terms. MEXC's futures order API was suspended from July 2022 and only announced as restored on 2026-03-31. Before going live, check your actual fee rate and quota through the official endpoints.
- Demo is not live: slippage and fill order in demo environments differ from the live site, and a strategy that makes money in demo may not live.
- Futures risk: a grid builds up a position in a one-way market and can be liquidated at high leverage. A rebate lowers fees; it can't make up for losses.
FAQ
Which exchange has the highest API order rate limit?
By the number, Gate futures at 100 per second. But the units differ: OKX allows 60 per 2 seconds per trading pair, so the total can be larger with many pairs, and KuCoin's quota rises with VIP level. Comparing single numbers gives the wrong answer.
Do API keys without an IP bound expire?
After 90 days on Bybit, MEXC and Gate. OKX keys with trade or withdraw permission expire after 14 idle days. KuCoin sub-account keys let you choose the period at creation. Binance's and Bitget's official docs give no expiry rule.
Do API orders still earn a rebate?
Binance, OKX and Bybit's terms don't exclude API orders, and Bitget makes no distinction for regular users. The stated exceptions are OKX market makers, custody sub-accounts and VIP7 and above, and Bitget PRO users. Otherwise, go by the settlement records.
Should a grid bot look at the maker or taker rate?
Mainly maker, since most grid orders fill as maker. At regular user rates plus the rebate, MEXC standard contracts at 0.004% and Gate at 0.006% are lowest. Opening and stop losses take liquidity, so keep an eye on taker too.
Does MEXC have an API testnet?
No separate testnet. Spot has a test order endpoint that only validates parameters and doesn't send to matching. To test a strategy, you can start live with a small amount.
Do I need to give an API key to bind for a Fee Otter rebate?
No. Binding only needs your UID, with no API key, password or withdrawal permission.