Solana Program Streams: every program, every instruction, as-is
Program Streams are the full-breadth half of our streaming catalog. Subscribe to any of 1,074 per-program, per-instruction streams across 37 Solana programs and the events arrive in their original shape: instruction args and account pubkeys exactly as the program emitted them. The other half is Enhanced Streams, our 18 curated topics where decoded amounts, normalized mints, swap direction, and net-SOL math are computed server-side. Pick Program Streams when you need raw fidelity, when a program we curate is not enough, or when you want to load your own IDL and decode client-side. Topics use the format solana.<program>.<instruction>, so subscribing to Pump.fun buys is one line: solana.pump_fun.buy. The catalog covers every program a Solana team typically reaches for: Raydium AMM v4, CLMM, CPMM, and Stable; Orca Whirlpool; Meteora DLMM, DAMM, and Pools; Pump.fun and PumpSwap; Jupiter Swap and Perpetuals; Kamino Lending and Farms; Token and Token-2022; plus DAO programs, NFT marketplaces, and dozens more. Pricing is flat: Pro at $49 a month for 2 streams, Ultra at $199 a month for 20. Each stream from this catalog counts the same as one from the Enhanced catalog.
- SPL Token ProgramTokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA, The most-streamed program on Solana, every SPL transfer, mint, burn
- Token-2022TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb, Successor token program with extensions (transfer fees, confidential transfers)
- Pump.fun bonding curve6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
- Raydium AMM v4675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8
- Orca WhirlpoolwhirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc
- Meteora DLMMLBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo
- Jupiter AggregatorJUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4
Program or Enhanced Streams: pick by what you need
Same plan, two catalogs. Both sit on the same gRPC protocol; the difference is whether we run the parsing pipeline for you.
Program Streams
1,074 topics across 37 Solana programs. Instruction args and account pubkeys exactly as emitted, no enrichment.
Pick when you need raw fidelity, custom IDL decoding, or a program we have not curated yet. Indexers, custom analytics, niche workflows.
Enhanced Streams
18 curated topics. Decoded amounts, normalized mints, swap direction, net-SOL math, all server-side.
Pick when you want to ship a feature this week instead of building a parsing pipeline.
Program Streams coverage at a glance
last reviewed 2026-05-05
Browse every program we stream
37 programs · 1,074 decoded streams · search by name or program ID
37 programs
Program vs Enhanced at a glance
| Enhanced Streams | Program Streams | |
|---|---|---|
| What's in it | Hand-picked workflows | Every supported program |
| How many | 18 topics | 1,074 topics, 37 programs |
| Output shape | Decoded amounts, normalized mints, net-SOL, direction | Instruction args + account pubkeys, exactly as emitted |
| When to pick | You'd otherwise build a parser | You need raw fidelity or a program we have not curated |
| Endpoint | stream-1.nln.clr3.org:443 | events.nln.clr3.org:443 |
What is a Program Stream, and why isn't WebSocket enough?
A Program Stream is a real-time, persistent connection over which our edge pushes you every instruction, account write, and emitted event from a specific Solana program. Simple contract: you pick a topic in the format solana.<program>.<instruction>, the server subscribes you to that single per-instruction firehose, and the payload arrives in its original shape.
The standard JSON-RPC logsSubscribe method does something similar over a single WebSocket. It works for prototypes. It also ships text JSON over one TCP connection, which caps practical throughput in the low hundreds of messages per second. A busy program (Raydium, Pump.fun) easily exceeds that, and the result is dropped messages or thrashed connections. JSON parsing alone burns more CPU than the actual work in many bots.
Program Streams ride a Yellowstone-grade gRPC transport with binary framing and HTTP/2 multiplexing, the protocol that powers every modern Solana stream provider. The rest of this page is about how those streams are produced, when to pick Program Streams over Enhanced, and how to map our 1,074 topics to the workload you actually have.
Four data layers: RPC pubsub, Geyser, Yellowstone gRPC, and Shreds
Solana's data plane has four layers, ordered roughly by latency. Knowing which layer you're consuming clarifies what to expect from any vendor pitch.
| Layer | Source | Latency | When to use |
|---|---|---|---|
| JSON-RPC pubsub | WebSocket from a node | ~400ms after slot | Prototypes, hobby bots |
| Geyser callback | In-validator plugin | 0ms (in-process) | Custom indexers, owned infra |
| Yellowstone gRPC | Geyser plugin → external client | Sub-50ms p99 | Production bots, MEV, trading |
| Shreds | Pre-block gossip packets | Sub-block (1-10ms ahead) | Sub-100µs MEV strategies |
For 99% of teams, Yellowstone gRPC is the right answer. Fast enough for everything short of the latency-arms-race tier of MEV. Mature ecosystem of clients, parsers, and vendor tooling. The other layers exist for specific edges. Pubsub for tinkering. Geyser when you need to colocate your indexer with the validator. Shreds when those last 10ms decide whether your trade lands first.
Parsed vs raw streams: what you actually need to filter on
Yellowstone gRPC delivers binary transactions and account writes. A raw stream stops there. Your client receives the bytes, looks up the program's IDL, matches the 8-byte discriminator at the start of each instruction's data field, and routes to a typed handler. Loading the IDL is a one-time cost; maintaining decoders for ten programs is a real engineering project.
A parsed stream does that decoding server-side. You receive a typed { type: "Swap", mintIn, mintOut, amountIn, amountOut, … } object instead of a buffer. For one program you might not care. The moment you stream Raydium + Orca + Meteora + Pump.fun + System Program, parsing yourself becomes a project. We ship parsed for 40+ programs out of the box: every major DEX, launchpad, lending market, perps program, and infrastructure program.
Filter design also matters. The native accountInclude on the gRPC subscription request keeps your bandwidth tight. Subscribe only to the programs you want and the server drops everything else before it crosses the wire. For finer cuts (“only buys” or “only pool creates”), apply a discriminator side-filter client-side once you receive the parsed event.
Comparing the providers: Triton, Helius, QuickNode, NoLimitNodes
Every modern Solana streaming provider implements Yellowstone gRPC on the wire. The protocol is open and the client code is the same. Differences sit one layer above: regions, replay, parsing, pricing, program coverage.
| Provider | Pricing | Strength |
|---|---|---|
| Triton (Yellowstone, Vixen) | Bandwidth-based | Reference implementation, deepest infra credibility |
| Helius LaserStream | $400-$6,000/mo data add-ons | 9-region redundancy, 24h replay, polished UX |
| QuickNode Streams | Per-message + program add-ons | Best tutorials, broad QuickNode product suite |
| NoLimitNodes | Flat | Predictable cost, parsed catalog, custom-dev hours included |
Pick by workload. Migrating from existing Yellowstone code without an op-cost change goes to Triton. Need a managed product with strong dashboards goes to Helius. Already inside the QuickNode ecosystem stays on QuickNode. Want flat pricing and parsed events for the full Solana DEX and launchpad suite, that's us. Same protocol underneath; the bill at the end of the month differs significantly.
Common program-stream use cases
DEX indexers
Build a unified swap log across Raydium, Orca, Meteora, and Jupiter by subscribing to all four programs. Parsed events normalize the schema so your downstream OHLC pipeline doesn't need program-specific code paths.
Sniper bots
Watch the launchpad bucket (Pump.fun, Moonshot, Boop, Vertigo) for new token creates. Discriminator-side-filter on the specific instruction. Sub-50ms p99 from creation to detection.
Deposit detection
Stream the SPL Token program (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA) and filter Transfer instructions by destination. Credit user accounts the moment a deposit confirms. Combine with System Program for SOL deposits.
MEV & arb
Multi-program subscriptions feed an arb engine's pool-state cache: every Raydium AMM v4 swap, every Whirlpool tick, every Meteora active-bin shift, in one stream. Sub-block visibility with shreds available when the tail latency matters.
Lending & perps
Subscribe to Kamino, Marinade, and Jupiter Perpetuals to track position health, liquidations, and funding-rate updates in real time. Useful for risk dashboards and auto-deleveraging strategies.
Analytics & dashboards
Aggregate parsed events into time-series databases for leaderboards, TVL curves, top-trader dashboards, and ecosystem-health metrics. Combine with the historic-blocks product for backfill.
Frequently asked questions
Related products
Pre-decoded swap, lifecycle, and system feeds with applied decimals and normalized mints. Pick this when you want to ship without building a parsing pipeline.
The transport behind every Program Stream. Full protocol reference and client examples.
Host your custom Geyser plugin on NoLimitNodes validators, $65/mo per plugin.
Worked example of how a curated DEX maps onto Enhanced topics. The same program is also fully covered in Program Streams.
Bonding-curve creates, trades, and graduations decoded with creator wallet and reserves.
Subscribe to any of 1,074 Program Streams
Pro plan from $49/mo includes 2 streams (any combination, Enhanced or Program). Ultra adds 20 streams plus 30 hours of custom Geyser-plugin development time.