Helius LaserStream: Yellowstone subscribe without Geyser logoHelius LaserStream: Yellowstone subscribe without Geyser
Point a Yellowstone client at a LaserStream region, pass the API key, subscribe. Helius runs the nodes, replay, and failover.
devrels.xyz/a/273LaserStream 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.
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.
| Need | Use |
|---|---|
| Parsed HTTP events (SWAP, NFT_SALE) | Webhooks |
| Yellowstone subscribe with replay and failover | LaserStream gRPC |
Standard Solana WS plus transactionSubscribe | LaserStream WebSocket (same backend) |
| Run the plugin on hardware you operate | Dedicated 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
| Who / what | Where |
|---|---|
| Docs | helius.dev/docs/laserstream |
| SDK | helius-labs/laserstream-sdk |
| X | @Helius · @0xMert_ |
| GitHub | helius-labs |
| Related | Webhooks and enhanced txs · Yellowstone gRPC |
Keep reading
Subscribe to Lazer, drop the signed payload in the trade tx, verify, then read price. That is what a program actually consumes.
Create a mint with an interface PDA, mint compressed balances, send them, then compress or decompress when you need a normal ATA. Photon RPC required.
Delegate accounts, run the session on Magic Router, commit when you need Solana to see the bytes, undelegate when the session ends.
Get new articles in your inbox
Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.
