Посібник з інцидентів
Процедури реагування на поширені проблеми.
Проблеми зі з'єднанням
Розрив WebSocket
Симптоми: З'єднання WebSocket втрачено, повідомлення не надходять
Дії:
- Реалізуйте автоматичне перепідключення з експоненційною затримкою
- Опитуйте REST-ендпоінти, щоб надолужити пропущені оновлення
- Повторно підпишіться на всі канали після перепідключення
Запобігання: Моніторте статус з'єднання та реалізуйте надійну логіку перепідключення
Тайм-аут API
Симптоми: REST-запити завершуються тайм-аутом або повертають помилки 5xx
Дії:
- Повторюйте запити з експоненційною затримкою
- Перевірте ендпоінт стану:
GET /health - Зменште частоту запитів, якщо система перевантажена
Запобігання: Реалізуйте обмеження частоти запитів та circuit breakers
Проблеми з ордерами
Високий рівень відхилень
Симптоми: Багато ордерів відхиляються
Розслідування:
- Перевірте причини відхилення через
GET /orders?wallet=... - Перегляньте маржу:
GET /portfolio?wallet=... - Перевірте рівень (tier):
GET /user-tier?wallet=... - Переконайтеся, що інструменти не мають простроченої експірації:
GET /instruments
Дії:
- Якщо проблеми з маржею: Зменште розмір позиції або додайте забезпечення
- Якщо проблеми з рівнем: Оновіться до tier2 або покрийте продажі
- Якщо інструменти прострочені: Використовуйте інші інструменти
Відсутні виконання
Симптоми: Ордери виконано, але сповіщення про виконання не надходять
Розслідування:
- Перевірте виконання через
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 (qty, дельта, вега)
- Збільште
interval_ms, щоб дозволити більше виконань у вікні - Зменште частоту котирування
MMP не спрацьовує
Симптоми: Виконання перевищують ліміти, але MMP не спрацьовує
Розслідування:
- Переконайтеся, що MMP увімкнено:
GET /mmp-config?wallet=...¤cy=... - Перевірте
mmp_enabled=trueна ордерах - Переконайтеся, що валюта відповідає базовому активу ордера
Дії:
- Увімкніть MMP на ордерах:
mmp_enabled=true - Налаштуйте MMP для правильної валюти
- За потреби скоригуйте ліміти
Проблеми з маржею
Недостатня маржа
Симптоми: Ордери відхиляються з повідомленням "Insufficient margin"
Розслідування:
- Перевірте портфель:
GET /portfolio?wallet=... - Перегляньте розрахунок маржі
- Перевірте, який сценарій не проходить
Дії:
- Зменште розмір позиції
- Додайте забезпечення (коли буде реалізовано процес депозиту)
- Закрийте позиції, щоб вивільнити маржу
- Хеджуйте експозицію, щоб зменшити збиток у найгіршому сценарії
Відсутня спотова ціна
Симптоми: Ордери відхиляються з повідомленням "No spot price available"
Розслідування:
- Перевірте підключення до фіда спотових цін Hyperliquid
- Переконайтеся, що символ базового активу правильний
- Перевірте, чи працює фід спотових цін
Дії:
- Зачекайте на відновлення фіда спотових цін
- Використовуйте інший базовий актив, якщо доступний
- Зверніться до підтримки, якщо проблема не зникає
Системні проблеми
Висока затримка
Симптоми: Повільні відповіді API або затримки повідомлень WebSocket
Розслідування:
- Перевірте навантаження на систему
- Моніторте час відповіді
- Перевірте мережеве з'єднання
Дії:
- Зменште частоту запитів
- Реалізуйте обмеження частоти запитів
- Зверніться до підтримки, якщо проблема не зникає
Обмеження частоти запитів
Симптоми: Запити відхиляються або обмежуються
Поточний стан: Обмеження частоти запитів застосовується для кожного гаманця. Див. Ліміти запитів для деталей.
Дії:
- Перевірте заголовок
Retry-Afterта зачекайте перед повторною спробою - Моніторте
X-RateLimit-Remaining, щоб уникнути досягнення лімітів - За можливості використовуйте bulk-ендпоінти
Аварійні процедури
Аварійне вимкнення
Негайні дії:
- Скасуйте всі ордери:
DELETE /bulk_orderабоDELETE /bulk_order_cloid - Відключіть WebSocket
- Зупиніть систему котирування
Відновлення:
- Переконайтеся, що всі ордери скасовано:
GET /orders?wallet=... - Перегляньте портфель:
GET /portfolio?wallet=... - Розслідуйте першопричину
- Відновіть котирування після вирішення проблеми
Звірка даних
Після інциденту:
- Опитайте REST-ендпоінти для поточного стану
- Звірте ордери:
GET /orders?wallet=... - Звірте виконання:
GET /fills?wallet=... - Звірте портфель:
GET /portfolio?wallet=... - Відновіть підписки WebSocket
Ескалація
Якщо проблема не зникає:
- Перегляньте відомі проблеми та повідомлення стейджинг-середовища, надані разом із доступом
- Перегляньте Ранбуки для детальних процедур
- Зверніться до підтримки, надавши:
- Адресу гаманця
- Повідомлення про помилки
- Мітки часу
- Кроки для відтворення