Visão Geral
Transações pré-processadas são transações Solana pré-execução entregues antes de alcançarem o nível de compromissoprocessed. O Helius agrega múltiplas fontes de pré-execução — principalmente fragmentos decodificados diretamente à medida que chegam ao validador, complementados por sinais de pré-confirmação — e os entrega como um fluxo único deduplicado, sem pacotes de fragmentos brutos para receber ou infraestrutura de desfragmentação para operar do 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 forma de consumir transações pré-processadas é o método preprocessedSubscribe WebSocket (Beta Público) — disponível em todos os planos pagos a 0,1 créditos por mensagem.
preprocessedSubscribe (WSS)
A maneira recomendada para transmitir transações pré-processadas: filtragem de contas, payloads binários compactos, todos os planos pagos.
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:- Recepção de Fragmentos → O validador recebe fragmentos de transações (fragmentos de dados). ← Fragmentos brutos (UDP) são entregues aqui.
- Decodificação de Fragmentos → Fragmentos são decodificados em transações brutas. ← As transações pré-processadas são entregues principalmente aqui.
- Execução de Transações → A transação é executada pelo runtime.
- Geração de Metadados → Saldos pré/pós, logs e informações de erro são computados.
- Compromisso → A transação atinge o estado processado/confirmado/finalizado. ← LaserStream gRPC e LaserStream WebSocket entregam aqui.
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
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
Preços
preprocessedSubscribe está disponível em todos os planos pagos e tarifado a 0,1 créditos por mensagem — uma mensagem por transação entregue. Veja Créditos para detalhes.
Perguntas Frequentes
Você pode atualizar filtros de assinaturas pré-processados ao vivo?
Você pode atualizar filtros de assinaturas pré-processados ao vivo?
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 assinaturas concorrentes do preprocessedSubscribe é por chave de API ou por conta?
O limite de assinaturas concorrentes do preprocessedSubscribe é por chave de API ou por conta?
O limite de 10 conexões concorrentes é aplicado por chave de API. Cada chave de API em um projeto tem seu próprio limite de 10 conexões.
Próximos passos
Inscrever-se com preprocessedSubscribe
Endpoint, filtragem de contas, layout de payload binário e exemplos de código.
Pré-confirmações
Transações transmitidas antes de se tornarem fragmentos — o sinal de transação mais precoce.
Fragmentos Brutos (UDP)
Pacotes de fragmentos não processados via UDP. Você implementa a desfragmentação.
Helius Sender
Aja sobre o que você vê com o pouso de transação mais rápido.