Інцидентний посібник
Процедури реагування на типові проблеми.
Проблеми з'єднання
Розрив WebSocket-з'єднання
Симптоми: WebSocket-з'єднання втрачено, повідомлення не надходять
Дії:
- Реалізуйте автоматичне перепідключення з експоненційною затримкою
- Опитуйте REST-ендпоінти, щоб надолужити пропущені оновлення
- Повторно підпишіться на всі канали після перепідключення
Запобігання: Відстежуйте стан з'єднання та реалізуйте надійну логіку перепідключення
Тайм-аут API
Симптоми: REST-запити завершуються тайм-аутом або повертають помилки 5xx
Дії:
- Повторюйте запити з експоненційною затримкою
- Перевірте ендпоінт стану:
GET /health - Зменшіть частоту запитів, якщо система перевантажена
Запобігання: Реалізуйте обмеження частоти запитів і запобіжники (circuit breakers)
Проблеми з ордерами
Високий рівень відхилень
Симптоми: Багато ордерів відхилено
Розслідування:
- Логуйте
statusіreasonз кожної відповіді на ордер і кожного повідомлення WebSocketorder_updates.GET /orders?wallet=...за замовчуванням повертає відкриті ордери й не містить причин відхилення - Перевірте маржу:
GET /portfolio?wallet=... - Перевірте ліміти акаунта:
GET /risk/limits?wallet=... - Переконайтеся, що інструменти не мають минулої експірації:
GET /instruments?currency=...
Дії:
- Якщо проблеми з маржею: зменште розмір позиції або додайте забезпечення
- Якщо проблеми з рівнем (tier): покривайте продажі довгими позиціями в інвентарі або зверніться до Hypercall щодо зміни рівня
- Якщо інструмент експірував: використовуйте інші інструменти
Відсутні виконання
Симптоми: Ордери виконано, але сповіщень про виконання немає
Розслідування:
- Перевірте виконання через
GET /fills?wallet=... - Переконайтеся в наявності підписки на канал WebSocket
fills - Перевірте стан WebSocket-з'єднання
Дії:
- Повторно підпишіться на канал
fills - Опитуйте REST-ендпоінт для отримання пропущених виконань
- Звірте виконання зі статусом ордерів
Застарілий статус ордера
Симптоми: Статус ордера в REST не збігається з WS
Розслідування:
- Перевірте стан WebSocket-з'єднання
- Переконайтеся, що кеш ордерів актуальний
- Порівняйте статус ордера в REST і WS
Дії:
- Опитуйте REST після перепідключення WS, щоб надолужити пропущене
- Використовуйте REST як джерело істини для звірки
Проблеми з MMP
MMP спрацьовує занадто часто
Симптоми: Багато ордерів скасовано MMP
Розслідування:
- Перевірте конфігурацію MMP підписаним запитом
GET /mmp-config?wallet=...¤cy=... - Проаналізуйте патерни виконань і кумулятивні метрики
- Перевірте, чи не занизькі ліміти
Дії:
- Збільште ліміти MMP (кількість, дельта, вега)
- Збільште
interval_ms, щоб дозволити більше виконань у вікні - Зменште частоту котирування
MMP не спрацьовує
Симптоми: Виконання перевищують ліміти, але MMP не спрацьовує
Розслідування:
- Переконайтеся, що MMP увімкнено, підписаним запитом
GET /mmp-config?wallet=...¤cy=... - Перевірте
mmp_enabled=trueв ордерах - Переконайтеся, що валюта відповідає базовому активу ордера
Дії:
- Увімкніть MMP в ордерах:
mmp_enabled=true - Налаштуйте MMP для правильної валюти
- За потреби скоригуйте ліміти
Підписані запити на читання MMP передають час закінчення дії та підпис GetMmpConfig у заголовках
X-Hypercall-Expires-At-Ms і X-Hypercall-Signature.
Проблеми з маржею
Недостатня маржа
Симптоми: Ордери відхиляються з повідомленням "Insufficient margin"
Розслідування:
- Перевірте портфель:
GET /portfolio?wallet=... - Перегляньте розрахунок маржі
- Перевірте, який сценарій не проходить
Дії:
- Зменште розмір позиції
- Додайте забезпечення
- Закрийте позиції, щоб звільнити маржу
- Хеджуйте експозицію, щоб зменшити збиток у найгіршому сценарії
Відсутня спотова ціна
Симптоми: Ордери відхиляються з причиною, що починається з "Missing spot price for underlying"
Розслідування:
- Перевірте
index_priceдля базового активу вGET /markets - Переконайтеся, що символ базового активу правильний
- Перевірте сторінку статусу на наявність інциденту з оракулом
Дії:
- Дочекайтеся відновлення потоку спотових цін
- Використайте інший базовий актив, якщо доступний
- Зверніться до підтримки, якщо проблема не зникає
Системні проблеми
Висока затримка
Симптоми: Повільні відповіді API або затримки повідомлень WebSocket
Розслідування:
- Перевірте навантаження на систему
- Відстежуйте час відповіді
- Перевірте мережеве з'єднання
Дії:
- Зменште частоту запитів
- Реалізуйте обмеження частоти запитів
- Зверніться до підтримки, якщо проблема не зникає
Обмеження частоти запитів
Симптоми: Запити відхиляються або обмежуються
Поточний стан: Ліміти частоти запитів застосовуються для кожного гаманця окремо, з окремими лімітами за джерелом для скасувань, авторизації агентів, записів MMP і симуляцій ризику. Докладніше див. Ліміти частоти запитів.
Дії:
- Перевірте заголовок
Retry-Afterі зачекайте перед повторною спробою - Відстежуйте
X-RateLimit-Remaining, щоб не досягати лімітів - За можливості використовуйте пакетні ендпоінти
Аварійні процедури
Аварійний вимикач
Негайні дії:
- Скасуйте всі ордери:
DELETE /bulk_orderабоDELETE /bulk_order_cloid, до 50 ордерів на запит - Від'єднайте WebSocket
- Зупиніть систему котирування
Відновлення:
- Переконайтеся, що всі ордери скасовано:
GET /orders?wallet=... - Перегляньте портфель:
GET /portfolio?wallet=... - Розслідуйте першопричину
- Відновіть котирування після усунення проблеми
Звірка даних
Після інциденту:
- Опитайте REST-ендпоінти для отримання поточного стану
- Звірте ордери:
GET /orders?wallet=... - Звірте виконання:
GET /fills?wallet=... - Звірте портфель:
GET /portfolio?wallet=... - Відновіть підписки WebSocket
Ескалація
Якщо проблема не зникає:
- Перегляньте відомі проблеми та повідомлення щодо стейджингу, надані разом із доступом
- Перегляньте Ранбуки для детальних процедур
- Зверніться до підтримки, вказавши:
- Адресу гаманця
- Повідомлення про помилки
- Мітки часу
- Кроки для відтворення