⏱️ Rate limits and pricing
🚦 Request rate limit
60 requests per minute per account. The limit is shared by all /api and /api/v1 methods: creating checks and polling results draw on the same budget.
When exceeded, 429 Too Many Requests is returned with these headers:
| Header | Description |
|---|---|
Retry-After | How many seconds to wait before retrying |
X-RateLimit-Limit | The limit size |
X-RateLimit-Remaining | Requests left in the current window |
📦 Checking a batch of addresses
Onboarding an integration or connecting a new wallet easily hits the limit: 50 addresses means 50 create requests, almost the whole minute window.
- Spread the creation over time: no more than ~50 requests per minute, leaving room for result polling.
- Poll results as a list, not one check at a time:
GET /api/fast-check?limit=50&updated_from=…is one request instead of fifty. - Respect
Retry-After: on429, wait the given number of seconds instead of retrying immediately.
⌛ How long a check takes
Checks run asynchronously and in queue order, one after another. A single check takes from a few seconds up to a couple of minutes. If you queue 50 addresses at once, the last result may appear several minutes later — plan for a timeout of about 10 minutes, not seconds.
For statuses and the completion signal see Check lifecycle and statuses.
💳 Pricing
| Action | Charge |
|---|---|
PUT /api/fast-check — create or re-run a check for an address | price of one check |
GET /api/fast-check/{id}/run — re-run | price of one check |
| Daily automatic run of a tracked address | price of one check |
GET /api/fast-check, GET /api/fast-check/{id} — reading results | free |
GET /api/fast-check/{id}/tracking, POST /api/fast-check/{id}/viewed | free |
The price of one check is returned in the price field (1 by default, or your tariff plan price); the remaining balance is in balance and in GET /api/user/balance. The only exception is the free daily checks of the mobile app: they apply until the first deposit and are not relevant to API-key integrations.
If the balance is not sufficient, the method returns 402 and the check is not queued:
{
"status": false,
"message": "Недостаточно баланса"
}
For tracked addresses an insufficient balance means the daily run for that address is skipped for the day — watch the balance via GET /api/user/balance.