головна сторінка

Комісії й ліміти

Ліміти запитів і помилки

Ліміти й помилки API Seeryx: формат помилки в JSON, коди на зразок below_minimum і rate_limited, HTTP-статуси, ліміти запитів і повторні спроби.

Формат помилок

Кожна помилка — це JSON із реченням для людей в error; там, де програма має на неї реагувати, — ще й стабільний code, а іноді й інші поля.

Помилки
{ "error": "Invalid limit" }
{ "error": "Minimum order is 5 shares", "code": "below_minimum", "minimum": 5 }
{ "error": "Post only: this order would trade at once at 16¢; lower the price or turn Post only off", "code": "would_take" }
{ "error": "Too many open orders ...", "code": "open_orders_limit", "limit": { "account": 200, "round": 100 } }
{ "error": "Too many orders", "code": "rate_limited", "retryAfter": 4 }

Коди помилок

codeСтатусЗначенняЩо робити
below_minimum400Менше часток, ніж мінімум; minimum указує скількиЗбільште обсяг
would_take400Ордер «Лише мейкер» виконався б одразуВідсуньте ціну від протилежної сторони
open_orders_limit400Забагато ордерів у книзі; limit містить ліміти для акаунта й ринкуСпершу скасуйте частину
trading_paused400Ключ сесії, який його підписав, закритоВідкрийте нову сесію й підпишіть знову
rate_limited429Забагато запитів на ордери; retryAfter у секундахЗачекайте й надішліть той самий запит
trading_halted503Торгівлю зупинено для всіх; причину може повідомити GET /api/noticeЗачекайте; скасування й далі працюють

Відповіді на ордери можуть також містити reason, що не є помилкою: no_liquidity, beyond_limit і share_limit (див. «Торгівля»).

HTTP-статуси

СтатусКоли
400Неправильні вхідні дані, недостатньо коштів або вільних часток, раунд, що не торгується або закривається, ордер нижче мінімуму, ордер «Лише мейкер», який виконався б, підписаний ордер, що не збігається з запитом, відсутній або повторно використаний Idempotency-Key
401Відсутній, неправильний або прострочений токен входу (seeryx.com відповідає на це кодом 403)
403Відсутній, неправильний або прострочений токен входу на seeryx.com ("Authentication required", "Invalid or expired token") або заблокований акаунт
404Невідомий раунд, ринок або профіль
408Запит тривав довше за 30 секунд
409Зараз неможливо: рахунку ще немає, угода ще в розрахунку, виведення ще не готове
413Тіло завелике: для ордера, розділення чи об’єднання — 16 КБ, для пакета — у 15 разів більше, для решти — 100 КБ
429Ліміт запитів: зачекайте стільки секунд, скільки вказує Retry-After
502Solana або міст не відповіли
503Торгівлю зупинено (код trading_halted), біржовий годинник недоступний або сервер перевантажено (Retry-After)

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

ЩоЛімітЛіміт на
Ордери (кожен ордер пакета враховується), скасування, розділення, об’єднання250 за 10 секундАкаунт
Ордери в книзі200 загалом, 100 на одному ринкуАкаунт
Ваш акаунт, ордери, позиції, баланс, /auth/me12 000 на хвилину разомАкаунт
Ваша активність, settled, feed, прибуток/збиток300 на хвилину разомАкаунт
Ринки й раунди (/markets..., /rounds/:slug)1 200 на хвилинуIP-адреса
Книга ордерів, угоди, обсяг, зведення ринків, активність раунду3 000 на хвилинуIP-адреса
Статистика, рейтинг, профілі, власники300 на хвилинуIP-адреса
/auth/nonce, /auth/verify30 на хвилину для кожногоIP-адреса
/deposit/recover2 на хвилинуАкаунт
WebSocketДив. WebSocketЗ’єднання, IP-адреса

У разі перевищення ліміту відповідь — 429 з Retry-After у секундах. Перевантажений сервер відповідає 503 з Retry-After. Відповіді зі статистикою, рейтингом і власниками можуть запізнюватися на кілька секунд. GET https://seeryx.com/health відповідає { "status": "ok" } для перевірок доступності.

Безпечні повторні спроби

  • 429 і 503: зачекайте стільки, скільки вказує Retry-After, і надішліть той самий запит знову.
  • Мережева помилка або 5xx під час запису: надішліть те саме тіло з тим самим Idempotency-Key; якщо перша спроба пройшла, ви отримаєте її відповідь, і нічого не буде розміщено двічі.
  • 400: не повторюйте запит без змін; виправте його й надішліть з новим ключем (і новим підписаним id).
  • 401 або 403: увійдіть знову.