browse

Ratelimits

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 hard cap on orders per second per subaccount beyond which we will send rejects.  That cap is generally somewhere between 70 and 90 orders per second per subaccount.  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, subaccounts are what matter.

 

Furthermore, there will soon be 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.

 

Per Second

mceclip0.png

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.  We've already doubled capacity this month, and are hoping to 4x it again over the next few months.  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 would be as follows:

Per Second

mceclip1.png

Per 200ms hard ( will never allow more than this)
*Units used in the chart below are in requests/second, enforced every 200ms

mceclip2.png

Per 200ms soft (will sometimes allow more than this but depends on exchange load)
*Units used in the chart below are in requests/second, enforced every 200ms

mceclip3.png


Note: You only need to reach either the tier or the 30d volume threshold. For users who are at least 10% of one-sided volume (or 4x the requirements for MM3), the ratelimits are 3x the MM3 tier.

These limits are now live.

 

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 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.

Comments

0 comments

Article is closed for comments.

Was this article helpful?

0 out of 0 found this helpful
Powered by Zendesk