Цю сторінку перекладено автоматично. Оригінал англійською мовою є канонічним. Читати англійською →
Перейти к основному содержимому

Ліміти запитів

Обмеження частоти запитів на рівні гаманця для операцій з ордерами та API-запитів.

Огляд​

Обмеження частоти запитів застосовується для кожного гаманця за алгоритмом фіксованого вікна. Ліміти застосовуються до:

  • Розміщення ордерів (POST /order)
  • Скасування ордерів (DELETE /order)
  • API-запитів (загальне використання ендпоінтів)

Ліміти скидаються кожні 60 секунд.

Ліміти за замовчуванням​

РівеньОрдерів/хвСкасувань/хвAPI-запитів/хвМакс. відкритих ордерівМакс. позицій
За замовчуванням6012060010050
Рівень 130603005020
Рівень 21203001,200500200
Маркетмейкер6001,2006,0002,000Без обмежень

Нові гаманці отримують ліміти за замовчуванням. Зверніться до служби підтримки для підвищення рівня.

Відповідь при перевищенні ліміту​

Коли ліміт запитів перевищено, API повертає 429 Too Many Requests:

{
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded for OrderPlacement: 60 per minute, retry after 45 seconds",
"retry_after_secs": 45,
"limit": 60
}

Заголовки відповіді​

Усі ендпоінти з обмеженням частоти запитів включають ці заголовки як в успішних відповідях, так і у відповідях з помилками:

ЗаголовокОписПриклад
X-RateLimit-LimitМаксимальна кількість дозволених запитів за вікно60
X-RateLimit-RemainingКількість запитів, що залишилися в поточному вікні42
X-RateLimit-ResetUnix-час скидання вікна1737312060
Retry-AfterСекунди до повторної спроби (лише при 429)45

Приклади заголовків відповіді​

Успішний запит:

HTTP/1.1 200 OK
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1737312060

Запит з перевищенням ліміту:

HTTP/1.1 429 Too Many Requests
Retry-After: 45
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1737312060

Категорії лімітів запитів​

Ліміти запитів відстежуються окремо для кожного типу дій:

Розміщення ордерів​

Застосовується до:

  • POST /order (ордери на опціони)
  • POST /bulk_order (масові ордери, кожен ордер у пакеті враховується)
  • PUT /bulk_order (масові заміни, кожна заміна враховується)

Скасування ордерів​

Застосовується до:

  • DELETE /order
  • DELETE /bulk_order (масові скасування, кожне скасування враховується)
  • DELETE /bulk_order_cloid (масові скасування за клієнтським ID ордера, кожне скасування враховується)

API-запити​

Застосовується до загального використання API на всіх автентифікованих ендпоінтах.

Ліміти позицій та ордерів​

На додаток до лімітів запитів, гаманці мають обмеження на максимальну кількість відкритих ордерів та позицій:

Тип лімітуОписВідхилення
Макс. відкритих ордерівМаксимальна кількість одночасно відкритих ордерівОрдер відхиляється до потрапляння в рушій
Макс. позиційМаксимальна кількість унікальних позицій (-1 = без обмежень)Ордер відхиляється, якщо він створить нову позицію

Коли ліміти перевищено:

{
"error": "limit_exceeded",
"message": "Maximum open orders limit exceeded (100)"
}

Найкращі практики​

Обробка лімітів запитів​

  1. Відстежуйте заголовки: проактивно відстежуйте X-RateLimit-Remaining
  2. Дотримуйтесь Retry-After: зачекайте вказаний час перед повторною спробою
  3. Реалізуйте backoff: використовуйте експоненційну затримку при повторюваних 429
import time

def place_order_with_retry(order, max_retries=3):
for attempt in range(max_retries):
response = api.place_order(order)

if response.status_code == 429:
retry_after = int(response.headers.get('Retry-After', 60))
time.sleep(retry_after)
continue

return response

raise RateLimitError("Max retries exceeded")

Оптимізація використання запитів​

  1. Використовуйте масові ендпоінти: POST /bulk_order для кількох ордерів в одному запиті
  2. Групуйте скасування: DELETE /bulk_order або DELETE /bulk_order_cloid замість кількох запитів DELETE /order
  3. WebSocket для оновлень: підписуйтесь на оновлення ордерів замість опитування GET /orders

Моніторинг​

Відстежуйте ці метрики на стороні клієнта:

  • Частота запитів за типом дій
  • Тенденції X-RateLimit-Remaining
  • Частота відповідей 429
  • Середня тривалість Retry-After

Довідник помилок​

HTTP-статусКод помилкиОпис
429rate_limit_exceededЛіміт запитів перевищено, повторіть спробу після вказаного часу

Дивіться Помилки для повного довідника помилок.