Skip to main content
New to Parsed Events? Read the Parsed Streams mental model first — Parsed Events returns the same decoded instructions over REST and GraphQL.

Quickstart

1

Get Access

Parsed Events is in closed beta. Confirm that it is enabled for your project. To join the closed beta, apply here.Authenticate with your project’s API key, passed as the api-key query parameter.
2

Parse a Transaction

Pass signatures in the transactions body field of POST /transactions:
3

Read the Result

The response contains one result per requested signature, in input order. Each result includes signature, parserStatus, and either parsed or parserError:
The example is trimmed to two instructions: a decoded token transfer inside the route, and an AMM instruction whose program the catalog knows but cannot decode, which leaves instructionName as null while rawData and rawAccounts remain available. See Parsed Response for every field and a full example response.
4

Fetch Address History

POST /transaction-history returns the same TransactionResult items for an address, newest first by default:
5

Paginate

History responses wrap results in a page object. Pass paginationToken back in the next request to continue. If paginationToken is missing, the service reached the end of the available page range.

Guides

Fetch Pump.fun Mints

Page through every token a wallet has deployed on Pump.fun.

Query with GraphQL

Select exactly the parsed fields your app needs.

REST Reference

Both endpoints accept a JSON body via POST at the endpoint the Helius team shares with you, authenticated with the api-key query parameter. Request bodies reject unknown fields, so typos fail loudly instead of being silently ignored.

Parse Transactions

POST /transactions fetches full Solana transactions by signature, decodes them with the same IDL-based instruction decoder that powers Parsed Streams, and returns one TransactionResult per requested signature. The same method is available in GraphQL as transactions. The response order matches the input order, including duplicate signatures. Missing transactions and per-item parser failures are returned as item-level parserStatus: "ERROR" results:

Request body

string[]
required
Transaction signatures to parse. The maximum batch size is 100.
string
default:"confirmed"
Commitment level used when fetching transactions.
  • confirmed
  • finalized
boolean
default:"false"
When true, include the raw Solana transaction payload as rawTransaction on each result.

Notes

  • processed commitment is not supported.
  • rawTransaction is omitted unless includeRawTransaction is true.
  • Transaction execution failures can still parse. In that case parsed.transactionStatus is ERROR, and the transaction error is exposed on parsed.error when available.
  • Request-level validation errors return an error response instead of item-level results.

Parsed Transaction History

POST /transaction-history returns parsed transaction history for an address. It supports pagination, signature bounds, slot bounds, block-time bounds, sort order, and optional raw transactions. The same method is available in GraphQL as transactionsByAddress. Unlike the legacy Enhanced Transactions address endpoint, request parameters are sent in a JSON body rather than query string parameters.

Request body

string
required
Address whose transaction history should be fetched.
number
default:"100"
Number of transactions to return. Must be between 1 and 100.
string
Return transactions before this signature.
string
Return transactions after this signature.
string
Cursor returned by the previous response.
string
default:"desc"
Sort order for returned transactions.
  • asc
  • desc
string
default:"confirmed"
Commitment level used for the history fetch.
  • confirmed
  • finalized
boolean
default:"false"
When true, include the raw Solana transaction payload as rawTransaction on each result.
object
Slot comparison bounds. Each bound is optional: gt, gte, lt, lte.
object
Block-time comparison bounds in Unix seconds. Each bound is optional: gt, gte, lt, lte.

Pagination

Responses have this shape. Each data item uses the same TransactionResult format returned by Parse Transactions:
Pass paginationToken back in the next request to continue. If paginationToken is missing, the service reached the end of the available page range.