> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Parsed Streams Reference

> API reference for Parsed Streams JSON-RPC methods over WebSocket. Subscribe to decoded Solana transactions with server-side filtering.

Parsed Streams is generally available on all plans. Authenticate with your project's API key. Each delivered event costs 1 credit; see [Credits](https://www.helius.dev/docs/billing/credits.md#data-streaming-credits).

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.

| Method | Purpose |
| - | - |
| `parsedTransactionSubscribe` | Start a subscription with a filter |
| `parsedTransactionUnsubscribe` | Stop a subscription |
| `describeProgram` | List a program's instructions, events, and account roles |

> [card] [parsedTransactionSubscribe](https://www.helius.dev/docs/api-reference/parsed-streams/parsedtransactionsubscribe.md)
>
> Subscribe to decoded transactions matching a program, account, and instruction filter.

> [card] [parsedTransactionUnsubscribe](https://www.helius.dev/docs/api-reference/parsed-streams/parsedtransactionunsubscribe.md)
>
> Stop a subscription by its id.

> [card] [describeProgram](https://www.helius.dev/docs/api-reference/parsed-streams/describeprogram.md)
>
> Discover the exact instruction and role names the matcher compares against.

## Connection

Parsed Streams is served on the [Gatekeeper](https://www.helius.dev/docs/gatekeeper/overview.md) endpoint at `wss://beta.helius-rpc.com`, the same host as Helius RPC and WebSocket traffic. Get your API key from the [Helius Dashboard](https://dashboard.helius.dev) and pass it as the `api-key` query parameter (or the `x-api-key` header):

```bash wscat theme={"system"}
wscat -c "wss://beta.helius-rpc.com/?api-key=YOUR_API_KEY"
```

[`describeProgram`](https://www.helius.dev/docs/api-reference/parsed-streams/describeprogram) is the exception: it is currently only available on `wss://fs-beta.helius-rpc.com/?api-key=YOUR_API_KEY`.

A missing or invalid key is rejected with HTTP 401. A project at its connection cap gets HTTP 429.

## Limits

| Limit | Value |
| - | - |
| Concurrent connections per project | 5 (Free), 10 (Developer), 50 (Business and Professional) |
| Subscriptions per connection | 25 |
| Client messages | 10 per second, burst of 20 |
| Client message size | 64 KiB |
| `programs` per filter | 10 |
| `instructionNames` per filter | 50, each up to 64 chars |
| `accounts.include` per filter | 100 |
| `accounts.roles` per filter | 20, each name up to 64 chars |
| Outbound buffer per connection | 2048 notifications, then the connection is closed |

## Errors

Errors follow JSON-RPC 2.0: `{ "error": { "code": <int>, "message": "<text>" }, "id": <id> }`. Messages say exactly what was wrong and where.

| Code | Meaning |
| - | - |
| `-32700` | Parse error (invalid JSON) |
| `-32600` | Invalid request |
| `-32601` | Method not found |
| `-32602` | Invalid params: bad pubkey, unknown field, unsupported commitment or details value |
| `-32000` | Filter limit exceeded |
| `-32001` | Server not ready; retry with backoff |
| `-32002` | Rate limited (10 messages per second) |
| `-32006` | Too many subscriptions (25 per connection) |

Connections can also close with a WebSocket close code — see [Handling Reconnects](https://www.helius.dev/docs/parsed-streams/guides/handling-reconnects.md) for what each one means and how to recover.

## Learn more

> [card] [Parsed Streams Overview](https://www.helius.dev/docs/parsed-streams.md)
>
> What Parsed Streams is and the mental model behind filters.

> [card] [Quickstart](https://www.helius.dev/docs/parsed-streams/quickstart.md)
>
> Connect, send your first filter, and read a decoded notification.

> [card] [Parsed Events Reference](https://www.helius.dev/docs/api-reference/parsed-events/overview.md)
>
> Query the same decoded transactions on demand through REST.

> [card] [Handling Reconnects](https://www.helius.dev/docs/parsed-streams/guides/handling-reconnects.md)
>
> Survive idle timeouts and deploys, then backfill exactly what you missed.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.