Как это работает
Сеансовые ключи
Почему вы не видите окно кошелька на каждую сделку и что именно вы разрешаете.
Почему достаточно одного клика
Когда вы включаете торговлю, кошелёк подписывает одно сообщение, в котором указаны пара ключей, созданная в вашем браузере, и срок её действия: RegisterSessionKeyV2 в первый раз (в нём можно указать и того, кто вас пригласил, — эта связь закрепляется навсегда) и RegisterSessionKey для каждого следующего ключа. Релейер отправляет его, и контракт SessionKeyManager записывает ключ за вашим аккаунтом. С этого момента сеансовый ключ подписывает ваши открытия и закрытия, релейер их отправляет, а контракты принимают их как ваши.
Ключ создаётся и используется в отдельном воркере браузера и хранится в зашифрованном виде под ключом, который браузер держит неизвлекаемым, поэтому сам ключ никогда не лежит в хранилище страницы. Воркер подписывает только торговые сообщения для вашего аккаунта в этом развёртывании.
Что может сеансовый ключ
- Открывать позиции на вашем аккаунте за счёт доступного баланса или баланса в очереди (
OpenPosition). - Закрывать позиции вашего аккаунта (
Close). - Отменять ваши ордера, которые ещё стоят в очереди у релейера (
CancelIntent).
Чего сеансовый ключ не может
- Выводить средства: для каждого вывода нужна подпись вашего собственного кошелька.
- Стейкать, выводить из стейкинга или забирать награды: это тоже подписи кошелька.
- Регистрировать или отзывать ключи.
Худший случай при утечке сеансового ключа: кто-то сможет открывать и закрывать позиции на вашем аккаунте и может проиграть ваш баланс в сделках, но вывести его с биржи не сможет. Код, работающий на странице, например вредоносное расширение браузера, может пользоваться разблокированным ключом, пока работает, поэтому отзывайте ключи, которые больше не нужны.
Комиссии билдеров
В регистрации, которую вы подписываете, есть ещё адрес билдера и максимальная комиссия билдера, на которую вы согласны; приложение оставляет их пустыми и нулевыми. Ключ, зарегистрированный через другой фронтенд, может указывать этот фронтенд; пока владелец одобряет его как билдера, позиции, которые закрывает этот ключ, платят ему меньшее из его ставки и подписанного вами максимума — не больше 0.5% от PnL: из вашей прибыли при выигрыше, из прибыли LP при убытке. Подробнее — в разделе Коды билдеров.
Срок действия
Ключ регистрируется на 30 дней. У каждого ордера, который он подписывает, свой срок — 1 час вперёд, и он должен укладываться в срок жизни ключа. У аккаунта может быть не больше 8 активных или ожидающих ключей.
Отзыв
Окно «Торговые сеансы» в приложении показывает все ключи вашего аккаунта, отмечает ключ этого устройства и отзывает один ключ или все сразу, в том числе ключи на устройствах, которых у вас больше нет. Отозвать ключ можно двумя способами:
- транзакцией из вашего кошелька в SessionKeyManager — для этого нужно немного HYPE на газ;
- подписанным сообщением, которое релейер отправляет бесплатно, — до 32 ключей за раз или все. Этот способ без газа добавлен намеренно: чтобы отключить потерянное устройство можно было даже без HYPE в кошельке.
Когда ключ отозван, все стоящие в очереди ордера, которые он подписал, отменяются, а любой подписанный им ордер, который дойдёт до блокчейна позже, отклоняется. Все сообщения, которые биржа просит подписать ваш кошелёк, перечислены на странице Официальные подписи.