Ранбуки
Повний чекліст готовності деску та сертифікаційні тести інтеграції.
Чекліст готовності деску
Перед запуском у продакшн перевірте:
Підключення до API
- Стейджинг-ендпоінти протестовано
- Продакшн-ендпоінти налаштовано (за наявності)
- Ендпоінт перевірки стану (health check) відповідає
- WebSocket-з'єднання стабільне
Автентифікація
- Підписання EIP-712 працює
- Авторизацію агента налаштовано (якщо застосовно)
- Керування nonce реалізовано
- Перевірку підпису протестовано
Система котирування
- Масове розміщення ордерів протестовано
- Звірку життєвого циклу ордерів перевірено
- Відстеження виконань реалізовано
- Функціонал скасування протестовано
Контроль ризиків
- MMP налаштовано та протестовано
- Модель маржі зрозуміла
- Обмеження за тірами перевірено
- Моніторинг портфеля реалізовано
Моніторинг
- Підписки на WebSocket-фіди оформлено
- Звірку ордерів/виконань автоматизовано
- Перевірки стану налаштовано
- Сповіщення налаштовано
Аварійний вимикач (Kill Switch)
- Можливість скасувати всі ордери
- Можливість негайно відключитися
- Аварійні процедури задокументовано
Хеджування
- Інтеграцію з перпами Hyperliquid перевірено
- Стратегію дельта-хеджування реалізовано
- Розрахунок маржі перпів зрозумілий
Розрахунок
- Обробку експірації протестовано
- Розрахунок позицій перевірено
- Джерело референсної ціни зрозуміле
Сертифікаційні тести інтеграції
Тест 1: Розміщення ордера
Кроки:
- Розмістіть один ордер через
POST /order - Перевірте статус ордера:
ACKED→OPEN - Переконайтеся, що ордер з'являється в
GET /orders?wallet=... - Перевірте отримання WebSocket-повідомлень
order_updates
Очікуваний результат: Ордер успішно розміщено, оновлення статусу отримано
Тест 2: Масове розміщення ордерів
Кроки:
- Розмістіть 10 ордерів через
POST /bulk_order - Переконайтеся, що всі ордери прийнято
- Перевірте статуси ордерів через REST та WS
- Переконайтеся у відсутності помилок підпису/автентифікації
Очікуваний результат: Усі ордери успішно розміщено
Тест 3: Відстеження виконань
Кроки:
- Розмістіть ордер, який буде виконано
- Слідкуйте за каналом WebSocket
fills - Переконайтеся, що виконання отримано з правильним
order_id - Перевірте, що виконання з'являється в
GET /fills?wallet=... - Переконайтеся, що статус ордера оновлюється на
FILLED
Очікуваний результат: Виконання відстежуються коректно, статус ордера оновлено
Тест 4: Відстеження часткових виконань
Кроки:
- Розмістіть ордер, який буде виконано частково
- Слідкуйте за каналом WebSocket
fills(неorder_updates) - Переконайтеся, що часткове виконання отримано
- Агрегуйте виконання за
order_idдля обчислення виконаного обсягу - Переконайтеся, що статус ордера залишається
OPEN(неPARTIALLY_FILLEDу WS)
Очікуваний результат: Часткові виконання відстежуються через канал fills, статус ордера коректний
Тест 5: Скасування ордера
Кроки:
- Розмістіть ордер через
POST /order - Скасуйте ордер через
DELETE /order - Перевірте статус ордера:
CANCELED - Перевірте отримання WebSocket-повідомлень
order_updates
Очікуваний результат: Ордер успішно скасовано, оновлення статусу отримано
Тест 6: Спрацювання MMP
Кроки:
- Налаштуйте MMP через
POST /mmp-config - Розмістіть ордери з увімкненим MMP
- Спровокуйте спрацювання MMP, перевищивши ліміти
- Переконайтеся, що ордери скасовано з причиною MMP
- Перевірте, що інші ордери з увімкненим MMP також скасовано
Очікуваний результат: MMP спрацьовує коректно, ордери скасовано
Тест 7: Відхилення через маржу
Кроки:
- Розмістіть ордер, що перевищує маржу
- Переконайтеся, що ордер відхилено з причиною "Insufficient margin"
- Перевірте, що причина відхилення містить значення необхідної маржі, доступної маржі та дефіциту
- Перевірте статус ордера:
REJECTED
Очікуваний результат: Ордер відхилено з чіткою причиною
Тест 8: Обмеження за тіром
Кроки:
- Використайте гаманець, налаштований лише на довгі позиції (long-only)
- Спробуйте розмістити ордер на продаж без довгої позиції
- Переконайтеся, що ордер відхилено з причиною обмеження тіру
- Розмістіть ордер на купівлю (має бути успішним)
- Розмістіть ордер на продаж для закриття (має бути успішним)
Очікуваний результат: Обмеження за тірами застосовуються коректно
Тест 9: Перепідключення WebSocket
Кроки:
- Підключіться до WebSocket
- Підпишіться на канали
- Відключіть WebSocket
- Перепідключіться з експоненційною затримкою (exponential backoff)
- Повторно підпишіться на канали
- Опитайте REST, щоб отримати пропущені оновлення
Очікуваний результат: Перепідключення працює, стан відновлено
Тест 10: Звірка портфеля
Кроки:
- Розмістіть ордери та дочекайтеся їх виконання
- Перевірте портфель через
GET /portfolio?wallet=... - Переконайтеся, що позиції відповідають виконанням
- Перевірте коректність використання маржі
- Звірте з оновленнями WebSocket
portfolio
Очікуваний результат: Стан портфеля точний, звірка успішна
Готовність до продакшну
Чекліст перед продакшном
- Усі інтеграційні тести пройдено
- Моніторинг і сповіщення налаштовано
- Аварійний вимикач протестовано
- Аварійні процедури задокументовано
- Команду навчено реагуванню на інциденти
- Контакти підтримки визначено
Чекліст запуску
- Стейджинг-середовище повністю протестовано
- Продакшн-ендпоінти перевірено
- Дашборди моніторингу готові
- Сповіщення налаштовано
- Графік чергувань команди встановлено
- Документацію переглянуто
Посилання
- Швидкий старт: Quickstart
- Довідник API: REST API
- Помилки та відхилення: Errors
- Плейбук інцидентів: Incidents