The relevant limits on order placement are mostly unaffected by other API calls; you can cancel orders and fetch private data without using your order placement rate limits.
You will likely begin to see longer latency if you send more than one order in a 50ms period in a particular subaccount; this means that you can theoretically get out roughly 20 orders per second per subaccount if they are evenly spaced out without experiencing higher latency.
In addition to this, there is a cap on how many requested-but-not-yet-risk-checked orders a given subaccount can have out at once. This limit is only relevant if you are sending at a rate that exceeds our risk checking throughput for your subaccount. This is typically around 140 orders per second, but may vary with market conditions. Again, you can send more if you split between subaccounts; and this restriction only applies to orders placed, not orders canceled. Splitting between different API keys or IP addresses will not have any effect on this limit.
Furthermore, there is a cap on orders sent overall for a user and per market per user (just orders, not cancels or marketdata!). A user, here, means a full account on FTX including all subaccounts. To be clear this limit applies across an entire account--not just a subaccount--but to some extent you get individual limits for each market.
The context for these changes:
When markets move a lot, it can take longer to process orders. This is because everyone wants to send lots of orders, and so everyone does--enough to cause a backlog. There are two problems: first that it causes delays; but second, that it means that orders that would have traded end up getting backlogged in favor of orders that were going to be quickly cancelled anyway.
Each person sends all of their marginal orders (why not!), enough that the total number of orders sent is faster than the matching engine can process them. And so only some of the orders are processed quickly (the first sent), including some marginal orders that the sender didn't really care about. But this means that other orders--including some really important orders--end up at the back of the line.
The best solution is to increase capacity, and we're doing that. Improvements to the matching engine to increase throughput and efficiently handle load are constantly being worked on. But in addition, it's important that even when things are busy, (a) there isn't much lag, and (b) people can get their most important orders through.
That's why ratelimits exist: to make sure that each person's most important orders get through quickly and aren't held back by others' marginal orders.
This is also why we're introducing soft and hard ratelimits. Hard ratelimits always apply. But soft ratelimits only apply when the matching engine gets close to a backlog. This means that, when orders become more in demand, ratelimits help insure that the most important orders still have room by reducing the room for less important ones; but when markets are quiet, users have more freedom to use the spare capacity.
Note that, generally, these ratelimits attempt to maintain a consistent $ volume traded per order ratio--that is, each user has roughly the same fill rate * order size threshold.
The limits are as follows:
Per 200ms hard ( will never allow more than this)
*Units used in the chart below are in requests/200ms
Per 200ms soft (will sometimes allow more than this but depends on exchange load)
*Units used in the chart below are in requests/200ms
Note: You only need to reach either the tier or the 30d volume threshold. For users who are at least 5% of one-sided volume (or 2x the requirements of VIP3), the rate limits are 1.5x the VIP3 tier. For users who are at least 10% of one-sided volume (or 4x the requirements for VIP3), the ratelimits are 3x the VIP3 tier.
Also Note: If you are a VIP, note the further VIP rate limit details below
Remember that cancels do not count towards any of these ratelimits, and hitting the ratelimits won’t stop you from being able to cancel. Similarly, marketdata calls do not contribute to the ratelimites, only order placement. Soft ratelimits kick in when exchange load is relatively high. Note that if a user's volume/order ratio is significantly below $10 FTX reserves the right to impose additional ratelimits on them. In general, FTX reserves the right to alter ratelimits and other features on FTX as reasonable or necessary.
There is the potential to have 3x the ratelimits of the top row for users who have at least 4x the requirements to reach VIP3 or MM3; if you are in this category, please feel free to contact us. Finally, we are working on increasing the total throughput of FTX, and are hopeful that ratelimits can go up significantly over the next few months.
Lastly there are account wide rate limits of 10 withdrawal requests per 30 seconds.
Further VIP details:
Small orders (defined below) will be subject to Fee Tier 6 limits (as described above).
Small orders are those that are under largeOrderThreshold (typically $5000, see the response in this endpoint https://ftx.com/api/markets) in size and are on a market whose max order size is greater than $10k. Large orders will enjoy full VIP limits, which have been increased along with this restriction on small orders.
These limits will take effect on Jan 21, 1pm ET.