Skip to main content

Por que migrar?

A API Enhanced Transactions é um produto legado em modo de manutenção: ainda funciona, mas não está recebendo novos tipos de parser ou desenvolvimento de funcionalidades. Seu sucessor é o Parsed Events, que decodifica instruções através do catálogo IDL que também dá suporte ao Parsed Streams. A diferença está em como as transações são decodificadas. Enhanced Transactions classifica uma transação em uma de uma lista fixa de tipos de eventos (TRANSFER, SWAP, NFT_SALE, …) e retorna um resumo pré-construído para os tipos que conhece. Parsed Events decodifica toda instrução contra o próprio IDL do programa — mais de 3.600 programas — em argumentos nomeados e contas nomeadas, e constrói o resumo sobre isso: Parsed Events está em beta aberto em planos pagos. A API ainda pode mudar antes da disponibilidade geral; Enhanced Transactions continua funcionando enquanto isso, para que você possa migrar no seu próprio ritmo.

Mapeamento de endpoint

Ambos os métodos de Parsed Events são solicitações POST para https://mainnet.helius-rpc.com, autenticados com o mesmo parâmetro de consulta api-key que você já usa: O endpoint de histórico move todas as entradas dos parâmetros de string de consulta para um corpo JSON. Corpos de solicitação rejeitam campos desconhecidos, de modo que erros de digitação falham de maneira explícita ao invés de serem ignorados silenciosamente.

Antes e depois

A mesma tarefa — buscar o histórico analisado de uma carteira — em ambas as APIs:

Mapeamento de parâmetros

Analisar Transações

POST /v0/transactionsPOST /v1/parsed-events/transactions Novas opções sem equivalente antigo: includeRawTransaction retorna o payload original da transação Solana juntamente com o resultado analisado.

Histórico de Transações

GET /v0/addresses/{address}/transactionsPOST /v1/parsed-events/transaction-history. Cada parâmetro de consulta se torna um campo de corpo JSON: Três padrões mudam ao longo do caminho:
  • limit tem padrão 100 ao invés de 10.
  • commitment tem padrão confirmed ao invés de finalized; processed não é suportado.
  • sortOrder mantém os mesmos valores asc/desc com desc como padrão.
Para paginação, prefira paginationToken da resposta anterior em vez de beforeSignature — veja Simplificar paginação abaixo. O antigo parâmetro type não tem equivalente em Parsed Events — não há filtro de tipo de transação no lado do servidor. Filtre no lado do cliente em parsed.summary.type (swap, transfer, add_liquidity, …), ou nas próprias instruções decodificadas, o que é mais preciso que os antigos tipos fixos. Para feeds específicos de tipo em tempo real, Parsed Streams filtra no lado do servidor no nível da instrução.

Mapeamento de campos de resposta

Enhanced Transactions retorna uma lista plana de transações enriquecidas. Parsed Events envolve cada resultado em um envelope — { signature, parserStatus, parsed } — e respostas de histórico envolvem a lista em um objeto de página com paginationToken. Os campos analisados mapeiam-se da seguinte forma: E a maior mudança é um novo campo sem equivalente antigo: parsed.instructions[] contém todas as instruções de nível superior e internas em ordem de execução, com decoded.args e decoded.accounts nomeados a partir do IDL do programa. Onde Enhanced Transactions lhe dava um resumo de evento por transação, Parsed Events lhe dá o resumo e a lista completa de instruções decodificadas. Veja Resposta Analisada para cada campo.

Etapas de migração

1

Troque os endpoints

Aponte chamadas de Parse Transactions para POST /v1/parsed-events/transactions e chamadas de histórico para POST /v1/parsed-events/transaction-history. Mesmo host, mesmo parâmetro de consulta api-key. Solicitações de histórico mudam de GET com parâmetros de consulta para POST com um corpo JSON — mova cada parâmetro conforme o mapeamento acima.
2

Atualize o tratamento de respostas

Desempacote o novo envelope: verifique parserStatus === "OK", então leia os campos de parsed em vez do nível superior. Renomeie timestamp para blockTime, leia description e type de summary (protegendo-se contra null), e divida rawTokenAmount por 10^decimals onde o código antigo lia tokenAmount.
3

Substitua o filtro de tipo

Onde o código antigo passava type=..., filtre os itens retornados no lado do cliente em parsed.summary.type ou em parsed.instructions[] — por exemplo, “instruções onde programId é Jupiter e instructionName é route” substitui type=SWAP por algo que você pode realmente verificar. Se o filtro de tipo existia para direcionar um feed em tempo real, mova esse consumidor para Parsed Streams, que filtra no nível da instrução no lado do servidor.
4

Simplifique a paginação

Substitua o loop de cursor before-signature por paginationToken:
O loop termina quando paginationToken está ausente. Os antigos erros de busca em tempo de execução (“Falha ao encontrar eventos dentro do período de busca”) e o tratamento de assinatura de continuação desaparecem completamente — exclua esse código.
5

Verifique contra a saída antiga

Para um endereço de amostra, busque a mesma página de ambas as APIs e compare os conjuntos de assinaturas, taxas e montantes de transferência. Em seguida, implante e remova o caminho de código antigo. Enhanced Transactions continua funcionando enquanto você migra — não há corte forçado.

Diferenças de comportamento para revisar

  • Padrões de compromisso. O histórico tem como padrão confirmed onde o antigo endpoint tinha como padrão finalized. Passe commitment: "finalized" explicitamente se sua linha de processamento depende da finalização. processed não é suportado.
  • Erros por item. Uma assinatura que não pode ser analisada não falha mais na solicitação — ela retorna como um item com parserStatus: "ERROR" e um parserError. Trate-a por item em vez de por solicitação.
  • Cobertura de resumo. summary é null para transações sem uma ação reconhecida no nível da transação. A antiga API retornou type: "UNKNOWN" nesse caso; a nova API ainda fornece todas as instruções decodificadas para trabalhar.
  • Acesso. Parsed Events está em beta aberto em planos pagos, e a API ainda pode mudar antes da disponibilidade geral.

Deixe um agente de IA fazer a migração

Se você usa Claude Code, Cursor ou outro agente de codificação, cole o prompt abaixo na sessão do agente do seu repositório. Ele encontra locais de chamada de Enhanced Transactions e os reescreve.
O prompt é autônomo — o agente não precisa de acesso a esta página. Para docs prontos para agentes, pesquisa MCP e habilidades, veja Helius for AI agents.

Próximas etapas

Início Rápido de Parsed Events

Analise sua primeira transação, busque histórico de endereços e percorra os resultados.

Resposta Analisada

Referência de campo para transações analisadas, transferências e instruções.

Parsed Streams

A mesma decodificação em tempo real via WebSocket, filtrada no lado do servidor.

getTransactionsForAddress

Histórico de transações brutas com suporte a contas de token e filtros no lado do servidor.