Skip to main content
Parsed Streams is in open beta. It is available on paid plans — authenticate with your project’s API key. The API may still change before general availability.
Parsed Streams uses JSON-RPC 2.0 over a single WebSocket connection. Each request receives a response with the same id. A subscription then pushes parsedTransactionNotification messages until you unsubscribe or disconnect.

parsedTransactionSubscribe

Subscribe to decoded transactions matching a program, account, and instruction filter.

parsedTransactionUnsubscribe

Stop a subscription by its id.

ping

Check liveness and keep a quiet connection alive.

describeProgram

Discover the exact instruction and role names the matcher compares against.

Connection

Get your API key and the connection endpoint from the Helius Dashboard. Authenticate with your project’s API key, passed as the api-key query parameter (or the x-api-key header):
wscat
A missing or invalid key is rejected with HTTP 401. A project at its connection cap gets HTTP 429.

Limits

Errors

Errors follow JSON-RPC 2.0: { "error": { "code": <int>, "message": "<text>" }, "id": <id> }. Messages say exactly what was wrong and where. Connections can also close with a WebSocket close code — see Handling Reconnects for what each one means and how to recover.

Learn more

Parsed Streams Overview

What Parsed Streams is and the mental model behind filters.

Quickstart

Connect, send your first filter, and read a decoded notification.

Parsed Events Reference

Query the same decoded transactions on demand through REST or GraphQL.

Handling Reconnects

Survive idle timeouts and deploys, then backfill exactly what you missed.