Режими збоїв
Поведінка системи під час збоїв і в деградованих умовах.
Принцип проєктування
Hypercall продовжує торгівлю там, де це можливо, і безпечно відмовляє (fail closed), коли відсутні вхідні дані про ціну або маржу. Під час збоїв:
- Торгівля триває там, де необхідні вхідні дані є коректними
- Компоненти, що відмовили, ізолюються
- Користувачі отримують явні помилки, а не застарілі дані чи вигадані ціни
Недоступність L1
Якщо Hyperliquid L1 (HyperCore) стає недоступним:
| Функція | Поведінка |
|---|---|
| Зведення опціонних заявок | Триває в книзі заявок Hypercall, доки вхідні дані про ціну та волатильність залишаються коректними |
| Заявки на перпи | Недоступні. Перпи виконуються на Hyperliquid. |
| Розрахунки | Відкладаються, доки не набереться достатньо зразків оракула (див. нижче) |
| Депозити | Заблоковані до відновлення L1 |
| Виведення коштів | Заблоковані до відновлення L1 |
Відновлення відбувається автоматично, щойно L1 знову стає доступним.
Збої оракулів
Ціновий оракул
Якщо ціновий оракул стає недоступним:
| Вплив | Поведінка |
|---|---|
| Заявки, що збільшують ризик | Відхиляються, щойно остання зафіксована спотова ціна стає старшою за 30 секунд |
| Заявки, що зменшують ризик | Приймаються й оцінюються за останньою зафіксованою ціною |
| Оцінка маржі та ліквідації | Тривають за останньою зафіксованою ціною. Жодна замінна ціна не формується. |
| Ціна розрахунку на експірації | Ніколи не береться з останньої зафіксованої ціни. Дивіться Оракул недоступний на експірації. |
Справний фід повторно фіксує незмінну ціну щонайменше кожні 10 секунд, тож пласкій ринок не спричиняє спрацювання 30-секундного ліміту. Відновлення відбувається автоматично, коли оракул повертається.
Оракул IV
Якщо оракул IV відмовляє:
| Вплив | Поведінка |
|---|---|
| Нові заявки | Заявки, що збільшують ризик за відповідним базовим активом, відхиляються |
| Ціноутворення опціонів | Резервної ціни немає. Розрахунки, яким потрібна відсутня IV, завершуються помилкою. |
| Розрахунок маржі | Безпечно відмовляють замість використання замінної волатильності |
Точні умови див. у розділі Оракул волатильності.
Збої розрахунків
Оракул недоступний на експірації
Ціни розрахунку використовують 30-хвилинне вікно TWAP перед експірацією. Наведені вище правила оцінки під час збою на ціну розрахунку не поширюються. Якщо дані оракула недоступні:
- Частковий збій: TWAP обчислюється, лише якщо вікно містить щонайменше 500 зразків. Hypercall може відновити коротке вікно з архівної історії оракула Hyperliquid за тієї ж мінімальної вимоги.
- Повний збій: розрахунок чекає, доки не з'явиться вікно щонайменше з 500 зразками. Він не проводиться за останньою зафіксованою ціною, неповним вікном чи замінною ціною.
Розрахунок також може бути відкладено без збою, якщо остаточний TWAP недоступний точно в момент експірації. У такому разі інструмент залишається в стані Expired Pending Price, торгівля залишається вимкненою, а розрахунок автоматично повторюється, доки не з'явиться остаточна ціна.
Алгоритм TWAP розроблено так, щоб протидіяти маніпуляціям. Докладніше див. у розділі Оракули.
Недоступність API
Якщо API Hypercall стає недоступним:
| Компонент | Стан |
|---|---|
| Торгівля | Недоступна. Опціонні заявки, скасування та заявки на перпи проходять через API Hypercall. |
| Позиції та баланси | Зберігаються в надійному журналі рушія та відновлюються під час перезапуску |
| Відкриті заявки | Є частиною стану рушія та відновлюються під час перезапуску. Ви не можете скасувати їх, доки API не повернеться. |
| Позиції в перпах | Залишаються на вашому акаунті Hyperliquid |
| Підписки WebSocket | Розриваються |
Рекомендації
- Реалізуйте логіку повторного підключення з експоненційною затримкою
- Кешуйте критичні дані локально
- Перевіряйте
GET /healthперед торгівлею - Виходьте з того, що лімітні заявки в книзі залишаються активними під час недоступності API, і визначайте розмір котирувань з урахуванням цього
Ендпоінт стану
| Ендпоінт | Призначення |
|---|---|
GET /health | Базова перевірка працездатності |
GET /ready | Повна перевірка готовності, включно із залежностями |
Комунікація під час інцидентів
Під час інцидентів перевіряйте:
- Сторінка стану: status.hypercall.xyz
- X: @SynapseProtocol
- Telegram: t.me/hypercall_trollbox
- Discord: discord.gg/4rMzuEnKqe