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

Подключение к Portfolio Margin

Portfolio Margin (PM) работает в основной сети и доступен для всех счетов. Маржа по вашим опционам и перпам Hyperliquid рассчитывается совместно, исходя из риска портфеля в наихудшем сценарии, поэтому захеджированной книге нужно значительно меньше обеспечения, чем в режиме Standard Margin. На этой странице описано, как перейти на PM. Как рассчитывается сама маржа, см. в разделе Portfolio Margin.

Коротко: возьмите новый кошелёк-менеджер, создайте для него счёт Hypercall, включите в HyperCore режим единого счёта (unified account), переключитесь в режим Portfolio и только после этого вносите депозит.

Почему нужно начинать с нового кошелька​

Счёт Standard Margin (SM) с балансом или открытой книгой нельзя переключить на Portfolio Margin на месте. Hypercall принимает переключение в режим Portfolio, только если для кошелька-менеджера выполнены все условия:

ТребованиеЧто это значит
Ровно один счёт HypercallМенеджер управляет одним контрактом Account. Если счетов нет или их больше одного, запрос отклоняется.
Нулевой баланс StandardДенежный баланс кошелька в Standard Margin равен нулю. Любой доступный к выводу баланс блокирует переключение.
Нет позицийНет открытых позиций и открытых заявок ни на кошельке-менеджере, ни на его Account.

Эти правила существуют потому, что два режима представляют собой разные типы счетов, а не один счёт с настройкой:

  • Обеспечение хранится по-разному. Переход со Standard на Portfolio Margin означает перемещение средств, а не переключение флажка.
  • Позиции маржируются по разным правилам. Открытую позицию пришлось бы перевести с одного набора правил маржирования на другой.
  • Поэтому переключение выполняется с пустого счёта. Безопасно сделать и то и другое за один шаг невозможно, поэтому счёт сначала должен быть без позиций и без средств.

Режим маржи задаётся для каждого кошелька-менеджера, и один кошелёк не может работать в обоих режимах. Проще всего завести новый кошелёк-менеджер для PM: тогда ваш текущий SM-счёт продолжит котировать, пока вы всё настраиваете. Можно и обнулить текущий кошелёк (закрыть все позиции, отменить все заявки, вывести весь кэш Standard) и переключить его, но в этом случае SM-книга на это время остановится.

Что понадобится​

  • Новый кошелёк-менеджер (EOA под вашим контролем, желательно на аппаратном или иначе защищённом ключе).
  • HYPE в HyperEVM на этом кошельке для депозита при создании счёта и оплаты газа.
  • USDC, которые вы планируете использовать в качестве обеспечения.

Шаги настройки​

Выполняйте их по порядку. Шаг 4 должен предшествовать шагу 5.

  1. Создайте новый кошелёк-менеджер. Не используйте повторно SM-менеджер, API-кошелёк или ключ агента.

  2. Создайте счёт Hypercall. С кошелька-менеджера вызовите createAccount(salt) на контракте Factory, приложив депозит HYPE за создание. Это развернёт ваш контракт Account и активирует его в HyperCore. См. Подключение (контракты). Создавайте для этого менеджера только один счёт.

  3. Включите для Account режим единого счёта в HyperCore. Отправьте действие hl_set_abstraction, подписанное кошельком-менеджером, указав в user адрес вашего Account, а в abstraction значение 2 (единый счёт). POST /v1/actions/hl_set_abstraction/typed-data возвращает точные типизированные данные для подписи, а POST /v1/actions/hl_set_abstraction отправляет их. Дождитесь, пока HyperCore покажет Account как unifiedAccount. Другие режимы счёта Hyperliquid, включая собственный режим portfolio margin Hyperliquid, не поддерживаются.

  4. Переключитесь в режим Portfolio. Отправьте POST /margin-mode, указав в wallet адрес менеджера, а в margin_mode значение portfolio, с подписью кошелька-менеджера (см. Аутентификация). В ответе возвращается адрес вашего Account в качестве PM-кошелька. Сделайте это до внесения депозита: пока кошелёк находится в режиме Standard, депозит в Hypercall зачисляется как кэш Standard, и этот баланс блокирует переключение, пока вы его снова не выведете.

  5. Внесите USDC на свой Account. Внесите депозит через приложение, которое маршрутизирует средства с учётом режима маржи, или отправьте USDC в HyperCore на адрес вашего Account. Средства начнут учитываться в марже, как только они появятся в следующем снимке HyperCore, который получает Hypercall.

  6. Настройте ключи подписи. Разрешения, выданные на старом SM-кошельке, не переносятся.

    • Опционы (REST): одобрите свой торговый ключ для нового кошелька-менеджера через POST /approve-agent. См. Авторизация агентов.
    • Перпы (on-chain директивы): зарегистрируйте API-кошелёк на своём Account с помощью действия hc_update_api_wallet, подписанного менеджером. API-кошелёк может быть активен только на одном Account. См. Подпись EIP-712.
  7. Торгуйте. В запросах по опционам по-прежнему передавайте адрес менеджера в поле wallet, Hypercall направит их на ваш PM-счёт. Типы заявок, API заявок и подпись такие же, как в Standard Margin. О торговле перпами Hyperliquid из приложения см. Перпы в Hypercall.

В приложении выбор Portfolio в разделе Settings > Margin Mode выполняет шаги со 2 по 4 автоматически: создаёт счёт, если его нет, включает режим единого счёта и переключает режим маржи.

Если пропустить режим единого счёта

Hypercall оценивает PM-счёт по его капиталу в HyperCore, а HyperCore публикует капитал только для Account в режиме единого счёта. Если Account не в этом режиме, шаг 4 отклоняется с 400 pm_account_not_unified. Выполните шаг 3, дождитесь подтверждения режима от HyperCore и повторите попытку.

Если Account позже выйдет из режима единого счёта, запросы к портфелю будут возвращать 503 pm_account_equity_pending (или 409 pm_account_not_unified, если HyperCore ни разу не публиковал для него капитал), а заявки будут отклоняться с ошибкой вида missing HyperCore account equity for PM wallet 0x.... Чтобы это исправить, снова включите режим единого счёта. См. Ошибки и причины отклонения.

FAQ​

Могу ли я продолжать работать на счёте Standard Margin? Да. Подключите PM на новом кошельке-менеджере, а SM-счёт оставьте как есть.

Почему мой запрос на смену режима маржи отклонён? В ошибке указано нарушенное правило: у кошелька нет Account (или их больше одного), есть баланс Standard, есть открытые позиции или заявки, либо Account ещё не переведён в режим единого счёта HyperCore (pm_account_not_unified). См. Почему нужно начинать с нового кошелька.

Я внёс депозит до переключения. Что делать? Депозит зачислен как кэш Standard. Выведите его, затем переключитесь в режим Portfolio и внесите средства на свой Account.

Нужны ли новые API-ключи? Нужны новые разрешения. Одобрения агентов для опционов привязаны к кошельку-менеджеру, поэтому одобрите свой ключ заново для нового кошелька. API-кошелёк для перпов может быть активен только на одном Account, поэтому используйте новый ключ или сначала удалите его со старого Account (шаг 6).

Где узнать, как работают маржа, ликвидация и расчёт в PM? См. Portfolio Margin, Примеры расчёта маржи PM, Нижняя граница маржи, Ликвидация и Расчёт.