Комісії й ліміти
Ліміти запитів і помилки
Ліміти й помилки 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_minimum | 400 | Менше часток, ніж мінімум; minimum указує скільки | Збільште обсяг |
would_take | 400 | Ордер «Лише мейкер» виконався б одразу | Відсуньте ціну від протилежної сторони |
open_orders_limit | 400 | Забагато ордерів у книзі; limit містить ліміти для акаунта й ринку | Спершу скасуйте частину |
trading_paused | 400 | Ключ сесії, який його підписав, закрито | Відкрийте нову сесію й підпишіть знову |
rate_limited | 429 | Забагато запитів на ордери; retryAfter у секундах | Зачекайте й надішліть той самий запит |
trading_halted | 503 | Торгівлю зупинено для всіх; причину може повідомити 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 |
| 502 | Solana або міст не відповіли |
| 503 | Торгівлю зупинено (код trading_halted), біржовий годинник недоступний або сервер перевантажено (Retry-After) |
Ліміти запитів
| Що | Ліміт | Ліміт на |
|---|---|---|
| Ордери (кожен ордер пакета враховується), скасування, розділення, об’єднання | 250 за 10 секунд | Акаунт |
| Ордери в книзі | 200 загалом, 100 на одному ринку | Акаунт |
| Ваш акаунт, ордери, позиції, баланс, /auth/me | 12 000 на хвилину разом | Акаунт |
| Ваша активність, settled, feed, прибуток/збиток | 300 на хвилину разом | Акаунт |
| Ринки й раунди (/markets..., /rounds/:slug) | 1 200 на хвилину | IP-адреса |
| Книга ордерів, угоди, обсяг, зведення ринків, активність раунду | 3 000 на хвилину | IP-адреса |
| Статистика, рейтинг, профілі, власники | 300 на хвилину | IP-адреса |
| /auth/nonce, /auth/verify | 30 на хвилину для кожного | IP-адреса |
| /deposit/recover | 2 на хвилину | Акаунт |
| 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: увійдіть знову.