Skip to main content

Visão Geral

Transações pré-processadas são transações Solana pré-execução entregues antes de atingirem o nível de compromisso processed. Helius agrega múltiplas fontes de pré-execução — principalmente fragmentos decodificados diretamente conforme chegam ao validador, complementados por sinais de transação agendada (pré-confirmação) — e os entrega como um fluxo único deduplicado, sem pacotes de fragmentos brutos para receber ou infraestrutura de desmontagem para operar no seu lado. Transações originadas de sinais de pré-confirmação chegam mais tarde neste feed do que no produto dedicado Pré-confirmações, que continua sendo o acesso mais cedo a elas. A principal maneira de consumir transações pré-processadas é o método preprocessedSubscribe WebSocket (Beta Pública) — disponível em todos os planos pagos a 0,1 créditos por mensagem. A entrega anterior via gRPC será descontinuada em favor deste método.

preprocessedSubscribe (WSS)

A maneira recomendada de transmitir transações pré-processadas: filtragem de conta, cargas compactas binárias, todos os planos pagos.

gRPC (legado)

A entrega anterior baseada em LaserStream. Será descontinuada — novas integrações devem usar o método WebSocket.

Onde as transações pré-processadas se encontram no ciclo de vida

Na arquitetura Solana, as transações passam por várias etapas antes de serem totalmente processadas:
  1. Recepção de Fragmentos → O validador recebe fragmentos de transações (fragmentos de dados). ← Fragmentos brutos (UDP) são entregues aqui.
  2. Decodificação de Fragmentos → Fragmentos são decodificados em transações brutas. ← As transações pré-processadas são entregues principalmente aqui.
  3. Execução de Transações → A transação é executada pelo runtime.
  4. Geração de Metadados → Saldos pré/pós, logs e informações de erro são computados.
  5. Compromisso → A transação atinge o estado processado/confirmado/finalizado. ← LaserStream gRPC e LaserStream WebSocket entregam aqui.
Assinaturas pós-execução entregam dados na etapa 5 — após execução completa e geração de metadados. Transações pré-processadas são entregues no tempo da etapa 2 — após a decodificação de fragmentos, antes da conclusão da execução. Para um sinal ainda mais precoce, Pré-confirmaciones transmitem transações agendadas antes de se tornarem fragmentos. A troca: você recebe dados de transação mais cedo, mas sem metadados de execução como alterações de saldo, logs ou informações de erro.
Este é um fluxo somente de transações. Atualizações de estado de conta e programa não existem até que o runtime execute a transação. Se você precisar de atualizações em tempo real de conta ou programa — saldos de tokens, estado de curva de ligação, contas de programa — use LaserStream gRPC em compromisso processed em vez disso.

Quais dados estão disponíveis?

As transações pré-processadas incluem a transação assinada completa, mas não possuem metadados de execução:

Dados Disponíveis

  • Assinatura da transação - Identificador único da transação
  • Chaves de conta - Todas as contas referenciadas pela transação
  • Instruções - Dados completos de instrução e chamadas de programa
  • Hash do bloco recente - Referência de expiração da transação
  • Assinaturas - Todas as assinaturas de transação
  • Número do slot - Em qual slot a transação foi observada

Dados Ausentes

  • Metadados da transação - Alterações de saldo de tokens, saldos pré/pós, status da transação
  • Erros de transação - Não podemos determinar se a transação falhou
  • Instruções internas - Invocações entre programas (CPIs) não são incluídas
  • Mensagens de log - Logs de programas são gerados durante a execução
  • Unidades de computação consumidas - Métricas de execução indisponíveis
Pense nas transações pré-processadas como receber a “proposta” sem o “resultado”. Você vê o que o remetente tentou fazer, mas não o que realmente aconteceu.

Garantias de entrega

A entrega é por melhor esforço, não garantida, e não há repetição histórica. Uma transação transmitida é um sinal pré-execução, não um nível de compromisso — ela pode falhar, ser descartada ou cair em um fork diferente. Deduplicate por assinatura e reconcilie contra um fluxo processado ou confirmado quando os resultados da execução forem importantes. Para aplicações críticas que requerem entrega garantida e dados completos, use LaserStream gRPC em vez disso.

Quando usar transações pré-processadas

Aplicações sensíveis a latência que desejam transações decodificadas, pré-execução sem operar um decodificador de fragmentos:
  • propAMMs
  • Snipers
  • Traders de cópia
  • Bots de liquidação
  • Arbitragem
Se cada microssegundo importa e você pode desmontar na velocidade da linha, use fragmentos brutos (UDP). Se você precisar do sinal mais cedo possível, use Pré-confirmaciones.

Preços

preprocessedSubscribe está disponível em todos os planos pagos e medido a 0,1 créditos por mensagem — uma mensagem por transação entregue. A entrega antiga gRPC está disponível para assinantes do plano Professional por 2 créditos por 0,1 MB de dados transmitidos não compactados. Veja Créditos para detalhes.

Perguntas Frequentes

Não, o filtro é fixo pela preprocessedSubscribe inicial. Para evitar um gap, recomendamos abrir uma segunda conexão com o novo filtro, aguardar o reconhecimento da assinatura e então mudar o seu serviço para o novo filtro.
O limite de 10 conexões concorrentes é imposto por projeto Helius. Criar uma segunda chave de API para o mesmo projeto compartilharia o mesmo limite de 10 conexões.

Próximos passos

Assine com preprocessedSubscribe

Endpoint, filtragem de conta, layout de carga binária e exemplos de código.

Pré-confirmaciones

Transações agendadas transmitidas antes de se tornarem fragmentos — o sinal de transação mais cedo.

Fragmentos brutos (UDP)

Pacotes de fragmentos não processados sobre UDP. Você implementa a desmontagem.

Helius Sender

Aja com base no que você vê com o desembarque de transações mais rápido.