Public Beta.
preprocessedSubscribe is available on all paid plans
and is metered at 0.1 credits per message (one message per delivered
transaction).What is preprocessedSubscribe?
preprocessedSubscribe is a Helius WebSocket method that streams preprocessed transactions — pre-execution Solana transactions delivered before they reach the processed commitment level. Helius aggregates multiple pre-execution sources — primarily shreds decoded directly as they arrive at the validator, supplemented by scheduled-transaction (preconfirmation) signals — and delivers them as a single deduplicated stream of compact binary messages, with no deshredding infrastructure on your side.
Transactions sourced from preconfirmation signals arrive later on this feed than on the dedicated Preconfirmations product, which remains the earliest access to them.
It is the successor to the earlier preprocessed LaserStream product. If you consume preprocessed transactions over gRPC today, switch to this method — it delivers the same class of data over a plain WebSocket connection at lower latency, and the gRPC delivery will be deprecated.
Endpoint
preprocessedSubscribe is served from wss://beta.helius-rpc.com — the Helius Gatekeeper endpoint — rather than mainnet.helius-rpc.com. Authenticate with your API key as a query parameter:
Subscribe
Send a JSON-RPC request with thepreprocessedSubscribe method. params carries the account filters and is required — accountInclude and accountRequired must specify at least one account between them (see Filtering):
Filtering
Every subscription is scoped by the account filters inparams. Filtering happens server-side, so you only receive the transactions you care about:
Filter rules:
- The three filters are combined with AND logic.
accountIncludeandaccountRequiredmust specify at least one account between them — there is no unfiltered full stream.- Accounts are base58-encoded pubkeys. Each list accepts up to 5,000 addresses.
Address lookup table (ALT) resolution
Account filters match more than the transaction’s static account keys — Helius resolves address lookup tables server-side, soaccountInclude, accountExclude, and accountRequired also match accounts a transaction loads through an ALT. Just pass the account’s pubkey; no need to maintain ALT mappings or resolve tables yourself.
Notification payload
Notifications are delivered as binary WebSocket frames (not JSON). Each frame carries a single transaction in a packed byte layout:
Read the fixed 73-byte prefix in order, then
bincode-deserialize the remaining bytes into a VersionedTransaction to read instructions, accounts, and address-table lookups. The signature is included in the prefix so you can identify and deduplicate a transaction without decoding the full transaction body.
Always read and check the version byte first. If Helius needs to update the payload format, the version will increment — branch on it so your decoder keeps working across schema changes.
Example
What data is available?
Each notification carries the signed transaction, its first signature, and its slot. Because delivery happens before execution, the stream does not include:- Execution status or errors
- Pre/post balances or token balance changes
- Log messages or inner instructions
- Compute units consumed
processed commitment.
Backpressure
The stream does not buffer indefinitely for slow consumers. If your client reads too slowly and more than 4,000 messages back up server-side, Helius closes the connection — you receive a clean WebSocket close frame. Drain frames faster than they arrive: keep heavy work such as transaction decoding and strategy logic off the receive loop, and reconnect and resubscribe after a disconnect.Delivery guarantees
Delivery is best-effort, not guaranteed, and there is no historical replay. Clients should:- Reconnect and resubscribe after a connection closes.
- Deduplicate by transaction signature.
- Treat the slot as an observation, not finality.
- Reconcile against a processed or confirmed stream when execution results matter.
Pricing
preprocessedSubscribe is available on all paid plans and metered at 0.1 credits per message — one message per delivered transaction, billed from your plan. See Credits for details.
Related
Preprocessed Transactions (gRPC)
The same pre-execution data over gRPC. Will be deprecated in favor of this method.
Preconfirmations
Scheduled transactions streamed before they become shreds — the earliest transaction signal.
Raw Shreds (UDP)
Unprocessed shred packets over UDP. You implement the deshredding.
transactionSubscribe
Post-execution transactions with rich filtering and execution metadata.