Skip to main content
Use Sender Max (gorjeta mínima: 0.001 SOL) para agir sobre Pré-confirmations. Uma pré-confirmation só vale a pena se você registrar sua transação primeiro — Sender Max é a maneira mais rápida de fazer isso. Construa no Sender Max desde o início para obter todos os benefícios das Pré-confirmations.

O que é preconfSubscribe?

preconfSubscribe é um método WebSocket Helius que transmite Pré-confirmations — transações entregues na fase de transação programada, antes de serem fragmentadas. É o sinal de transação de menor latência que a Helius oferece. O acesso requer um plano Professional ou superior — veja Preços.
O fluxo não é contínuo. A cobertura escala com a participação de stake encaminhada para a Helius, portanto, espere slots sem mensagens — lide com essas lacunas graciosamente. Veja Cobertura.
preconfSubscribe é servido a partir de wss://beta.helius-rpc.com — o endpoint Gatekeeper da Helius — em vez de mainnet.helius-rpc.com. Autentique-se com sua chave API como um parâmetro de consulta.
O hostname beta refere-se à implementação do Gatekeeper, não à maturidade das Pré-confirmations. Pré-confirmations são lançadas no endpoint Gatekeeper primeiro; ele se tornará o endpoint padrão à medida que a Helius migrar o tráfego para o Gatekeeper.

Inscrever-se

Envie uma solicitação JSON-RPC com o método preconfSubscribe. O servidor responde com um ID de inscrição, em seguida transmite uma notificação para cada transação programada. Passe um filtro opcional como o primeiro elemento params para receber apenas transações correspondentes; omita params para receber o fluxo completo.

Resposta da Inscrição

Armazene o result — é o ID da inscrição que você usa para cancelar a inscrição. Após essa confirmação, as notificações são transmitidas como quadros binários (veja abaixo).

Filtragem

Por padrão, preconfSubscribe transmite cada transação programada. Para restringir o fluxo, passe um objeto de filtro como o primeiro elemento de params. A filtragem acontece do lado do servidor, então você só paga e recebe pelas transações que lhe interessam.
Cada campo é opcional — um campo ausente significa “sem restrição” para esse predicado, então um filtro vazio (ou nenhum params) corresponde a todas as transações. Regras de filtro:
  • Todos os predicados são combinados com AND, avaliados na ordem regionIncludeaccountExcludeaccountRequiredaccountInclude.
  • As contas são chaves públicas codificadas em base58. Um valor inválido retorna o erro JSON-RPC -32602 (parâmetros inválidos).
  • Cada lista de contas é limitada a 500 entradas.

Resolução da tabela de consulta de endereços (ALT)

Filtros de conta correspondem a mais do que apenas as chaves de conta estáticas da transação — Helius resolve v0 tabelas de consulta de endereços no lado do servidor, então accountInclude, accountExclude e accountRequired também correspondem às contas que uma transação carrega por meio de uma ALT. Isso significa que você pode filtrar qualquer conta que uma transação toca, mesmo quando ela aparece apenas por meio de uma tabela de consulta — não há necessidade de manter mapeamentos ALT ou resolver tabelas você mesmo. Basta passar a chave pública da conta e a Helius fará a resolução antes que o filtro seja aplicado.

Filtragem de localização

Use regionInclude para receber apenas transações que se originam de regiões específicas da Helius. Passe um ou mais códigos de região; uma transação passa quando sua região de origem corresponde a qualquer um deles.
Códigos de região válidos:
Quando regionInclude é definido, transações que não carregam informações de região são descartadas. Um código de região não reconhecido retorna o erro JSON-RPC -32602 (parâmetros inválidos).

Payload de notificação

As notificações são entregues como quadros binários WebSocket (não JSON). Cada quadro é um layout de bytes compactado carregando uma única transação programada: Leia os campos na ordem, depois bincode-desserialize os bytes restantes em um VersionedTransaction para ler instruções, contas e a assinatura.
Sempre leia e verifique o byte version primeiro. Atualmente é 1. Se a Helius precisar atualizar o formato do payload, a versão será incrementada — faça ramificações nela para que seu decodificador continue funcionando em mudanças de esquema.
Uma pré-confirmation é um sinal antecipado, não uma garantia. A transação ainda não foi registrada on-chain e ainda pode falhar ou ser descartada. Confirme o registro através de verificações padrão de compromisso antes de tratá-la como final.

Exemplo

Cancelar inscrição

Para parar de receber notificações, chame preconfUnsubscribe com o ID de inscrição retornado de preconfSubscribe.

Preços

Pré-confirmations requerem um plano Professional ou superior e custam 10 créditos por mensagem — uma mensagem por transação transmitida — cobrados do seu plano. Veja Créditos para detalhes.
Pré-confirmations é um novo produto e o preço está sujeito a alterações.

Relacionados

Visão Geral das Pré-confirmações

O que são Pré-confirmações e onde elas se situam no pipeline do validador.

transactionSubscribe

Transmita transações com confirmação confirmada usando filtragem rica.

referência da API preconfSubscribe

Parâmetros de solicitação, campos de filtro e o layout de notificação binária.