Skip to main content
Start a subscription. Every confirmed transaction that matches your filter arrives as a parsedTransactionNotification, already decoded: every instruction with named arguments and named accounts, plus the fee, the full account key list, a transaction-level summary, and the SOL and token transfers.

Endpoints

Parsed Streams is in closed beta. The Helius team whitelists your project id and shares the connection endpoint with you:
  • wss://<ENDPOINT>/?api-key=<API_KEY>

Authorizations

string
obrigatório
Your Helius API key, passed as the api-key query parameter or the x-api-key header. A missing, invalid, or non-whitelisted key is rejected with HTTP 401.

Body

array
obrigatório
Unknown fields anywhere in the filter or options are rejected with -32602 rather than silently ignored, so typos fail loudly instead of matching nothing.

Response

integer
Subscription id (needed to unsubscribe)

Notifications

One notification per matching transaction per subscription. Inside params.result.value:
  • transaction — the full context: signature, slot, fee (lamports), the complete accountKeys list, status/error, a transaction-level summary, and the extracted nativeTransfers and tokenTransfers.
  • instructions — every instruction in execution order, positioned by topIndex, innerIndex, and stackHeight. Decoded instructions carry named decoded.args and decoded.accounts (snake_case, u64 values as strings); undecoded ones carry rawData and rawAccounts instead.
  • matchedIndexes — indices into instructions telling you which ones your filter actually hit. With details: "matched" the array contains only the hits and matchedIndexes is absent; with details: "raw" each matched instruction shrinks to its position, programId, and base58 data blob.
For a field-by-field reading of the notification payload, see the quickstart protocol reference.

Managing Subscriptions

The result from the subscribe response is the same number that appears in params.subscription on every notification from that subscription. Store it — you need it to unsubscribe. A project may hold up to 100 concurrent connections, shared across all of its API keys, with up to 25 subscriptions per connection. See the overview for all limits.