← Articles
Helius LaserStream: Yellowstone subscribe without Geyser logo
solana

Helius LaserStream: Yellowstone subscribe without Geyser

· AUG 30, 2026 ·
Read
Share

Point a Yellowstone client at a LaserStream region, pass the API key, subscribe. Helius runs the nodes, replay, and failover.

devrels.xyz/a/273

LaserStream is Helius's managed gRPC stream for Solana accounts, transactions, slots, and blocks. The wire is Yellowstone, so an existing client keeps working. Helius runs the nodes, the replay window, and failover across a region.

App teams use it when polling RPC or waiting on an HTTP webhook is too slow, and they do not want to run a Geyser plugin on a validator. Enhanced transactions and webhooks stay for parsed events. Yellowstone gRPC is the open protocol this endpoint speaks.

Subscribe

Get a key from the Helius dashboard. Point the SDK at the region next to your process. Pass a Yellowstone SubscribeRequest. The JS package is helius-laserstream. Rust and Go live in the same repo. @triton-one/yellowstone-grpc still works if you already have it.

typescript
import {
  subscribe,
  CommitmentLevel,
  LaserstreamConfig,
  SubscribeRequest,
} from "helius-laserstream"

const config: LaserstreamConfig = {
  apiKey: process.env.HELIUS_API_KEY!,
  endpoint: "https://laserstream-mainnet-ewr.helius-rpc.com",
}

const request: SubscribeRequest = {
  transactions: {
    token: {
      accountInclude: ["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"],
      accountExclude: [],
      accountRequired: [],
      vote: false,
      failed: false,
    },
  },
  commitment: CommitmentLevel.CONFIRMED,
  accounts: {},
  slots: {},
  transactionsStatus: {},
  blocks: {},
  blocksMeta: {},
  entry: {},
  accountsDataSlice: [],
}

await subscribe(
  config,
  request,
  async (data) => {
    if (data.transaction) console.log("tx", data.transaction)
  },
  async (err) => {
    console.error(err)
  },
)

Labels like token are yours. You can stack account, transaction, slot, and block filters in one request. Commitment is processed, confirmed, or finalized. Processed is earliest and can roll back. Confirmed is the usual production default.

On a wallet filter, set tokenAccounts to balanceChanged or all so associated token accounts owned by that wallet also match. Set matchMints: true when the include list is mints. Classic SPL transfers do not put the mint in the account keys, so a pubkey-only filter misses them.

Which stream

LaserStream is the post-execution stream. You get commitment, account updates, and program activity. If you need bytes before the runtime finishes, Helius sells shreds as a separate product.

Helius data paths
NeedUse
Parsed HTTP events (SWAP, NFT_SALE)Webhooks
Yellowstone subscribe with replay and failoverLaserStream gRPC
Standard Solana WS plus transactionSubscribeLaserStream WebSocket (same backend)
Run the plugin on hardware you operateDedicated node plus Yellowstone

Replay, regions, plans

The SDK tracks the last slot. On disconnect it reconnects and resumes. Replay is on by default. Set fromSlot on the request to start further back. The window is about 216,000 slots, roughly 24 hours. Replays older than about 20 minutes come back finalized only.

Nine mainnet regions: Newark, Pittsburgh, Salt Lake City, Los Angeles, London, Amsterdam, Frankfurt, Tokyo, Singapore. Devnet is Newark only. https://laserstream-mainnet-ewr.helius-rpc.com is the US East host. Swap the city code for the others. Devnet: https://laserstream-devnet-ewr.helius-rpc.com.

Devnet LaserStream is on every plan. Mainnet needs Business or Professional. High-volume shops buy LaserStream Plus for a monthly terabyte allowance instead of burning credits. Logs truncate at 10 KB unless you ask for an untruncated host.

People and links

Keep reading

Get new articles in your inbox

Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.

solanaheliuslaserstreamyellowstonegrpcstreamingbuilders

DevRels · August 30, 2026

Helius LaserStream: Yellowstone subscribe without Geyser | devrels.xyz