The Exchange Rate Limiter is a tool that protects the APIs from being overloaded with requests and our markets from order book manipulation by limiting the number of trading transactions.
Each type of action a user takes (e.g. place or cancel an order) has a penalty value (Action Penalty, AP) assigned to it.
A user may complete an action when the sum of the penalties (Penalty Counter, PC) is below the set threshold.
A user may not complete an action when the sum of penalties is equal to or greater than the set threshold.
The sum of penalties has a 'Decay Rate' (DR), i.e., it decreases with a constant value over time: this means that a user can resume completing actions as soon as the sum of penalties is below the set threshold again.
Details of the values applied on our exchanges:
Limits |
Penalty value (AP) |
What it means |
Penalty sum (PC) |
1 > 59 |
A user can only complete actions when the penalty sum is less than 60. |
Penalty sum (PC) |
60 + |
A user cannot complete actions when the penalty sum is equal to or greater than 60. |
Penalty for placing an order |
1 |
The penalty sum increases by 1 every time a user places an order. |
Penalty for cancelling an order |
2 |
The penalty sum increases by 2 every time a user cancels an order. |
Penalty for cancelling an unmatched order |
8 |
The penalty sum increases by 8 when a user cancels an unmatched order (i.e., the completed volume of the placed order equals 0). |
Decay Rate (DR) |
1 |
The user's penalty sum decreases by 1 every second. |