Как это устроено
Риски
Главный риск на уровне протокола — манипуляция лучшими ценами покупки и продажи Hyperliquid. На этой странице описаны этот открытый риск, трения и лимиты экспозиции против него, операционные защиты поверх них, кто что может вызывать и другие риски, которые вы принимаете.
Риск дрожания BBO
Цена исполнения — это лучшие цены покупки и продажи Hyperliquid, прочитанные напрямую. На BTC и ETH спред узкий, но не нулевой, и внутри него кто угодно может выставить небольшую лимитную заявку, которой никогда не нужно исполняться: одно её присутствие на вершине стакана сдвигает лучшую цену покупки или продажи, а вместе с ней и среднюю цену, на тик-другой.
Тот, кто так сдвигает стакан, может суметь открыть или закрыть позицию здесь по искажённой средней цене и заработать, когда котировка вернётся к норме. Это реальный открытый риск: у ценообразования нет независимой эталонной цены, по которой можно было бы отклонить котировку.
Экономические трения и контроль экспозиции
Действуют четыре меры. Ни одна из них не доказывает, что манипуляция невозможна или невыгодна.
- Мёртвая зона. При прибыльном закрытии прибыль меньше 0.002% от цены входа обнуляется до применения кривой влияния, а с большей прибыли сначала вычитается эта величина.
- Кривая асимметричного влияния. Дисконт на прибыльные закрытия сильнее всего на самых маленьких движениях, что уменьшает выгоду от небольших искажений, не сравнивая стакан ни с какой другой ценой.
- Лимиты открытого интереса по направлениям. У каждого рынка отдельные лимиты для лонгов и шортов; открытие, которое превысило бы лимит своей стороны, откатывается. Кипер держит каждый лимит на уровне открытого интереса стороны плюс запас
Hпо текущей средней цене, не трогает его, пока запас остаётся в пределах 10% отH, и ограничивает скорость роста лимитов.Hзадаётся для каждого этапа запуска (ниже). Эти лимиты ограничивают новую экспозицию по каждой стороне; это не потолок для общего открытого интереса или убытков. - Удержание ранних закрытий. Если позиция открыта только что, релейер придерживает её закрытие до 6 секунд, чтобы нельзя было открыть и сразу закрыть позицию на одном устаревшем снимке.
Вместе они уменьшают выплаты и ограничивают, сколько новой экспозиции помещается под лимиты. Манипулированный, но ненулевой и непересечённый стакан всё равно проходит, так что риск манипуляции и убытков LP сохраняется.
Операционные защиты
- Киперы на страже. Наши киперы следят за стаканами, открытым интересом и состоянием каждой позиции, а ликвидации и сборы запускают в каждом блоке. Отдельный сторожевой сервис отслеживает остановившиеся стаканы и аномальные потоки и оповещает операторов.
- Вывод рынка из обращения, пауза торговли. Хранитель может вывести id рынка из обращения, если что-то выглядит не так: открытий по нему больше не будет, а позиции можно по-прежнему закрыть по стакану, замороженному в момент вывода. Вывод необратим; позже рынок можно залистинговать заново под новым id. Пауза торговли — обратимый способ остановить открытия на всех рынках; поставить паузу может хранитель, а снять — только владелец.
- Кипер лимитов. Кипер рынков применяет политику лимитов к каждой стороне независимо и меняет лимит, только когда запас выходит из своей полосы.
Открытые и ограниченные точки входа
Торговля идёт через наш релейер: открытия, закрытия, регистрацию сеансовых ключей и действия со стейкингом отправляют настроенные ключи релейера через BatchExecutor. Каждое из них всё равно несёт подпись вашего кошелька или сеансового ключа, которая проверяется ончейн, поэтому релейер не может действовать за аккаунт без его подписи.
Вывод средств остаётся в ваших руках: вы можете вызвать withdrawToCore из своего кошелька, а подписанный withdrawToCoreBySig может отправить кто угодно, но для него нужна подпись вашего собственного кошелька. Ликвидации, сборы, переводы пополнений и их завершение, а также воспроизведение отложенных начислений — публичные служебные вызовы; передача комиссий стейкерам доступна только контракту стейкинга, который делает это при каждом распределении. Развернуть прокси для пополнения может ключ развёртывания релейера и сам аккаунт; запустить распределение стейкинга может только кипер-распределитель или подписанный запрос через релейер. Никакого административного рычага над балансами пользователей нет.
Административные ключи
У каждой роли узкая область действия:
- Хранитель (мультисиг). Может вывести рынок из обращения (по замороженному стакану или, в экстренной ситуации, по маркировочной цене или цене оракула Hyperliquid), приостановить торговлю на всех рынках, заменить кипера рынков, отменить операции, запланированные в таймлоке, и повысить лимит газа для чтения цен. Не может снять паузу, перемещать средства, менять балансы или включать какие-либо спящие защиты.
- Владелец (таймлок, операции в котором планирует мультисиг управления, с задержкой 2 дня). Может менять комиссии и параметры влияния, листинговать рынки, заменять релейеры и киперов, задавать получателя комиссий команды, снимать паузу торговли, одобрять билдеров и задавать их ставку (не выше 15%), переносить незабранные комиссии билдера, один раз переключить начисление на правило доли предложения и обновлять контракты. Контракты обновляемые, поэтому в принципе владелец может заставить их делать что угодно; задержка делает каждое такое изменение видимым до того, как оно выполнится. Кто держит роли таймлока, в свою очередь определяет второй таймлок с задержкой 7 дней.
- Кипер рынков. Двигает лимиты открытого интереса по сторонам и задаёт минимальную маржу и минимальный размер позиции для открытий. Если обнулить лимит стороны, новые открытия в эту сторону прекратятся, а цены при этом не заморозятся. Не может перемещать средства, замораживать цены или менять кривую влияния.
- Внерабочий кипер. Переключает прибыльные закрытия между двумя кривыми выплат, зафиксированными в контракте (PnL с асимметричным влиянием), по опубликованному расписанию. Может выбрать одну из этих двух кривых и ничего больше.
- Хранитель билдеров (мультисиг управления). Может сразу удалить одобренного билдера, что прекращает его комиссию по всем ключам; уже заработанные им комиссии по-прежнему можно забрать.
- Согласователь. Может зачислить перевод пополнения, помеченный как неподтверждённый, — только в пределах записанной суммы, только из средств, поступление которых можно проверить и которые никому не принадлежат, и только в течение 30 дней.
Этапы запуска
Биржа открывается поэтапно. Этапы меняют только внешние рычаги (кто может торговать, запас H лимитов по сторонам, крупнейший одиночный ордер, который принимает релейер) и никогда — ончейн-параметры. Каждый этап длится не меньше своей минимальной продолжительности без серьёзных инцидентов, прежде чем начнётся следующий, а любой рычаг можно в любой момент понизить.
| Этап | Доступ | Запас открытого интереса на сторону (киперы) | Лимит на ордер (релейер) | Минимальная длительность |
|---|---|---|---|---|
| S0 | по списку | $100,000 | $10,000 | 7 дней |
| S1 | открытый | $500,000 | $100,000 | 14 дней |
| S2 | открытый | $2,000,000 | $1,000,000 | 14 дней |
| S3 | открытый | BTC $8,000,000 / ETH $6,000,000 | $10,000,000 | нет |
Спящие защиты
В контрактах есть защиты, которые собраны и протестированы, но на старте сознательно выключены: сделки исполняются по сырой средней цене, нет ни ограничителя оттока, ни автоматического выключателя. Включение любой из них — изменение параметра через таймлок, которое нужно сначала решить и объявить.
| Переключатель | Описание | Развёрнутое значение |
|---|---|---|
| D1 | price deviation bands against mark and oracle (guardMode) | guardMode = 0 |
| D2 | maximum relative spread (maxSpreadBps) | guardMode = 0 |
| D3 | minimum hold before a profitable close (minProfitHoldSecs) | minProfitHoldSecs = 0 |
| D4 | per-block open notional per side (maxOpenNotionalPerBlock) | maxOpenNotionalPerBlock = 0 |
| D5 | per-side USD cap against LP equity (sideCapFloorUsd / sideCapCeilingUsd / sideCapEquityBps) | sideCap… = off |
| D6 | LP drawdown circuit breaker | drawdownFloorUsd = max |
| D7 | per-account notional cap (maxAccountNotional) | maxAccountNotional = 0 |
| D8 | keeper OI-cap ceiling (capCeilingBase) | capCeilingBase = max |
| D9 | intent and session TTL bounds (maxIntentTtl, maxSessionDuration) | maxIntentTtl = maxSessionDuration = max |
Поэтому ограничителя на вывод денег с биржи нет: ошибку, которая раздула бы баланс, можно было бы использовать для вывода раньше, чем появится исправление. Индексатор проверяет учёт после каждого блока и сразу поднимает тревогу, а релейер может остановить выводы, которые проходят через него; прямые выводы остановить нельзя.
Другие риски
- Необеспеченные требования в очереди. Выигрыш, который LP не может выплатить, становится требованием, которое выплачивается только из будущих убытков. Ничто не ограничивает ни очередь, ни ожидание. LP начинался с $0, поэтому первым выигравшим платят через очередь.
- Ордерам нужен релейер. Если он не работает или отклоняет ордер, вы не можете ни открыть, ни закрыть позицию; свободный баланс по-прежнему можно вывести из кошелька. У подписанного ордера нет ценового лимита, и он действует до своего срока — до 61 минута вперёд; отзыв сеансовых ключей аннулирует все подписанные ими ордера.
- Ключи и фишинг. Сеансовый ключ может торговать, но никогда не может выводить средства; однако код, работающий на странице, может пользоваться им, пока работает. Сверяйте каждый запрос подписи со списком официальных подписей.
- Токен. BACK начисляется проигравшим, поэтому эмиссию можно фармить взаимно компенсирующими позициями. Переводы: выключено, и без отдельного решения их не включат. Награды не начисляются непрерывно, поэтому стейк, сделанный прямо перед распределением, в нём участвует.
- Технологии. Ошибки в контрактах, сбои HyperEVM или HyperCore, изменения прекомпилов Hyperliquid и отказы мостов — всё это может привести к убыткам или задержкам.
- Право. Условия использования, политика конфиденциальности и уведомление о рисках готовятся вместе с юристами и ещё не опубликованы.