Эта страница переведена автоматически. Оригинал на английском языке является каноническим. Читать на английском →
Перейти к основному содержимому

Режимы отказа

Поведение системы при сбоях и в деградированном режиме.

Принципы проектирования​

Hypercall продолжает торги там, где это возможно, и блокирует операции, если отсутствуют входные данные по цене или марже. При сбоях:

  • Торговля продолжается там, где все необходимые входные данные валидны
  • Отказавшие компоненты изолируются
  • Пользователи получают явные ошибки, а не устаревшие данные или выдуманные цены

Недоступность L1​

Если Hyperliquid L1 (HyperCore) становится недоступен:

ФункцияПоведение
Матчинг опционовПродолжается в книге заявок Hypercall, пока входные данные по цене и волатильности остаются валидными
Ордера по перпамНедоступны. Перпы исполняются на Hyperliquid.
РасчётыОткладываются, пока не накопится достаточно сэмплов оракула (см. ниже)
ДепозитыЗаблокированы до восстановления L1
Выводы средствЗаблокированы до восстановления L1

Работа восстанавливается автоматически, как только L1 снова становится доступен.

Отказы оракулов​

Ценовой оракул​

Если ценовой оракул становится недоступен:

ПоследствиеПоведение
Ордера, увеличивающие рискОтклоняются, как только последней зафиксированной спотовой цене исполняется более 30 секунд
Ордера, снижающие рискПринимаются и оцениваются по последней зафиксированной цене
Оценка маржи и ликвидацииПродолжается по последней зафиксированной цене. Цена-заменитель не формируется.
Расчётная цена на экспирацииНикогда не берётся из последней зафиксированной цены. См. Оракул недоступен в момент экспирации.

Исправный фид повторно фиксирует неизменившуюся цену как минимум раз в 10 секунд, поэтому на боковом рынке 30-секундный лимит не срабатывает. Работа восстанавливается автоматически, когда оракул возвращается в строй.

Оракул IV​

Если оракул подразумеваемой волатильности (IV) отказывает:

ПоследствиеПоведение
Новые ордераОрдера, увеличивающие риск по затронутому базовому активу, отклоняются
Ценообразование опционовРезервной цены нет. Расчёты, которым нужна отсутствующая IV, завершаются ошибкой.
Расчёт маржиБлокируется, а не выполняется с подставной волатильностью

Точные условия описаны в разделе Оракул волатильности.

Сбои расчётов​

Оракул недоступен в момент экспирации​

Цены расчёта определяются по 30-минутному окну TWAP перед экспирацией. Описанные выше правила оценки при сбое на расчётную цену не распространяются. Если данные оракула недоступны:

  1. Частичный сбой: TWAP рассчитывается, только если в окне есть не менее 500 сэмплов. Hypercall может восстановить короткое окно по архивной истории оракула Hyperliquid с тем же минимальным порогом.
  2. Полный сбой: расчёт ждёт, пока не появится окно минимум с 500 сэмплами. Он не проводится по последней зафиксированной цене, неполному окну или цене-заменителю.

Расчёт может быть отложен и без сбоя, если финализированный TWAP недоступен точно в тик экспирации. В этом случае инструмент остаётся в статусе Expired Pending Price, торговля по нему отключена, а расчёт автоматически повторяется, пока не появится финализированная цена.

Алгоритм TWAP спроектирован с защитой от манипуляций. Подробности в разделе Оракулы.

Недоступность API​

Если API Hypercall становится недоступен:

КомпонентСтатус
ТорговляНедоступна. Ордера и отмены по опционам, а также ордера по перпам проходят через API Hypercall.
Позиции и балансыХранятся в персистентном журнале движка и восстанавливаются при перезапуске
Открытые ордераВходят в состояние движка и восстанавливаются при перезапуске. Отменить их нельзя, пока API не вернётся в строй.
Позиции по перпамОстаются на вашем аккаунте Hyperliquid
Подписки WebSocketОтключаются

Рекомендации​

  • Реализуйте логику переподключения с экспоненциальной задержкой (exponential backoff)
  • Кэшируйте критичные данные локально
  • Проверяйте GET /health перед началом торговли
  • Исходите из того, что лимитные ордера в книге остаются активными во время недоступности API, и выставляйте объём котировок с учётом этого

Эндпоинт проверки состояния​

ЭндпоинтНазначение
GET /healthБазовая проверка работоспособности (liveness)
GET /readyПолная проверка готовности, включая зависимости

Информирование об инцидентах​

Во время инцидентов следите за: