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

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

Обмеження частоти запитів на рівні гаманця для операцій з ордерами та 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Ліміт запитів перевищено, повторіть спробу після вказаного часу

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