Human-readable Solana data
Get decoded transaction details for over 3,600 Solana programs on demand via REST or stream parsed onchain updates via WebSockets.
Available on all paid plans



The clearest picture of what's happening onchain
Turn opaque bytes and accounts into human-readable transaction summaries with descriptive arguments, named accounts, and all token transfers for over 3,600 onchain programs.
{
"programId": "JUP6LkbZbjS1jKKwapdHNy74...",
"data": "EeywBCUuyt2UqWRr9dkkI8hiFZLpJ...",
// opaque bytes
"accounts": [
"7iWnBRRhBCiNXXPhq1GzvVk...",
"GV6UUmNxz2RpKxmNApadYKb7...",
"teBPkZtsnaKDpGHTy1KUZeh1...",
"2oL6my4QDDCFpgJZX1bZV1Ng...",
"9RzosLeV5P5oG5MLobJWrBTG...",
"3zExK5UQlKAri2KAAFUTvZAt...",
"5tKq8vHmRy3NdWZfLpXo2bAc...",
"Hj4nPwEs7YuDgvT6kMxCq9Fb...",
… 10 more bare addresses
]
}
{
"programName": "jupiter",
"instructionName": "shared_accounts_route_v2",
"summary": {
"type": "swap",
"description": "GV6UUm… swapped 1500 SOL for…",
"parsedData": {
"protocol": "jupiter",
"in_amount": "1500000000000",
"actual_out_amount": "64672839261950",
"input_mint": "So1111…", // SOL
"output_mint": "PumpCm…", // PUMP
"inner_swaps": [ … 5 route hops … ]
}
},
"decoded": {
"args": { "slippage_bps": 2200, "route_plan": […] },
"accounts": [ { "name": "user_transfer_authority" } … ]
}
}Parse any Solana transaction on demand
Turn signatures and address history into decoded instructions, transfers, and summaries for over 3,600 onchain programs. Supports REST and GraphQL.
- No raw bytes or unnamed accounts
- Filter & page address history by slot, time, or signature
- Receive exactly the fields you need with GraphQL, or get the fully translated payload via REST

- No raw bytes or unnamed accounts
- Filter & page address history by slot, time, or signature
- Receive exactly the fields you need with GraphQL, or get the fully translated payload via REST

Subscribe to decoded transactions in real time
Watch every confirmed transaction, filter at the instruction level, and receive the whole transaction already decoded over WebSocket.
- Filter by program, instruction, or account
- Server-side matching across 3,600+ programs, including inner instructions
- Every notification includes a summary, transfers, and pointers to the instructions that matched

- Filter by program, instruction, or account
- Server-side matching across 3,600+ programs, including inner instructions
- Every notification includes a summary, transfers, and pointers to the instructions that matched

Solana, deciphered
1. Look up program instructions
Use `describeProgram` to look up programs in our IDL catalog and use the named instructions, accounts, and roles to define your server-side filters
2. Connect and authenticate
Connect to the filtered stream endpoint, and authenticate with your project’s API key
3. Start streaming parsed data
Send a `parsedTransactionSubscribe` request with your filters to start receiving data
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"id": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4",
"name": "jupiter",
"instructions": [
"route",
"shared_accounts_route",
"exact_out_route"
],
"events": ["SwapEvent"],
"roles": [
"user_transfer_authority",
"destination_token_account"
]
}
}1. Look up program instructions
Use `describeProgram` to look up programs in our IDL catalog and use the named instructions, accounts, and roles to define your server-side filters
2. Connect and authenticate
Connect to the filtered stream endpoint, and authenticate with your project’s API key
3. Start streaming parsed data
Send a `parsedTransactionSubscribe` request with your filters to start receiving data
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"id": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4",
"name": "jupiter",
"instructions": [
"route",
"shared_accounts_route",
"exact_out_route"
],
"events": ["SwapEvent"],
"roles": [
"user_transfer_authority",
"destination_token_account"
]
}
}What you can build with parsed Solana data
Wallet activity feeds
Page a wallet's parsed history and render transfers, swaps, and summaries instead of decoding raw instructions yourself
Real-time swap tracking
Subscribe to router instructions and read in-amount, out-amount, and mints from the decoded payload as swaps land
Token launch monitoring
Watch Pump.fun `create` instructions in real time, or page a creator's wallet to list every mint it has ever deployed
Portfolio and PnL
Use native and token transfers plus swap summaries to keep balances, positions, and realized PnL up to date
Trading bots and alerts
Filter by program, instruction name, or account role so your bot only responds to the actions it cares about
Indexers and backfills
Backfill a database with Parsed Events, then keep it updated with real-time transactions from Parsed Streams
FAQs
Get answers to common questions. Have questions or need a custom plan? Contact our team.
The Parsed Events API and Parsed Streams products are available on all paid plans (Developer, Business, Professional, and Enterprise). To get started, get your API key from your Helius Dashboard and follow the quickstart guides in our docs.
The Parsed Events API and Parsed Streams are free until September 21st, 2026 while they are in open beta. Final credits and rate limits are subject to change.
Use the describeProgram method to look up an onchain Solana program by its address. If the program has been decoded, you will get the exact instruction and role names with which you can build your filter.
Because the Enhanced Transactions API will be deprecated, developers are encouraged to migrate to the Parsed Events API. To migrate, follow our guide to map endpoints, parameters, and response fields. We've also included a prompt for agents to complete the migration for you.
Get started
The Parsed Events API and Parsed Streams are in open beta and available on all paid plans




