The Exchange Rate Limiter is a tool that protects APIs from request overload and our markets from order book manipulation by limiting the number of trading transactions.
Each type of action the user performs (for example, placing an order, cancelling an order, etc.) is assigned a penalty value (Action Penalty, AP).
The user can complete the action when the sum of penalties (Penalty Counter, PC) is lower than the established threshold.
The user cannot complete the action when the sum of penalties is equal to or higher than the established threshold.
The sum of penalties has a "decay rate", meaning it decreases by a constant value over time (Decay Rate, DR): this means that the user can resume completing actions as soon as the sum of penalties falls back below the established threshold.
The table below details the values applied on our exchanges:
| Limits | Penalty Value (AP) | What it means |
| Sum of penalties (PC) | 1 > 59 | The user can only complete actions when the sum of penalties is lower than 60. |
| Sum of penalties (PC) | 60 + | The user cannot complete actions when the sum of penalties is equal to or higher than 60. |
| Penalty for placing an order | 1 | Every time the user places an order, the sum of penalties increases by 1. |
| Penalty for cancelling an order | 2 | Every time the user cancels an order, the sum of penalties increases by 2. |
| Penalty for cancelling an unmatched order | 8 | Every time the user cancels an unmatched order (i.e., the completed volume of the placed order is equal to 0), the sum of penalties increases by 8. |
| Decay Rate (DR) | 1 | Every second, the user's sum of penalties decreases by 1. |