Подключение к 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.
-
Создайте новый кошелёк-менеджер. Не используйте повторно SM-менеджер, API-кошелёк или ключ агента.
-
Создайте счёт Hypercall. С кошелька-менеджера вызовите
createAccount(salt)на контракте Factory, приложив депозит HYPE за создание. Это развернёт ваш контракт Account и активирует его в HyperCore. См. Подключение (контракты). Создавайте для этого менеджера только один счёт. -
Включите для 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, не поддерживаются. -
Переключитесь в режим Portfolio. Отправьте
POST /margin-mode, указав вwalletадрес менеджера, а вmargin_modeзначениеportfolio, с подписью кошелька-менеджера (см. Аутентификация). В ответе возвращается адрес вашего Account в качестве PM-кошелька. Сделайте это до внесения депозита: пока кошелёк находится в режиме Standard, депозит в Hypercall зачисляется как кэш Standard, и этот баланс блокирует переключение, пока вы его снова не выведете. -
Внесите USDC на свой Account. Внесите депозит через приложение, которое маршрутизирует средства с учётом режима маржи, или отправьте USDC в HyperCore на адрес вашего Account. Средства начнут учитываться в марже, как только они появятся в следующем снимке HyperCore, который получает Hypercall.
-
Настройте ключи подписи. Разрешения, выданные на старом SM-кошельке, не переносятся.
- Опционы (REST): одобрите свой торговый ключ для нового кошелька-менеджера через
POST /approve-agent. См. Авторизация агентов. - Перпы (on-chain директивы): зарегистрируйте API-кошелёк на своём Account с помощью действия
hc_update_api_wallet, подписанного менеджером. API-кошелёк может быть активен только на одном Account. См. Подпись EIP-712.
- Опционы (REST): одобрите свой торговый ключ для нового кошелька-менеджера через
-
Торгуйте. В запросах по опционам по-прежнему передавайте адрес менеджера в поле
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, Нижняя граница маржи, Ликвидация и Расчёт.