Skip to main content
Используйте Sender Max (мин. чаевые: 0,001 SOL), чтобы реагировать на Preconfirmations. Предподтверждение приносит пользу, только если ваша транзакция попадает в блок первой, а Sender Max — самый быстрый способ добиться этого. С самого начала используйте Sender Max, чтобы получить максимальную пользу от Preconfirmations.

Обзор

Preconfirmations передает транзакции на самом раннем этапе, когда их можно обнаружить, — до того, как они будут собраны в записи и преобразованы в шреды. Это сигнал о транзакциях с минимальной задержкой из всех предлагаемых Helius — он поступает раньше, чем Shred Delivery и потоки с уровнем подтверждения processed. Вы подписываетесь через WebSocket с помощью метода preconfSubscribe и получаете каждую транзакцию сразу после ее появления. Поток объединяет два источника, включенных по умолчанию. Они отправляют данные на разных этапах конвейера:
  • Предподтверждения Helius от валидаторов, которые пересылают данные в Helius. Отправляются в момент, когда лидер выполняет транзакцию, вместе со статусом ее выполнения — это первый момент, когда результат уже существует.
  • Предподтверждения BAM от валидаторов, использующих клиент Jito Block Assembly Marketplace (BAM). Отправляются, когда валидатор обязуется выполнить транзакцию, но до ее выполнения, поэтому не содержат статуса выполнения.
Preconfirmations предоставляется через конечную точку Helius Gatekeeper wss://beta.helius-rpc.com. Имя хоста beta относится к развертыванию Gatekeeper, а не к степени готовности Preconfirmations. Оно станет стандартной конечной точкой по мере переноса трафика на Gatekeeper.

Lowest Latency

Транзакции доставляются раньше шредов и потоков с уровнем подтверждения processed

WebSocket Streaming

Один раз подпишитесь с помощью preconfSubscribe и получайте предподтверждения Helius и BAM в одном потоке

Credit-Based Pricing

Тариф Professional или выше; 10 кредитов за сообщение и не менее 300 кредитов за каждый охваченный слот для каждой подписки

Built for Traders

Реагируйте на ончейн-активность до попадания транзакций в блок — подходит для propAMM, снайперов, копи-трейдеров и ботов-ликвидаторов

Место Preconfirmations в конвейере

Прежде чем попасть в блокчейн, транзакция проходит внутри валидатора несколько этапов. Задержка увеличивается слева направо: чем правее находится точка наблюдения, тем позже вы узнаете о транзакции.
Transaction latency flow inside a validator: User Tx to TPU to Scheduler to Preconf (scheduled transaction) to Shreds, with latency increasing left to right.

Preconfirmations deliver transactions ahead of shreds and processed commitment streams.

Предподтверждения Helius отправляются на этапе выполнения — в момент, когда лидер выполняет транзакцию и становится известен ее статус, но до записи результата и преобразования в шреды. Это первая точка жизненного цикла, на которой результат транзакции уже существует и может быть передан. Предподтверждения BAM отправляются на один этап раньше — когда валидатор обязуется выполнить транзакцию, но еще не выполнил ее. Оба типа поступают до преобразования транзакции в шреды, поэтому для одной и той же транзакции их задержка всегда ниже, чем при доставке на основе шредов.

Предподтверждения BAM

BAM (Block Assembly Marketplace) — система Jito для создания блоков в Solana. Валидаторы с BAM-совместимыми клиентами отправляют предподтверждение в момент, когда обязуются выполнить транзакцию. Helius получает эти данные из региональных конечных точек BAM от Jito и доставляет их через ту же подписку preconfSubscribe и в том же двоичном формате полезной нагрузки, что и предподтверждения Helius. На момент запуска BAM добавил охват валидаторов, представляющих более 34% стейка сети. Предподтверждения BAM используют ту же структуру полезной нагрузки, но отличаются несколькими полями:
  • tx_index всегда имеет значение 0. BAM упорядочивает транзакции по идентификатору последовательности и позиции в пакете, а не по индексу слота. Ни одно из этих значений не соответствует полю Helius и не передается в потоке. См. раздел Как различать два источника.
  • regionInclude соответствует региональной конечной точке BAM, отправившей предподтверждение, а не региону Helius, который его получил.
  • Небольшая часть транзакций поступает в Helius из обоих источников, поэтому одна и та же подпись может прийти дважды. См. раздел Дублирующиеся уведомления.
Чтобы получать только предподтверждения Helius, передайте includeBam: false в фильтре подписки.

Когда использовать Preconfirmations

Good fit

propAMM, снайперы, копи-трейдеры и боты-ликвидаторы — любые стратегии, которым нужно реагировать на транзакцию настолько рано, насколько это физически возможно.

Consider alternatives

Для получения полных исторических или подтвержденных данных используйте LaserStream или Enhanced WebSockets. Необработанные сетевые данные доступны в Shred Delivery.
Предподтверждение — это ранний сигнал, а не гарантия. Транзакция еще не попала в блокчейн и все еще может быть отброшена. Кроме того, статус выполнения в предподтверждении Helius отражает локальный результат лидера, который не является окончательным до подтверждения блока. Прежде чем считать транзакцию окончательной, проверьте ее попадание в блок с помощью стандартных проверок уровня подтверждения.

Тарификация

Минимум в 300 кредитов за слот начнет действовать 14 октября 2026 года. До этого момента за Preconfirmations взимается 10 кредитов за сообщение без минимальной суммы.
Для Preconfirmations требуется тариф Professional или выше. Стоимость составляет 10 кредитов за сообщение, но не менее 300 кредитов за слот для каждой подписки. Кредиты списываются с вашего тарифа. Подробности см. в разделе Кредиты. Минимальная сумма применяется только к слотам, на которые распространяется охват предподтверждений. Для каждого охваченного слота за подписку списывается большая из двух сумм: 10 кредитов за каждое доставленное сообщение или 300 кредитов. За слоты без охвата плата не взимается. Учитывается ли слот при расчете минимальной суммы, зависит от того, как обеспечивается охват его лидера, и от значения параметра includeBam: Минимальная сумма рассчитывается для каждой подписки, поэтому за каждую открытую подписку preconfSubscribe списывается не менее 300 кредитов за каждый охваченный слот. Закрывайте ненужные подписки с помощью preconfUnsubscribe.
Preconfirmations — новый продукт, поэтому его цена может измениться.

Охват

Preconfirmations доступен только для транзакций, запланированных валидаторами, которые пересылают свой поток в Helius или используют BAM-совместимый клиент. Охват зависит от доли сетевого стейка, которую покрывают эти два источника, поэтому поток не является непрерывным. Значение includeBam: false ограничивает охват валидаторами, которые пересылают данные непосредственно в Helius. Используйте getPreConfCoverage, чтобы получить охват Preconfirmations в процентах от сетевого стейка с разбивкой по регионам.
Будьте готовы к пропускам. В слотах, лидеры которых не охвачены ни одним из источников, вы не получите сообщений с предподтверждениями. Проектируйте интеграцию так, чтобы она корректно обрабатывала такие пропуски: не рассчитывайте на непрерывный поток и используйте другие сигналы, например LaserStream или Shred Delivery, когда требуется непрерывный охват.
Охват растет по мере того, как все больше валидаторов начинают пересылать данные в Helius. Если вы управляете валидатором, то можете помочь устранить эти пробелы и получать доход.

Для валидаторов

Управляете валидатором? Вы можете получать доход, пересылая поток предподтверждений в Helius, и одновременно улучшать охват для всех пользователей Preconfirmations.

Validators: earn by sending Preconfirmations

Узнайте, как начать пересылать предподтверждения и получать доход.

Следующие шаги

preconfSubscribe reference

Подписка, формат сообщений и полный пример WebSocket.

Helius Sender

Используйте Preconfirmations вместе с Sender, чтобы реагировать на полученные данные и обеспечить максимально быстрое попадание транзакций в блок.