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

Журнал изменений

Изменения и выводы из эксплуатации в API Hypercall для тестнета и альфа-версии основной сети.

Политика изменений экспериментального API​

Все эндпоинты /experimental и явно помеченные как экспериментальные сообщения WebSocket нестабильны. Несовместимые изменения могут вступить в силу после уведомления за один день (24 часа). Сюда относятся удаление или переименование полей и эндпоинтов, изменение типов полей, а также изменение поведения запросов и ответов. В уведомлениях в этом журнале будут указаны затрагиваемые интерфейсы, необходимые изменения на стороне клиента, а также дата и время вступления в силу. Клиенты обязаны отслеживать эти уведомления и обновляться до указанного срока. Эта политика не меняет обязательств по совместимости для неэкспериментальных эндпоинтов и подписок.

Актуальный интерфейс описан в разделе экспериментальный API комбинаций. Эта политика не объявляет о доступности и не означает немедленного изменения схемы.

См. также: Справочник REST API · WebSocket API · Аутентификация


Без нового релиза, 6 октября 2026 г.​

Добавлено​

  • Публичная политика PM-маржи: GET /v1/pm-margin/policy без аутентификации возвращает действующую политику портфельной маржи (вид, версию, режим гамма-надбавки и полный перечень базовых активов с параметрами по каждому). Ответ содержит сильный ETag и Cache-Control: public, max-age=60, stale-while-revalidate=300; отправьте If-None-Match, чтобы получать 304 Not Modified без тела, пока политика не изменилась. См. Параметры риска PM.
  • Сжатие WebSocket в продакшене: согласование permessage-deflate, описанное в записи от 30 сентября, теперь включено в продакшен-конфигурации. Клиентов, которые не предлагают это расширение, изменение не затрагивает.

Без нового релиза, 5 октября 2026 г.​

Добавлено​

  • Лимиты запросов и тарифные уровни не менялись в этот период; лимиты запросов остались прежними, а новые отправки перп-ордеров через TEE учитываются на менеджере аккаунта так же, как и прочие отправки перп-ордеров. Ни один эндпоинт не выведен из эксплуатации.
  • Маршруты TEE для триггерных и пакетных перп-ордеров: POST /v1/tee-perp/orders/submit-trigger отправляет один нативный стоп-лосс или тейк-профит, а POST /v1/tee-perp/orders/submit-batch отправляет сгруппированный ордер (na, normalTpsl или positionTpsl). Оба маршрута используют ту же подпись EIP-712 ключом приложения, что и POST /v1/tee-perp/orders/submit, проходят ту же проверку портфельной маржи и всегда несут билдер-код Hypercall.
  • Предпросмотр перп-ордеров TEE: POST /v1/tee-perp/preview выполняет проверку маржи для ордера, пакета или изменения кредитного плеча без записи в журнал, резервирования nonce и обращения к анклаву и возвращает решение, стабильный reasonCode, показатели маржи, цены ликвидации на площадке и найденный бисекцией maxSize. Ответы на отправку ордеров, пакетов и изменений кредитного плеча теперь содержат тот же reasonCode. См. коды причин.
  • Рынки перпов TEE: GET /v1/tee-perp/markets возвращает список рынков бессрочных контрактов, которые принимает Hypercall, и их индексы активов. Любой рынок, для которого есть ценовой фид Hypercall, сетка сценариев PM и рынок Hyperliquid с маржой в USDC, принимается на всех маршрутах TEE. Остальные рынки отклоняются с market_not_supported.
  • Напоминание о маршрутах: на уровне API маршруты TEE подключаются по желанию: API-клиенты выбирают их, обращаясь к эндпоинтам /v1/tee-perp/, а ордера, не использующие их, идут через путь директив контракта аккаунта. В приложении Hypercall TEE является маршрутом перпов по умолчанию, а маршрут через смарт-контракт доступен как расширенная настройка в разделе «Настройки».

Изменено​

  • Идентификаторы запросов, задаваемые клиентом, должны быть свежими UUIDv7. POST /v1/tee-perp/cancels/submit-prepared (оба поля, nonceReservationRequestId и requestId) и POST /liquidation/standard-margin (request_id) возвращают 400, если идентификатор запроса не является UUIDv7 (например, v4 из crypto.randomUUID()), если встроенная в него метка времени старше 1 часа или если она опережает текущее время более чем на 30 секунд. Генерируйте новый UUIDv7 для каждого нового запроса и используйте его повторно только для повтора этого же запроса в пределах часа.
  • Повторы ордеров, отмен и изменений кредитного плеча TEE, пересекающие этот релиз, отклоняются. В этом релизе изменились идентификаторы, назначаемые сервером, для POST /v1/tee-perp/orders/submit, POST /v1/tee-perp/cancels/submit, POST /v1/tee-perp/cancels/submit-by-oid, POST /v1/tee-perp/schedule-cancel/submit и POST /v1/tee-perp/leverage/submit. Повтор запроса, впервые отправленного до обновления, вернёт 400 из-за повторно использованного nonce вместо исходного подтверждения; при этом исходный запрос остаётся в силе. Подпишите и отправьте новый запрос со свежим nonce.
  • Размеры ног RFQ проверяются на точность при отправке: размер ноги RFQ с более чем 6 знаками после запятой (мельче 0.000001) отклоняется при отправке RFQ, а в ошибке указывается наибольший исполнимый размер, до которого нужно округлить вниз. Ранее RFQ принимался, после чего все котировки маркетмейкеров завершались ошибкой, и тейкеры видели общий таймаут из-за отсутствия котировок. Хеш подписанных ног не изменился: округлите размер самостоятельно до подписи.

Без нового релиза, 4 октября 2026 г.​

Добавлено​

  • Кредитное плечо перпов TEE: POST /v1/tee-perp/leverage/submit изменяет кредитное плечо по рынку и режим кросс- или изолированной маржи через маршрут TEE, применяя то же правило маржи, что и при допуске ордеров. Отклонённое изменение возвращает стабильный reasonCode, например insufficient_margin или leverage_requires_flat_account.

Без нового релиза, 2 октября 2026 г.​

Добавлено​

  • Маршруты TEE для отмены и отложенной отмены перп-ордеров: POST /v1/tee-perp/cancels/submit (по клиентскому идентификатору ордера), POST /v1/tee-perp/cancels/submit-by-oid и POST /v1/tee-perp/schedule-cancel/submit (dead man's switch) доступны на маршруте TEE.

Без нового релиза - 30 сентября 2026 г.​

Добавлено​

  • Сжатие WebSocket: /ws поддерживает permessage-deflate по RFC 7692 с server_no_context_takeover; включается для каждого окружения отдельно. Клиенты, предлагающие это расширение, получают крупные сообщения в сжатом виде; на клиентов без него изменение не влияет. См. Сжатие.
  • Пакетные индикативные рыночные данные: новый канал indicative_market_data_v2 доставляет строки indicative_market_data в виде фреймов IndicativeMarketDataBatch. Каждый фрейм содержит строки, опубликованные в пределах одного окна пакетирования (по умолчанию 25 мс), в исходном порядке и без схлопывания. Подтверждение подписки: {"type":"Subscribed","channel":"indicative_market_data_v2","batch":true}; если маркера нет, вернитесь к каналу indicative_market_data, который не изменился. Строки приходят с задержкой до одного окна. С permessage-deflate пакетные фреймы примерно в пять раз меньше, чем строки, сжатые по отдельности. См. Пакетная доставка. Недолго просуществовавшее поле подписки "batch": true удалено; серверы его игнорируют.
  • Неизвестные каналы отклоняются: Subscribe на несуществующий канал теперь возвращает {"type":"Error","code":"unknown_channel","channel":"<name>","message":"Unknown channel '<name>'"} вместо подтверждения Subscribed с последующей тишиной. В сообщениях Error появились необязательные поля code и channel. Для выведенных из эксплуатации каналов сохраняется прежняя ошибка.
  • Клиент на Rust: WsClient::subscribe_indicative_market_data(symbols) подписывается на indicative_market_data_v2 и переключается на indicative_market_data, если сервер подтверждает подписку без маркера пакетирования или отклоняет канал. Отключить это можно через WsClient::with_batched_indicative(false), а остановить подписку через WsClient::unsubscribe_indicative_market_data(), который работает с тем каналом, на котором она в итоге оказалась. Несовместимое изменение (до версии 1.0): у метода удалён аргумент batch, WsMessage::Subscribe лишился поля batch, а WsMessage::Subscribed и WsMessage::Error получили необязательные поля, поэтому литералы структур и исчерпывающие сопоставления с образцом нужно обновить.

Изменено​

  • Несовместимое изменение: портфельная маржа требует унифицированного аккаунта HyperCore. POST /margin-mode со значением portfolio теперь завершается ошибкой 400 с кодом pm_account_not_unified, если HyperCore не сообщает, что Account находится в режиме unifiedAccount. Сначала включите этот режим директивой hl_set_abstraction, дождитесь подтверждения и повторите запрос. PM Account без унификации всё равно невозможно было оценить, так что это изменение заменяет более позднюю и малопонятную ошибку.
  • GET /portfolio объясняет отсутствие данных об эквити для PM. Если у Account с портфельной маржой нет актуального эквити HyperCore, ответ будет 409 pm_account_not_unified, когда HyperCore ни разу не публиковал этот Account и сообщает другой режим, либо 503 pm_account_equity_pending (запрос можно повторить), пока актуальный унифицированный снимок не дойдёт до движка (с указанием режима HyperCore, если он не унифицированный). Прочие ошибки оценки PM по-прежнему возвращают общий 503.
  • Предварительная проверка мейкера в RFQ отделяет ошибки ценообразования. Котировка, которую площадка не может оценить (например, из-за отсутствия поверхности подразумеваемой волатильности), теперь отклоняется с причиной pricing_unavailable вместо margin_rejected. margin_rejected теперь означает только маржинальное решение по аккаунту мейкера.

Без нового релиза - 2 сентября 2026 г.​

Добавлено​

  • Публичная симуляция рисков: POST /risk/simulate/portfolio показывает результат наложения или замены позиций по маркировочной цене. POST /risk/simulate/orders показывает результат финансового допуска для лимитных (resting) или атомарных ордеров. Оба эндпоинта работают с одним неизменяемым снимком движка, поддерживают стандартную и портфельную маржу, не требуют аутентификации и никогда не изменяют состояние аккаунта или журнала. Предпросмотр ордеров не учитывает маршрутизацию, сопоставление, nonce и гарантии остановки торгов, поэтому реальный ордер, отправленный позже, может дать другой результат после изменения состояния движка.
  • Упорядоченные базовые наборы открытых ордеров: POST /risk/simulate/orders принимает необязательный параметр hypothetical_open_orders, последовательно допускает эти ордера как лимитные GTC-ордера и показывает их совокупный эффект вместе с предлагаемым ордером или атомарным пакетом.

Миграция опционов на стандартную маржу​

Охват: стандартная маржа распознаёт совместимые опционные спреды, бабочки и другие портфели в пределах каждого базового актива и экспирации. Календарные спреды сохраняют раздельные группы экспираций. Финансирование в USDC и существующие маршруты ордеров не меняются.

Дополнительный денежный контракт: сводки портфеля в REST и WebSocket получают поле standard_margin, содержащее cash_margin, initial_margin_headroom, maintenance_margin_headroom и диагностику совместимых экспираций. Существующие поля initial_margin и maintenance_margin сохраняют прежний смысл, основанный на NAV. Для допуска ордеров и ликвидации в режиме SM используйте явные поля денежного запаса. Отсутствие детализации означает, что функция недоступна, а не что риск нулевой.

Несовместимая семантика позиций: margin_posted и maintenance_margin по отдельной позиции являются самостоятельными диагностическими показателями до применения групповой защиты. Не суммируйте их для расчёта требований по аккаунту и не используйте для оценки стоимости закрытия одной ноги. Используйте требования по аккаунту и групповую детализацию.

Несовместимое поле с null: опционные позиции в SM теперь возвращают liquidation_price: null в сообщениях портфеля REST и WebSocket. Обновите декодеры, ожидающие десятичную строку, и отображайте недоступную цену или запас по аккаунту. Возврат прежней цены искажал бы групповой риск ликвидации. Изменение требует согласованного перехода бэкенда и клиентов; совместимость со строгими старыми декодерами не заявляется.

Миграция клиентов: обновите фронтенд и автоматизированных потребителей рисковых данных до возобновления торговли на новом бэкенде. Отмените старые котировки мейкера и убедитесь, что они сняты, затем остановите старого мейкера. Запускайте обновлённого мейкера только при наличии новой денежной детализации. Новые версии мейкера прекращают котирование, если этого контекста нет; старые версии используют NAV для расчёта загрузки и не подходят для новых денежных правил риска. Не запускайте разные версии бэкенда для одних и тех же торговых аккаунтов.

Библиотеки Rust: цены ликвидации позиций в портфеле становятся необязательными, а сводки маржи получают публичное поле детализации, что требует соответствующих изменений в литералах структур. Сигнатуры существующих вспомогательных функций маржи на основе NAV не меняются; потребители рисков, учитывающие денежные средства, должны использовать явный контракт SM. Библиотека ликвидатора также требует авторитетного запаса maintenance_margin в сериализованных снимках маржи и сконструированных кандидатах. Пересоберите эти снимки из актуальных данных; не выводите отсутствующий денежный запас из сохранённого NAV.

Проверка: собственные потребители различают PM и SM, недоступность денежного контекста останавливает автоматические рисковые решения, а форматы запросов и подписей ордеров не меняются. Эта запись о неопубликованных изменениях не означает развёртывания или поддержки поэтапного перехода со смешанными версиями.


Без нового релиза - 15 августа 2026 г.​

Добавлено​

  • Объём по активам коллекции: GET /accounts/{wallet}/collection теперь возвращает точный совокупный канонический номинал базового актива за всё время по каждому активу в виде десятичной строки в новом поле assets[].volume.

Без нового релиза — 14 августа 2026 г.​

Уведомления об устаревании​

  • Поле username в профиле устарело: поле username в ответе Rust GET /profile объявлено устаревшим и может быть удалено 7 сентября 2026 г. или позже. Вместо него получайте выбранные имена пользователей через GET /username?wallet=... в Analytics API. Если этот эндпоинт возвращает 404, сформируйте имя вида adjective_noun.xx локально из канонического кошелька. На период миграции успешные ответы /profile содержат заголовки Deprecation, Sunset, X-Deprecation-Removal-Unix и Warning.
  • Оставшиеся устаревшие поля username в ответах: поле username в ответах устаревших Rust-эндпоинтов GET /username и POST /username, а также в ответах лидерборда соревнований, по-прежнему может быть удалено по графику от 20 августа 2026 г. Заменой для выбранного имени пользователя служит контракт Analytics API: GET /username и подписанный POST /username. Если выбранное имя отсутствует, клиенты лидерборда должны формировать отображаемые имена вида adjective_noun.xx локально из канонического wallet или wallet_address. Приведённый ниже детерминированный алгоритм имени аккаунта является нормативным.

Детерминированный алгоритм имени аккаунта​

Вход: удалите пробелы по краям и приведите канонический EVM-кошелёк к нижнему регистру. Значение должно соответствовать ^0x[0-9a-f]{40}$. Для некорректного входа результат — Unknown.

Упорядоченные списки слов: сохраняйте строго этот порядок.

adjectives = [swift, silent, long, short, deep, wide, sharp, calm, cold, quiet, bold, thin, idle, vivid, grim, amber, slate, rapid, steady, hollow, rogue, plain, lucky, brisk, stark]
nouns = [theta, vega, gamma, delta, rho, basis, carry, skew, strike, tenor, vol, wick, candle, ladder, condor, collar, straddle, strangle, butterfly, spread, hedge, premium, tick, lot]

Хеш-функция: используйте 32-битный FNV-1a по ASCII-байтам. Результат каждого умножения усекается до беззнакового 32-битного целого, что эквивалентно Math.imul(hash, 0x01000193) >>> 0 в JavaScript.

fnv1a32(value, seed = 0x811c9dc5):
hash = uint32(seed)
for byte in ascii(value):
hash = uint32(hash XOR byte)
hash = uint32(hash * 0x01000193)
return hash

wallet = trim(input).lowercase()
adjective_hash = fnv1a32(wallet)
noun_hash = fnv1a32(wallet + "#2", adjective_hash)
adjective = adjectives[adjective_hash modulo 25]
noun = nouns[noun_hash modulo 24]
suffix = last 2 characters of wallet
display_name = adjective + "_" + noun + "." + suffix

Тестовые векторы:

КошелёкОтображаемое имя
0x000000000000000000000000000000000000002avivid_candle.2a
0xd9fe4c6bf4271fd685409cd01b7eece052c886c8silent_theta.c8

Новое​

  • Публичный API значков: Worker аналитики теперь отдаёт реестр значков по GET /badges, постраничный список владельцев по GET /badges/{slug}, состояние отдельного аккаунта по GET /badges/accounts/{wallet} и кэшируемые пакеты до 100 кошельков по GET /badges/accounts?wallet=.... Пьедестал и объём за всё время берутся из материализованных поколений лидерборда. Право на значок Founding зафиксировано для аккаунтов, впервые замеченных до 1 августа 2026 г. (UTC). Счётчики сообщений Trollbox, привязанных к кошельку, обновляются ежечасно; заработанные уровни сохраняются и после удаления сообщения.
  • Достижения профиля: серии и коллекция: GET /accounts/{wallet}/streak?days=14|61|365 возвращает календарь серии. GET /accounts/{wallet}/collection возвращает независимую сетку активов коллекции без параметра временного окна. Серия считает подряд идущие дни (UTC) с хотя бы одним засчитываемым исполнением. Коллекция считает число различных базовых активов, которыми вы торговали, и сравнивает его с текущим каталогом листинга. Разрешённые самосделки не засчитываются. Полная коллекция остаётся заработанной, даже если каталог впоследствии расширится.
  • Имена Hyperliquid в строках лидерборда: строки data[], возвращаемые эндпоинтами лидерборда соревнований и лидерборда за всё время, теперь содержат поле hyperliquid_name, которое может быть null. Worker аналитики разрешает имена только для кошельков на возвращённой странице, объединяет вызовы HyperEVM в пакеты и кэширует как положительные, так и отрицательные результаты на десять минут. Это поле не связано с устаревшим сгенерированным username. Клиенты могут использовать его, если оно не null, а в противном случае — детерминированное имя аккаунта.

Без нового релиза — 3 августа 2026 г.​

Критические изменения​

  • Изображения профиля удалены из Rust API: POST /profile/image больше недоступен, а GET /profile больше не возвращает profile_image_url.

Без нового релиза — 29 июля 2026 г.​

Критические изменения​

  • REST-эндпоинт свечей удалён: GET /candles больше недоступен и теперь возвращает 404. Клиенты должны прекратить обращаться к этому эндпоинту.
  • Доставка свечей через WebSocket прекращена: Hypercall больше не публикует сообщения CandleUpdate в каналы candles:<UNDERLYING>:<RESOLUTION>. Клиенты должны прекратить подписываться на эти каналы. Замены для потока свечей в этом релизе нет.

Без нового релиза — 27 июля 2026 г.​

Новое​

  • Время публикации индикативных данных: каждый WebSocket-пакет indicative_market_data теперь содержит published_at — метку времени по часам API в миллисекундах, когда этот пакет был отправлен. Используйте published_at - rfq_provider_quotes[].updated_at, чтобы измерить возраст котировки провайдера на момент публикации. Не сравнивайте ни одно из этих значений с системными часами клиента. Существующее поле timestamp по-прежнему означает время обновления исходного агрегата.
  • Транспортные часы WebSocket: клиенты, которым нужна консервативная оценка интервала от публикации до получения, могут отправить {"type":"ClockSync","nonce":"<client nonce>"} и дождаться {"type":"ClockSynced","nonce":"<same nonce>","server_at":<API milliseconds>} перед подпиской. Сочетайте этот отсчёт API с монотонным временем, прошедшим на стороне клиента. Не сравнивайте server_at с системными часами клиента.

Без нового релиза — 22 июля 2026 г.​

Новое​

  • Направление сделки в публичной истории: каждая сделка, возвращаемая GET /trades, теперь содержит taker_side со значением Buy или Sell. Сторона мейкера всегда противоположна.
  • Курсорная пагинация сделок: передайте after_trade_id в GET /trades, чтобы получить более новые сделки в порядке возрастания trade_id. Продолжайте с последнего возвращённого ID. Курсорный режим нельзя сочетать с offset, option_id, underlying или account; существующие запросы со смещением и фильтрами не изменились.

Без нового релиза, 20 июля 2026 г.​

Критические изменения​

  • Медленные потребители WebSocket отключаются: соединения /ws разрываются при превышении любого из защитных лимитов на соединение. Действующие лимиты: 16 384 сообщения в очереди, 8 МиБ закодированных данных в очереди, 5 секунд возраста очереди и 5 секунд на одну запись в сокет. Это эксплуатационные защитные лимиты, а не гарантии пропускной способности или обязательства по совместимости. При нарушении лимита по очереди, объёму или возрасту отправляется код закрытия 1008 с компактной JSON-причиной, содержащей error: "slow_consumer", class, cause и recovery. Соединение, которое не может принять даже фрейм закрытия, может быть разорвано без читаемой причины. Курсор повторного воспроизведения пока недоступен. Клиенты должны переподключиться, при необходимости повторно пройти аутентификацию, заново оформить подписки и выполнить указанное действие по восстановлению: повторно запросить снапшот для упорядоченных публичных данных, сверить приватные долговременные события через REST или повторно запросить состояние портфеля. Клиенты не должны рассчитывать на непрерывную доставку при переподключении. Маршрут приёма котировок от поставщиков /ws/quotes работает отдельно и не изменился.
  • Неизменившиеся индикативные обновления объединяются: indicative_market_data больше не отправляет каждое обновление котировки, затрагивающее только временную метку. Если цены, объёмы и доступность у поставщика не изменились, по каждому инструменту отправляется не более одного обновления актуальности в секунду. Изменения цены или объёма и удаление котировок поставщиком по-прежнему публикуются немедленно. Клиентам, которые обрабатывали каждую временную метку источника как событие, следует использовать последний полученный снапшот.
  • Команды WebSocket используют общие с REST лимиты запросов в рамках одного процесса API: подписанные команды /ws PlaceOrder, SubmitRfq, SubmitAutoExecuteRfq и AcceptRfqQuote теперь используют тот же хранящийся в памяти RateLimitCache на кошелёк, что и их REST-аналоги в этом процессе API. Лимиты не действуют на уровне всего кластера, и разные реплики API ведут независимые окна. Кошелёк учитывается только после восстановления подписи и авторизации агента, поэтому указание чужого кошелька не расходует его лимит. Выделенный под доставку WebSocket под не позволяет обойти эти лимиты. При превышении лимита команды WebSocket возвращают сообщение Error вместо HTTP-заголовков лимита запросов.

Исправления​

  • Контроль обратного давления по памяти в WebSocket: путь владельца сокета теперь ведёт учёт очереди от момента приёма сообщения до завершения записи в сокет. Регистрируются закодированные байты, возраст очереди, время сериализации, фактический размер фреймов, задержка от публикации до записи, ошибки записи и закрытия соединений из-за перегрузки по классам доставки.
  • Дублирующийся индикативный трафик: повторные полные снапшоты индикативных данных по цепочке без изменений финансовых полей подавляются до публичной рассылки.

Без нового релиза, 13 июля 2026 г.​

Новое​

  • Коды ошибок API: JSON-ответы об ошибках HTTP 4xx и 5xx, формируемые API, дополнены полями code и message с сохранением существующих полей. Ветвите логику по стабильному машиночитаемому code, а message используйте для отображения или диагностики. См. Ошибки и причины отклонения.

Без нового релиза, 3 июля 2026 г.​

Новое​

  • Видимость котировок RFQ-поставщиков: GET /options-summary может включать исходные индикативные котировки поставщиков RFQ, если передать include_rfq_provider_quotes=true или обратно совместимый псевдоним rfq_provider_quotes=true. Ограничить число котировок поставщиков на инструмент можно параметром rfq_provider_quotes_limit, provider_quotes_limit или limit.
  • Поток индикативных рыночных данных: сообщения WebSocket IndicativeMarketData теперь содержат rfq_provider_quotes, чтобы клиенты могли видеть набор индикативных RFQ-котировок по каждому поставщику, из которого складываются агрегированные бид и аск.

Исправления​

  • Параметры запроса options summary: в справочнике REST API описаны новые параметры запроса котировок поставщиков для /options-summary.
  • Недоступные котировки поставщиков: RFQ-котировки поставщиков, которые больше недоступны, оперативно исчезают из ответов с рыночными данными.

Без нового релиза, 26 июня 2026 г.​

Уведомления об устаревании​

  • Отсутствующий маршрут заявки: PlaceOrder принимает заявки без route как минимум до 4 июля 2026 г. POST /order трактует отсутствующий route как best_execution и возвращает заголовки Deprecation, Sunset, X-Deprecation-Removal-Unix и Warning. Клиентам следует передавать route и включать его в типизированные данные PlaceOrder. Поле route не станет обязательным до 4 июля 2026 г., но может стать обязательным позже.

Новое​

  • Необязательный маршрут заявки: POST /order теперь принимает необязательное подписываемое поле route в PlaceOrder. Клиенты могут передавать best_execution, book_only или rfq_only. При отсутствии route на время запланированного периода устаревания применяется текущее поведение best_execution.
  • Маршрут только через книгу заявок: клиенты могут передать route=book_only, чтобы пропустить поиск RPI/RFQ и направить заявку напрямую в книгу заявок. route=best_execution сохраняет текущее поведение: сначала RPI, затем книга. route=rfq_only зарезервирован и пока отклоняется для /order, пока не реализована семантика истории заявок только через RFQ.
  • Проверка маршрута для пакетных заявок: POST /bulk_order поддерживает route=book_only для запросов с указанием маршрута. При отсутствии route сохраняется прежнее поведение только через книгу. route=best_execution и route=rfq_only для пакетных заявок отклоняются, поскольку пакетный эндпоинт не выполняет маршрутизацию RPI/RFQ.

Без нового релиза, 25 июня 2026 г.​

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


Без нового релиза, 10 июня 2026 г.​

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

  • Базовые URL справочника API: в генерируемом справочнике REST API исправлен список публичных сред: https://testnet-api.hypercall.xyz для тестнета и https://api.hypercall.xyz для продакшена.

Без нового релиза, 10 июня 2026 г.​

Исправления​

Исполнение​

  • Исполнение RPI при пустой книге: одноногий RPI теперь использует лимитную цену пользователя как верхнюю или нижнюю границу исполнения, если в книге нет исполнимой ликвидности. Подходящие ответы с улучшением цены на уровне отображаемого лимита могут быть исполнены, а не отклонены из-за того, что не улучшают сам лимит. Если в книге есть исполнимая ликвидность, поставщики котировок по-прежнему должны улучшить цену книги как минимум на один тик. См. Приоритет заявок.
  • Ответы поставщиков котировок: ответы на RFQ теперь подчиняются тому же правилу лимитной цены, что и API. Рыночные котировки на уровне лимита тейкера принимаются при отсутствии ориентира в книге, а котировки за пределами лимита тейкера или не улучшающие исполнимую ликвидность книги по-прежнему отклоняются.

Trollbox​

  • Маршрутизация в основной сети: продакшен-версия Trollbox теперь направлена на воркер основной сети, поэтому чат в приложении работает с боевой средой Trollbox.

Без нового релиза - 1 июня 2026​

См. также: Пост о запуске основной сети

Критические изменения​

  • Окружение основной сети: продакшн-клиенты должны использовать приложение, API, chain ID, адреса контрактов и домен подписи, настроенные для основной сети. Не используйте в основной сети подписи, API-ключи, агентские ключи из тестнета, а также допущения, связанные с краном (faucet).
  • Торговый периметр на запуске: альфа-версия основной сети ограничена потоком опционов с определённым риском. Непокрытые короткие позиции, широкая портфельная маржа, пополнение через кран и пути тестнет-соревнований для публичных пользователей основной сети не включены.
  • Маршрут крана закрыт в сборках с реальными деньгами: пополнение только через кран недоступно в продакшн-сборках. Пользователи основной сети пополняют счёт в USDC через раздел пополнения в приложении.

Новое​

Основная сеть​

  • Альфа основной сети: Hypercall работает на app.hypercall.xyz с расчётами в реальных USDC; стартовый рынок — опционы на SPCX.
  • Стартовый рынок SPCX: опционы на SpaceX доступны в основной сети: колл-опционы, пут-опционы, стрэддлы, стрэнглы и спреды с определённым риском. Экспирация контрактов SPCX в основной сети наступает в 16:00 по восточному времени (ET). Рынок использует ту же модель маршрутизации заявок, что описана в разделе Приоритет заявок.
  • Конфигурация сети: подключение кошелька, подпись опционных заявок, адреса контрактов и тексты интерфейса, зависящие от окружения, теперь берутся из активной конфигурации основной сети или тестнета, а не из жёстко заданных допущений тестнета.
  • Продакшн-ограничители торговли: стартовая конфигурация не приостанавливает торговлю и при этом сохраняет контролируемые параметры риска на время альфа-развёртывания.
  • Продакшн API: публичный продакшн API доступен клиентам основной сети.

Пополнение​

  • Депозиты в USDC: пользователи могут внести USDC на счёт Hypercall через приложение. До и после отправки отображаются маршрут, исходная сеть, статус релея, счёт назначения и зачисленная сумма.
  • Атрибуция депозитов на бирже: события депозита USDC в контракте Exchange явно содержат счёт зачисления, поэтому бэкенд зачисляет средства на нужный счёт Hypercall, а не определяет владельца по msg.sender. См. Контракты: онбординг.
  • Депозитные запы: фронтенд поддерживает сценарии «бридж и депозит» через приложение, включая котировку и отслеживание статуса релея.
  • Вывод средств: вывод в основной сети реализован через системные действия и доступен в разделе пополнения и вывода счёта.
  • Выбор маршрута депозита: действия депозита выбирают активный маршрут из конфигурации контрактов, поэтому один и тот же интерфейс работает с путями пополнения конкретного окружения.
  • Юридическое подтверждение: настройка счёта и пополнение включают юридическое подтверждение для запуска; опубликованы Условия использования и Политика конфиденциальности.

Исполнение​

  • RPI для одноногих заявок: одноногие опционные заявки при соответствии условиям направляются на аукцион Retail Price Improvement, а если подходящая котировка не выигрывает, уходят в книгу заявок.
  • RFQ для многоногих пакетов: многоногие стратегии направляются через RFQ для исполнения по принципу «всё или ничего». Продакшн-заявки двойного режима отдают предпочтение RFQ там, где требуется пакетное исполнение.
  • Стартовые комиссии: комиссии мейкера и тейкера отключены в стартовой конфигурации. См. Комиссии.
  • Маршрутизация комбинированных заявок: комбинированные заявки проходят через бэкенд-пути RPI/RFQ, а не через пакетную логику только на стороне фронтенда.
  • Короткие позиции поставщиков котировок: зарегистрированные поставщики котировок могут закрывать необходимые короткие ноги для ликвидности RFQ/RPI, при этом публичный торговый периметр остаётся ограниченным.

Исправления​

  • Доступ к странице депозита: сторонние маршруты пополнения на хосте приложения и поведение модального окна депозита разблокированы для продакшн-пополнения.
  • Отмена белого списка депозитов: ограничение депозитов по белому списку в продакшне отключено, чтобы открыть пополнение на запуске.
  • Размер в RFQ: размеры RFQ в режиме стоимости точно округляются перед отправкой, что исключает дрейф дробной точности при расчёте размера пакета.
  • Котировки выплат по многоногим стратегиям: графики выплат многоногих стратегий используют резолвер котировок ног, поэтому значения на графике совпадают с выбранным пакетом.
  • Отрицательные значения: отрицательные значения теперь отображаются с явным знаком в интерфейсе запуска.
  • Очистка устаревших депозитных адресов: устаревшие депозитные адреса и неиспользуемое состояние бриджа удалены после проверки запуска.

Без нового релиза - 22 мая - 1 июня 2026​

См. также: Пост о запуске основной сети

Критические изменения​

  • Портфельная маржа отключена вне тестнета: окружения, кроме тестнета, теперь отклоняют настройку портфельной маржи. Альфа основной сети использует только стандартную маржу.
  • Нормализация статусов заявок: статусы жизненного цикла заявки последовательнее различают состояния «принята/открыта» и «частично/полностью исполнена». Клиентам, которые показывают необработанные строки статусов, следует считать их каноническими пользовательскими состояниями.

Новое​

Пополнение и счета​

  • Выбор маршрута депозита: приложение выбирает маршруты депозита из активной конфигурации контрактов, а не из жёстко заданных допущений окружения.
  • Депозитные запы на бирже: в тестнете появился сценарий «бридж и депозит» на стороне приложения, позже выпущенный в основной сети, включая обработку котировки и статуса релея.
  • Явное зачисление депозитов: депозиты USDC в Exchange зачисляются на счёт, указанный в событии депозита, что исключает неоднозначную атрибуцию, когда транзакцию отправляет роутер или зап.
  • Стандартный вывод USDC: стандартные кошельки могут выводить USDC через API и системные действия.
  • Инициализация маржи при настройке счёта: настройка API-ключа теперь инициализирует поддерживаемый режим маржи во время онбординга, снижая риск того, что пополненный счёт окажется в недопустимом для торговли состоянии.
  • Централизованные настройки счёта: настройки и предпочтения счёта приведены к единому виду, так что пополнение, агентские ключи, видимость Trollbox и настройки профиля собраны в одном разделе.

Рынки и торговля​

  • Скоро на рынке: приложение может показывать карточки будущих рынков, не включая их в список торгуемых.
  • Дробный открытый интерес: открытый интерес по активу отображается с дробной частью, без усечения на небольших рынках.
  • Индикативный риск из живого каталога: индикативные списки рынков для RFQ и риска формируются из живого каталога, а не из устаревшего списка во фронтенде.
  • Исполнимость по эталонным бид/аск: форма ввода заявки использует эталонные бид/аск, чтобы определить, исполнима ли заявка по рынку.
  • Устранение пересечения цен из разных источников для IV: при расчёте подразумеваемой волатильности в сводке по опционам пересечение бид/аск из разных источников устраняется до вычисления IV.
  • Нативное закрепление строк маркировки: строки маркировочных цен стратегий переведены на нативное закрепление (sticky) для более плавной прокрутки опционной доски.

Интерфейс и контент​

  • Тёмная тема: в приложении появилась полноценная тёмная тема для всего торгового интерфейса.
  • Интерактивные состояния: состояния взаимодействия во фронтенде доработаны к запуску.
  • Разделение главной страницы Hypercall и Insights: обновлена публичная веб-маршрутизация: Insights вынесен на отдельный ресурс, а главная страница продукта ведёт на рабочий торговый интерфейс.
  • Разбор RPI и RFQ: опубликована статья об исполнении через RPI, ссылка на неё добавлена в материалы запуска.

Исправления​

  • Торгуемость в бегущей строке: бегущая строка показывает только листингованные рынки, чтобы пользователи не принимали неторгуемые активы за действующие.

Без нового релиза: 28 апреля – 21 мая 2026 г.​

См. также: Обзор продукта, 7-я неделя

Несовместимые изменения​

  • Удалены неиспользуемые части API: удалены неиспользуемый эндпоинт /limit_iv и дублирующий маршрут /profile/username-request. Клиентам следует использовать маршруты, описанные в справочнике REST API.
  • Ужесточён fallback для пакетных RFQ: многоногие RFQ являются пакетными сделками и больше не опираются на семантику fallback в книгу заявок для произвольного исполнения нескольких ног. Для поведения RPI/fallback в книгу заявок используйте отправку одноногих заявок.
  • Настраиваемые chain ID для подписи: подпись опционных заявок больше не предполагает единственный chain ID тестнета. Клиенты должны определять сеть для подписи исходя из активного окружения.

Новое​

Рынки​

  • Рынок SPCX в тестнете: в тестнет добавлены опционы на SpaceX до IPO, экспирации ограничены датой IPO 12 июня.
  • Фильтрация бегущей строки по листингу: бегущая строка рынков в production и staging показывает только листингованные рынки, поэтому недоступные активы больше не выглядят торгуемыми.
  • Модель волатильности с учётом торговых сессий по монейности: моделирование волатильности учитывает контекст торговой сессии при оценке рынков, чувствительных к монейности.

Конструктор стратегий​

  • Конструктор стратегий в один клик: типовые опционные структуры, такие как стрэддлы, стрэнглы, вертикальные спреды и железные кондоры, можно выбрать из галереи стратегий, а не собирать по одной ноге.
  • Расширенный конструктор: расширенный режим добавляет управление диапазоном страйков, выбор дальней экспирации для календарных структур и построение стратегий с проданными ногами.
  • Новая форма многоногой заявки: ввод пакетов переработан: котировки по каждой ноге, обратный отсчёт до истечения котировки, предупреждения о проскальзывании и более удобный сценарий принятия лучшей котировки.
  • Метки и бейджи стратегий: в заголовках стратегий теперь отображаются компактные метки, признак дебета/кредита и сокращённые названия, если тикер или экспирация и так понятны из контекста.
  • Индикаторы в опционной доске: в представлениях доски появились плашки выбранных ног, закреплённые строки маркировочной цены, метки DTE, стрелки точки безубыточности и индикаторы позиций в режимах доски, ширины и спредов.

RPI и RFQ​

  • Retail Price Improvement (RPI): одноногие заявки по допустимым инструментам проходят через аукцион RPI, прежде чем попасть в книгу заявок. См. Приоритет заявок.
  • Поток индикативного риска RFQ: индикативные котировки и обновления риска транслируются через WebSocket, что сокращает необходимость опроса для активных котировальных экранов.
  • Высокоуровневый билдер RFQ для клиента: в Rust-клиенте и торговом CLI появились хелперы для формирования запросов котировок RFQ.

Аккаунт и агентские ключи​

  • Панель отзыва агентских ключей: в настройках аккаунта теперь отображается список активных агентских ключей с возможностью отзыва. См. Аутентификация агентов.
  • Уведомления об агентских ключах: пользователи со слишком большим числом активных ключей получают уведомление-рекомендацию со ссылкой на панель отзыва.
  • Выбор сети с готовностью к основной сети: chain ID для подписи, сеть кошелька Privy и переключение кошельков теперь определяются конфигурацией окружения.

Trollbox​

  • Trollbox для десктопа: в десктопном приложении доступна перетаскиваемая панель чата, которую можно показать или скрыть в настройках.
  • Мост в Telegram: сообщения, ответы, медиа, реакции, атрибуция пересылки, стикеры и карточки команд синхронизируются между веб-Trollbox и Telegram.
  • Привязка аккаунта Telegram: пользователи могут привязать Telegram к кошельку с помощью одноразового кода.
  • Глубокие ссылки и превью в Trollbox: ссылки на сообщения получили OG-превью, изображения и маршруты в приложении для расшаренных сообщений.

Профиль и интерфейс​

  • Изображения профиля: пользователи могут загрузить, обрезать или импортировать изображение профиля; если оно не задано, используется детерминированный аватар по умолчанию.
  • Подтверждение заявки: в мобильном вводе заявок появились шаг проверки и подтверждение отправки свайпом.
  • Доработка тем и вёрстки: переменные темы, подписи графиков, быстрые действия, плашки стратегий и состояния кнопок доработаны на десктопе и в мобильной версии.
  • Производительность: страницы активов и таблица лидеров делают меньше избыточных запросов и показывают больше полезных данных при первой отрисовке.
  • Единый капитал аккаунта: портфельная маржа и чтение фида Hydromancer используют состояние портфеля для расчёта капитала аккаунта, что повышает согласованность отображения маржи.

Исправления​

  • Несоответствие единиц продажи по тирам: исправлены обработка единиц продажи и откат строк маржи при допуске заявок по тирам.
  • Инициализация тира при первой заявке: кошельки без состояния тира теперь инициализируются при первой заявке, а не получают ошибку отсутствующего тира.
  • Истёкшие инструменты: сверка каталога теперь обрабатывает отсутствующие пары пут/колл и истёкшие активные инструменты во время обработки экспирации.
  • Стабильность Trollbox: исправлены heartbeat-сообщения WebSocket, маршрутизация по окружениям, загрузка аватаров, нормализация медиа, сохранение реакций и обработка отключения при бездействии.

Без нового релиза: 17–27 апреля 2026 г.​

См. также: Обновление продукта, неделя 6

Новое​

RFQ​

  • Система торговли по запросу котировок (Request for Quote, RFQ): новый торговый режим для рынков без глубокой ликвидности в книге заявок. Отправьте RFQ, получайте котировки в реальном времени через аутентифицированный канал rfq WebSocket, затем примите или отклоните их. Если котировок нет, RFQ превращается в лимитную заявку в книге заявок. Позволяет быстро листить новые активы (US500, USOIL, GOLD, HYPE), не дожидаясь органической ликвидности.
  • Режим автоисполнения: новый тип подписи EIP-712 SubmitAutoExecuteRfq заранее авторизует исполнение в пределах лимитной цены. Первая подходящая котировка в пределах лимита исполняется сразу, за один цикл запрос-ответ. Если котировки не пришли или все они хуже лимита, выставляется лимитная заявка в книгу заявок.
  • Карточки котировок RFQ: котировки показывают цены по каждой ноге, итоговую чистую премию и таймер до истечения котировки. Принять или отклонить можно одним кликом.
  • Контроль проскальзывания: настраиваемый допуск проскальзывания (1%, 2%, 3%, 5%) относительно индикативной цены при отправке RFQ.

Многоногая торговля​

  • Конструктор многоногих опционных заявок: клик по опциону в доске опционов добавляет его как ногу в форму многоногой RFQ-заявки. Ноги накапливаются, кнопка X удаляет отдельную ногу. Ноги сохраняются в URL (?legs=), поэтому многоногие заявки переживают обновление страницы и ими можно делиться.
  • Автоопределение стратегий: распознаёт и подписывает 28 типов стратегий: бычий/медвежий колл/пут-спред, длинный/короткий стрэддл, длинный/короткий стрэнгл, календарный спред, диагональный спред, железный кондор, железная бабочка, колл/пут-бабочка, колл/пут-кондор, риск-реверсал, коллар, синтетический лонг/шорт, ratio-спред, бэкспред, бокс-спред, Jade Lizard, Seagull, бабочка со сломанным крылом, конверсия с разнесёнными страйками. Названия стратегий ведут на документацию.
  • Совокупная выплата, график и греки: многоногий режим показывает совокупную диаграмму выплат, совокупный график теоретической цены (сумма теоретических цен всех ног) и агрегированные греки (дельта, гамма, тета, вега) с учётом знака для проданных ног.
  • Переключатель греков контракта и стратегии: переключение между греками на один контракт и агрегированными греками на уровне стратегии в нижней панели.
  • Лимит ног увеличен до 10: ранее было 4.

Ликвидация​

  • Двухфазная система ликвидации: частичная ликвидация через IOC-заявки на закрытие, управляемые бэкендом, с эскалацией до полной ликвидации через ончейн-аукцион, если частичной ликвидации недостаточно.
  • Вкладка «Ликвидации»: новая вкладка в нижней панели с событиями ликвидации для подключённого кошелька.
  • GET /liquidations: публичная история переходов ликвидации с курсорной пагинацией, которую сторонние боты-ликвидаторы используют для поиска кандидатов.
  • Пример бота-ликвидатора: новый крейт liquidator, демонстрирующий мониторинг ликвидаций в стандартной марже и отправку подписанных ликвидационных заявок Hypercall.

Интерфейс​

  • Атрибуция P&L на графике капитала: нажмите на иконку слоёв, чтобы увидеть составные области по каждой позиции на графике капитала. Горизонтальная диаграмма под графиком группирует позиции по базовому активу, показывает реализованный P&L по каждому символу и позволяет чекбоксами выделить или скрыть отдельные позиции. При наведении перекрестия разбивка обновляется. См. руководство для десктопа.
  • Сворачиваемая панель рынков с хлебными крошками: левая панель рынков сворачивается, освобождая место для торгового интерфейса. Хлебные крошки показывают контекст навигации (например, Assets > BTC > Options).
  • Колокольчик уведомлений: заменяет мегафон объявлений. Выпадающее меню с вкладками «Уведомления» (исполнения) и «Объявления». Точка непрочитанного отображается уже при первой отрисовке благодаря SSR. Время скрытия уведомлений хранится по каждому кошельку в localStorage.
  • Меню аккаунта при наведении: при наведении на кнопку профиля открывается меню с капиталом, P&L, покупательной способностью и числом позиций. Пользователи без имени пользователя видят подсказку «Выбрать имя».
  • Помощь в навигации: кнопка помощи в навбаре ведёт на документацию.
  • Индикатор недоступности сервиса: красный индикатор в шапке, когда бэкенд недоступен.
  • Индикатор места в лидерборде: живой бейдж с местом в навбаре (вместо ссылки на лидерборд) с индикаторами изменения места по ходу торговли.
  • Страницы рассчитанных позиций: детальная страница позиции с графиком теоретической цены, отдельными исполнениями, разбивкой реализованного P&L и понятными названиями инструментов (например, «BTC $55,000 Call Apr 14»).
  • Динамические превью для соцсетей: генерируемые OG-изображения для всех страниц, которыми можно поделиться: инструменты (график теоретической цены и греки), многоногие стратегии (диаграмма выплат и название стратегии), профили (статистика P&L и место), лидерборд (топ-5 с медалями) и подтверждения сделок.
  • Переработанный навбар на десктопе: футер удалён, кнопка подключения перенесена в шапку, отображаются подсказки горячих клавиш (Ctrl+K).
  • Исправлено обрезание цены в заголовке графика: цены больше не выходят за границы заголовков графиков на десктопе.

PWA​

  • Перенос на корневой маршрут: все маршруты перенесены с /mobile/* на корневой /*. Старые пути /mobile/* автоматически перенаправляются. Единая схема URL для десктопа и мобильной версии.
  • Обновление PWA на iOS: пользователи, установившие старое PWA /mobile, видят модальное окно в нативном стиле с пошаговой инструкцией по установке на iOS (Поделиться > Ещё > На экран «Домой») с официальными иконками Apple.
  • Заставки iOS и предзагрузка навигации: более 12 заставок под конкретные устройства убирают белую вспышку при холодном старте. Предзагрузка навигации запрашивает страницу, пока загружается service worker.
  • Ярлыки приложения: долгое нажатие на иконку на главном экране даёт быстрый доступ к портфелю и депозиту.
  • Блокировка отключения экрана: экран не гаснет во время торговых сессий в автономном режиме PWA. Блокировка автоматически восстанавливается при возврате в приложение.
  • Постоянное хранилище: запрашивает navigator.storage.persist(), чтобы браузер не удалял закэшированные ресурсы приложения.

API​

  • instrument_type в событиях WebSocket: события исполнений и обновлений заявок теперь содержат instrument_type ("option" или "perp"). Изменение обратно совместимо.
  • Фильтр ?symbol= в GET /profile/trades: фильтрация истории сделок по символу инструмента. Уменьшает объём ответа для активных трейдеров, запрашивающих конкретные инструменты.
  • Исполнения по перпам передаются через WebSocket: исполнения перпов Hydromancer теперь публикуются в поток WebSocket (ранее отсутствовали).
  • AcceptRfqQuote и PlaceOrder через WebSocket: весь жизненный цикл заявки (отправка RFQ, получение котировок, принятие, выставление заявки) теперь можно провести через одно соединение WebSocket без единого REST-вызова.
  • Поле fills в PerpOrderResult: Rust SDK теперь возвращает исполнения прямо в ответах на заявки по перпам. Поля: coin, side, size, price.

Исправления​

  • Фантомные заявки IOC/FOK: частично исполненные заявки IOC и FOK оставляли неисполненный остаток в книге заявок в виде фантомных заявок. Теперь остаток отменяется сразу после частичного исполнения, а статус устанавливается в Canceled вместо PartiallyFilled.
  • Резервирование премии при закрывающих покупках: заявки на покупку, закрывающие короткую позицию, ошибочно резервировали премию, что съедало капитал и вызывало ложную ликвидацию. Для заявок на покупку, закрывающих позицию, премия больше не резервируется.
  • Экспирированные серии после деплоя: при перезапуске сервера экспирированные опционные серии ненадолго отображались как активные. Теперь при загрузке инструменты сверяются с временем экспирации и сразу помечаются как ExpiredPendingPrice.
  • Fallback RFQ без котировок: RFQ в режиме автоисполнения, не получивший подходящих котировок, раньше показывал ошибку. Теперь вместо этого выставляется лимитная заявка в книгу заявок.
  • Точность лидеров движения в бегущей строке: лидеры роста и падения в бегущей строке теперь рассчитываются из кэша сводки по опционам как изменение теоретической цены относительно теоретической цены 24 часа назад, только по опционам с котировками. Ранее использовались сырые данные BBO, дававшие зашумлённые или устаревшие значения.
  • price_change в сводке по опционам: в качестве опорной цены BBO для расчёта изменения цены теперь используется только бид из книги заявок вместо запасного варианта «марк против теоретической цены», который мог давать вводящие в заблуждение значения.

Без нового релиза: 14–16 апреля 2026 г.​

Критические изменения​

  • PUT /order и PUT /bulk_order: новые эндпоинты для атомарной замены заявок. Существующая заявка отменяется, и новая размещается в том же такте движка. Если отмена не удалась (заявка уже исполнена или не найдена), новая заявка не размещается. Используется новый тип подписи EIP-712 ReplaceOrder. Клиентам, которые используют прежнюю схему «отмена, затем размещение», следует перейти на новые эндпоинты.

Новое​

API​

  • GET /profile/realized-pnl: возвращает реализованный PnL по каждому символу, агрегированный по исполнениям и расчётам. Принимает необязательный параметр competition_id, чтобы ограничить результаты окном соревнования.
  • Поле realized_pnl в GET /profile/trades: каждая строка исполнения теперь содержит реализованный PnL, относящийся к конкретной сделке.
  • net_deposits и компоненты атрибуции в GET /profile/historical-pnl: точки исторических снимков капитала теперь включают накопленные чистые депозиты и разбивку атрибуции P&L.
  • Поле prev_day_px в GET /markets: ответ по рынкам теперь включает референсную цену предыдущего дня для каждого инструмента.

UI​

  • Мегафон объявлений: значок мегафона в заголовке десктопной и мобильной версий со счётчиком непрочитанных. По клику открывается всплывающее окно со списком объявлений (заголовок, текст, дата, опционально изображение или ссылка). Статус «прочитано/скрыто» хранится отдельно для каждого кошелька.
  • Редактирование и замена заявок: на десктопе у открытых заявок появился значок карандаша для редактирования цены и объёма прямо в строке. Галочка отправляет изменения, крестик отменяет, во время редактирования строка подсвечивается жёлтым. В мобильной версии нажатие на заявку открывает кнопки «Отменить» и «Изменить».
  • Рассчитанные позиции на странице участника: новый раздел «Рассчитанные позиции» между «Позициями» и «Историей сделок». Показывает реализованный PnL по каждому символу для экспирированных опционов и закрытых сделок, с зелёной и красной подсветкой. О том, как рассчитываются опционы, см. Расчёт.
  • Столбец реализованного PnL в истории сделок: отображает реализованный PnL по каждому исполнению с цветовой подсветкой. Для исполнений, открывающих позицию, выводится прочерк.
  • Управление API-ключами больше не мерцает при загрузке: список агентов отображается сразу, а не появляется рывком после загрузки страницы.
  • Пустая таблица позиций скрыта: если у пользователя нет открытых позиций, раздел позиций полностью скрывается вместо показа пустых заголовков таблицы.
  • Кнопки подключения на пустых экранах: возвращены отсутствовавшие кнопки подключения кошелька на экранах без данных.

PnL​

  • P&L теперь учитывает уплаченную премию: реализованный PnL теперь учитывает премию, уплаченную при открытии позиции. Раньше отображалась только валовая выплата. Пример: кошелёк, у которого раньше значилось +162Kреализованнойприбыли,теперькорректнопоказывает+162K реализованной прибыли, теперь корректно показывает +27K с учётом уплаченной премии в $135K.
  • Рассчитанные опционы сгруппированы по базовому активу: атрибуция больше не перечисляет каждый экспирированный символ по отдельности. Рассчитанные позиции сворачиваются в группы по базовому активу (например, «BTC (рассчитано)»).
  • Текущий капитал больше не обнуляется для позиций вне денег (OTM): исправлен излом, при котором стоимость OTM-позиций резко падала до нуля на живом участке графика капитала.
  • Атрибуция видна для кошельков только с экспирированными позициями: кошельки без открытых позиций, но с рассчитанными опционами теперь корректно отображают атрибуцию PnL.

Исправления​

  • GET /profile возвращал 500: исправлено для кошельков с неполными агрегированными данными.
  • Нереализованный PnL устаревал после перезапуска сервера: портфели теперь переоцениваются сразу при перезапуске, не дожидаясь следующего обновления маркировочной цены.
  • Ошибка на единицу в DTE на диаграммах выплат: исправлен расчёт числа дней до экспирации, из-за которого смещались линии точки безубыточности и максимального убытка.
  • Перехват фокуса: исправлен перехват фокуса при работе с интерфейсом.
  • Улучшения отрисовки графиков: различные исправления отображения графиков.

Без нового релиза: 11–13 апреля 2026 г.​

Новое​

Push-уведомления​

Торговля​

  • Вкладка «Греки» (десктоп): новая вкладка в нижней панели с показателями дельта, гамма, тета, вега, ро и IV по каждой позиции. Заголовки столбцов снабжены подсказками со ссылками на справочник по грекам. Промежуточные итоги по каждому базовому активу, а также итог по портфелю, если позиции открыты по нескольким базовым активам.
  • Сортировка столбцов в лидерборде: по столбцам прибыли, объёма и эффективности в лидерборде теперь можно сортировать кликом.
  • Улучшения формы заявки: быстрый выбор объёма, улучшенные подсказки, адаптивные размеры.
  • График PnL на странице участника: в профилях участников теперь отображается график капитала во времени.
  • Статистика HC/HL перенесена в боковую панель: статистика HyperCore и HyperLiquid перемещена в боковую панель.
  • Строки с нулевым объёмом удалены: список заявок больше не показывает заявки с нулевым объёмом.

Гостевой режим​

  • Гостевой режим: неавторизованные пользователи могут просматривать рынки, книги заявок и графики без подключения кошелька. Страница настроек также доступна без авторизации. Подробнее см. руководство по десктопной версии.
  • Динамические фавиконы для каждого актива: значок вкладки браузера показывает зелёное кольцо со значком активного актива. При просмотре опционов отображаются варианты для колла и пута.

Графики​

  • Визуализация поверхности волатильности: интерактивный 3D-просмотр поверхности волатильности по адресу /risk/vol-surface для всех листингованных базовых активов. Источники поверхностей волатильности описаны в разделе Оракулы.
  • График портфеля по умолчанию использует 5-минутный интервал: более плавная отрисовка для новых аккаунтов (вид 8H вместо 4D).
  • График обновляется при изменении настроек: смена режима графика в настройках теперь применяется сразу, без перезагрузки страницы.

API​

  • Фильтр по экспирации в GET /options-summary: передайте ?expiry=YYYY-MM-DD, чтобы ограничить ответ одной датой экспирации.

Аккаунт​

  • Отображаемые имена пользователей: для кошелька можно задать отображаемое имя, которое показывается в лидерборде и на страницах участников. Имя применяется сразу (без проверки модератором). Редактируется прямо в настройках как десктопной, так и мобильной версии.

Исправления​

  • Перепутанные стороны бид/аск у некоторых заявок: исправлено неверное определение стороны в зависимости от направления ончейн-заявки.
  • Время загрузки опционной доски сокращено примерно на 60%: загрузка ускорена за счёт фильтрации по экспирации на стороне API и предварительной загрузки данных графиков для видимых страйков.
  • Переключение рынков теперь мгновенное: на десктопе смена базового актива больше не вызывает полную перезагрузку страницы.
  • Сбой при переключении сроков на десктопе: исправлены сбой и замедление при переключении между сроками опционов.
  • Прокрутка страницы аккаунта на десктопе: длинная история сделок теперь корректно прокручивается.
  • Ошибка 404 на /preferences в мобильной версии: страница настроек теперь доступна на мобильных устройствах.
  • Покупательная способность обновляется после депозита: баланс теперь обновляется сразу после пополнения через кран тестнета, без обновления страницы.
  • Блокировка торговли при ненастроенном агенте: теперь показываются действия по настройке вместо неработающей кнопки подписи.
  • Баннеры ошибок скрываются автоматически: постоянные баннеры ошибок теперь закрываются сами.
  • Вёрстка лидерборда в мобильной версии: исправлено сжатое отображение значений в мобильной версии по сравнению с десктопной.
  • Устранено мерцание при редиректе: убраны видимые перенаправления при переходе в приложение.

Без нового релиза, 7–10 апреля 2026 г.​

См. также: Неделя 4: запуск десктопной версии

Новое​

API​

  • GET /historical-theos: история теоретических цен опционов вместо истории цен последних сделок. Настраиваемые временные интервалы и лимиты. См. Справочник REST API.
  • GET /historical-theos/batch: получение рядов теоретических цен для до 50 инструментов одним запросом. Параметры: instrument_names=A,B,C&interval=1h&limit=100.
  • realized_pnl в GET /profile/trades: исполнения теперь возвращают реализованный PnL.

Интерфейс​

  • Греки теперь считаются по теоретическим маркам: все расчёты греков используют теоретические цены вместо цен последних сделок, что заметно повышает точность для неликвидных страйков.
  • График теоретической цены на страницах инструментов: на страницах опционных контрактов отображается история теоретической цены (вместо истории цен сделок).
  • Позиция на странице инструмента: ваша открытая позиция по текущему инструменту показывается прямо на странице контракта.
  • Улучшенные пустые состояния: доработаны тексты и вёрстка для пустых графиков и пустых состояний.

Исправления​

  • Лимит пополнения через faucet: faucet в тестнете теперь учитывает оставшийся лимит на кошелёк, а не фиксированный максимум.
  • Периодические ошибки 503 в GET /portfolio: устранены периодические серверные ошибки на эндпоинте портфеля.
  • Индикаторы загрузки: убраны ложные индикаторы загрузки при открытии страницы.
  • GET /profile/trades возвращал 500: исправлено для кошельков с исполнениями.
  • Сдвиг вёрстки на странице участника: устранён сдвиг выравнивания на странице участника.
  • Подпись графика по умолчанию: уточнено, что настройка графика по умолчанию относится к активам.

Без нового релиза, 1–6 апреля 2026 г.​

См. также: Обзор продукта, неделя 3

Несовместимые изменения​

  • Изменена модель портфельной маржи: формула начальной маржи изменена с scanning_risk на max(scanning_risk, option_floor) + gamma_overlay. В ответах по портфелю в REST и WebSocket появились три новых поля: scanning_risk, option_floor, gamma_overlay. Доступный баланс теперь равен equity - total_margin_used (ранее cash - total_margin_used). Капитал (equity) теперь включает нереализованный PnL по бессрочным контрактам.
  • Изменения GET /risk/grid: удалён параметр include_open_orders. Модель сценариев изменена с одноосевой {scenario_type, value} на комбинированные шоки {spot_shock_pct, vol_shock_pct, pnl_weight, is_tail}. Наихудший PnL теперь взвешенный.

Новое​

Десктоп​

  • Десктопный торговый интерфейс: полноценная десктопная оболочка с многопанельным торговым экраном, навигацией с клавиатуры, ценовым графиком инструмента, компактными обозначениями опционов и переходом к инструменту по клику из позиций и заявок.

API​

  • Опционные инструменты теперь содержат символ и цену базового актива: в ответах по опционным инструментам указан их базовый актив. См. Справочник REST API.

Соревнования и лидерборд​

  • Система соревнований: новые эндпоинты: GET /competitions, GET /leaderboard, GET /competition-metric-ranks, POST /submitUsernameRequest. Ежемесячный цикл (с 1-го по 1-е число, 16:00 ET). Соревнование в тестнете с реальными призами (500/500/300/$200 в SYN). Маркетмейкеры в рейтинге не участвуют.
  • Интерфейс лидерборда: значок места («Rank #X» или призыв «Trade to win»), карточка с распределением призов, интеграция с Hyperliquid Names, форматированные обозначения опционов («04/10 $59,000 Call»), P&L по лотам FIFO, относительные метки времени (5m, 2h, 3d).
  • Markdown в описаниях соревнований: описания соревнований поддерживают форматирование Markdown.

Портфель​

  • Портфельная маржа: кросс-маржирование коррелированных позиций. Экспирированные инструменты исключены из гамма-надбавки (gamma overlay).

Интерфейс​

  • Компактные обозначения опционов: удобочитаемый формат во всём интерфейсе: «04/10 $59,000 Call».
  • Кнопка Max в форме заявки: максимальный объём в один клик исходя из доступной маржи.
  • Разделители разрядов: все поля цены и объёма отображаются с разделителями.
  • Клик по позиции/заявке → инструмент: нажатие на строку позиции или заявки открывает соответствующий контракт.
  • Страница настроек: подсказки, переключение значков и синхронизация настроек между сессиями.

Исправления​

  • Центрирование графиков по UTC: графики активов выравниваются по границам UTC; переходы между таймфреймами стабилизированы.
  • Жесты свайпа (мобильная версия): исправлено нестабильное поведение свайпа для отмены и навигации.
  • Очистка URL на десктопе: из URL на десктопе убран префикс /mobile; исправлен выбор страйка.

Без нового релиза, 24–31 марта 2026 г.​

См. также: Обзор продукта, неделя 2

Новое​

Графики​

  • График исторического PnL: график капитала во времени на главной странице с интерактивным перекрестием. Коснитесь или кликните, чтобы посмотреть любую точку; отображается метка времени и обновляется показ баланса.
  • График актива: график спотовой цены по каждому активу, ось Y ограничена диапазоном видимого периода.

Управление заявками​

  • Заголовки разделов: у разделов позиций, заявок и истории появились отдельные заголовки для удобного просмотра.
  • Удаление заявок свайпом (мобильная версия): свайп влево по открытой заявке отменяет её.
  • Подтверждение отмены заявки: отдельный диалог отмены заявки.
  • Клик по строке заявки → страница контракта: нажатие на заявку открывает детальную страницу инструмента.
  • Обновлённый вид открытых заявок: освежено оформление открытых заявок.

Подключение​

  • Баннеры отключения WebSocket: видимые баннеры при обрыве WS-потока или недоступности бэкенда.

Греки​

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

История сделок​

  • Время исполнения в GET /profile/trades: строки истории сделок теперь содержат метку времени исполнения.
  • Сохранение экспирации в опционной доске: выбранная экспирация сохраняется в параметрах запроса URL и восстанавливается при навигации.
  • Опционные инструменты содержат символ и цену базового актива: в ответах по опционным инструментам указан их базовый актив.

Аккаунт​

  • Система имён пользователей: задайте отображаемое имя для адреса кошелька; оно показывается в лидерборде и на страницах участников.

Исправления​

  • GET /profile/trades возвращал 500: исправлено для кошельков с исполнениями.
  • Порядок отображения позиций по умолчанию: позиции по умолчанию показывают стоимость, затем PnL, затем себестоимость (ранее порядок был непоследовательным).
  • Время до экспирации в футере заявки: добавлено отображение TTE; задержка подписи в 1 секунду предотвращает случайную двойную отправку.
  • Выход на мобильных устройствах: состояние сессии корректно очищается при выходе.
  • Фон в светлой теме: исправлен цвет фона в светлой теме.
  • Более плавные переходы между страницами: уменьшены визуальные подтормаживания при навигации.
  • Фон при свайпе: исправлена отрисовка фона во время свайпа.

Без нового релиза: 16–23 марта 2026 г.​

См. также: Обновление продукта, неделя 1

Новое​

Тема и внешний вид​

  • Тёмный режим Midnight: новая высококонтрастная тёмная тема в дополнение к существующей светлой.
  • Автоматический выбор темы: тема автоматически подстраивается под светлый или тёмный режим устройства. Для новых пользователей по умолчанию включён автоматический режим.

Дашборд и статистика​

  • Поля статистики HL и HC: на дашборде можно переключаться между статистикой Hyperliquid и статистикой Hypercall.
  • Соотношение пут/колл: в панель статистики Hypercall добавлено соотношение пут/колл (put/call ratio).
  • Бейджи результатов: визуальные бейджи для итогов сделок (прибыль, убыток, истёк без стоимости и т. д.) с круговой диаграммой в заголовке позиции.

Опционная доска​

  • Сортировка страйков и сохранение выбора: цены страйков можно сортировать, выбранные значения сохраняются между сессиями.
  • Начальное значение целевой цены: страница целевой цены теперь открывается с текущей ценой базового актива вместо пустого поля.
  • Единое отображение цены базового актива: цена базового актива отображается одинаково на всех страницах, включая данные по перпам DEX.

Работа с заявками​

  • Сообщение при отмене исполненных или истёкших заявок: при попытке отменить уже исполненную или истёкшую заявку выводится сообщение «Заявка уже исполнена или отменена» вместо необработанной ошибки.

Настройки​

  • Страница настроек: подсказки, циклическое переключение бейджей и синхронизация настроек между сессиями.

Исправления​

Подключение​

  • Обновление данных при переподключении WebSocket: заявки, исполнения и портфель запрашиваются заново при переподключении WS, а не показываются устаревшими.
  • Задержка переподключения WS: таймер отсрочки (backoff) теперь сбрасывается после стабильного соединения. Раньше он не сбрасывался никогда, и после нескольких обычных разрывов каждое переподключение ждало 30 секунд.

Заявки​

  • Фантомные заявки по истёкшим инструментам: заявки по рассчитанным инструментам теперь корректно удаляются, и при отмене больше не возникает ошибка «Orderbook not found».
  • Отклонение при отрицательном денежном балансе: заявки на покупку (BUY), которые привели бы к отрицательному денежному балансу, теперь отклоняются при подаче. Сообщение об отклонении: «Insufficient cash (Standard)». Ограничение не действует для покупок на закрытие позиции, снижающих риск. См. Стандартная маржа.

Интерфейс​

  • Анимация целевой цены: исправлена дёргающаяся или зависающая анимация на странице целевой цены.
  • Обрезка графика актива на мобильных: исправлена обрезка быстрых действий на графике актива в мобильной версии.
  • Зависание загрузки мобильного PWA: исправлена ошибка, из-за которой мобильное PWA-приложение зависало на экране «Loading...».

Известные проблемы​

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

Особенности работы и известные проблемы стейджинга сообщаются вместе с доступом. За подробностями обращайтесь к команде.

Политика версионирования​

Метки стабильности:

  • Stable: пути маршрутизатора и основные форматы запросов и ответов вряд ли изменятся

Несовместимые изменения: будут описаны здесь вместе с руководствами по миграции.

Ссылки​