Yellowstone gRPC: how real-time Solana data actually streams
Yellowstone gRPC (Dragon's Mouth) is a Geyser plugin streaming accounts, transactions, slots, and blocks over gRPC. Why it beats JSON-RPC websockets.
devrels.xyz/a/35short linkYellowstone gRPC (Triton One's "Dragon's Mouth") is a Geyser plugin that streams real-time Solana data — accounts, transactions, slots, blocks, blocks-meta, and entries — to clients over gRPC subscriptions. It's the layer most serious indexers, trading bots, and data pipelines run on instead of JSON-RPC websockets.
How it works
A validator loads the plugin (--geyser-plugin-config), tapping the same Geyser hook Solana uses for account/slot/transaction notifications. A client opens a single gRPC stream with a SubscribeRequest carrying named filters; the server pushes matching updates as Protobuf messages over HTTP/2.
Versus JSON-RPC websockets:
- Lower latency and compact Protobuf payloads vs JSON.
- Rich server-side filtering — by account, owner, memcmp/dataSize, or transaction membership — so you receive only what you asked for.
- HTTP/2 flow control = real backpressure: a slow consumer doesn't silently drop updates the way websockets can.
The subscribe request
import Client from "@triton-one/yellowstone-grpc"
const client = new Client(GRPC_ENDPOINT, X_TOKEN, undefined)
const stream = await client.subscribe()
stream.write({
accounts: {
myFilter: {
owner: ["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"], // SPL Token program
filters: [{ datasize: 165 }], // token accounts
account: [], nonemptyTxnSignature: undefined,
},
},
transactions: {
txFilter: { accountInclude: ["<your-program-id>"], vote: false, failed: false },
},
slots: {}, blocks: {}, blocksMeta: {}, entry: {},
commitment: 1, // 0 processed · 1 confirmed · 2 finalized
accountsDataSlice: [],
})
stream.on("data", (update) => { /* account / transaction / slot update */ })
// reply to server pings to keep the connection alive through load balancersFilter groups include accounts, transactions (with accountInclude/Exclude/Required), slots, blocks, blocksMeta, and entries. Clients exist for Rust (yellowstone-grpc-client), TypeScript (@triton-one/yellowstone-grpc), and Go.
The honest read
Yellowstone gRPC is almost always a premium add-on, not a free RPC tier — Triton, Helius, and QuickNode all sell it as paid streaming. It also carries more ops weight than websockets: persistent gRPC connections, ping/pong keepalives, reconnection-and-replay logic, Protobuf tooling, and filter tuning. For light needs, JSON-RPC websockets are simpler. For high-throughput, low-latency, lossless ingestion — indexers, MEV, real-time analytics — gRPC is the right tool. The repo is actively maintained (recent tags carry Alpenglow release-candidate compatibility work).
References
If your product's edge is reacting to chain state first, the question isn't whether to use gRPC — it's which provider's Dragon's Mouth you point it at.
Keep reading
Juggling Helius for Solana, Alchemy for Ethereum, CoinGecko for prices, and a home-grown failover script is a full-time job. Uniblock collapses that into one API key with auto-routing, retries, and a single invoice — including Solana JSON-RPC and Direct APIs for Helius, Solscan, HelloMoon, and more.
Rank programs by what actually gets called on Solana and you get a different picture than TVL charts: SPL Token at 346M invocations a day, the Pump.fun stack summing to ~100M across three programs, Meteora's open-source DAMM v2 out-calling Jupiter, and — at #6 — a program that looks like anonymous bot infrastructure on every explorer but resolves to Phoenix Perps once you dig. Sourced from ProgramWatch's free API, then cross-checked against the OtterSec verify registry, Solana Compass, and each team's repos — which is where the real story turned out to be.
Yesterday we covered what Robinhood Chain is. Today, the tape measure: Solana is 6.3 years old with ~704 permissionless validators, 4,302 gossip nodes, 29 months since its last outage, $4.98B TVL, and 63,503 deployed programs. Robinhood Chain is 9 days old with one sequencer. That's not a dunk — it's a different design goal. The fairest comparison for the stack's ceiling is Arbitrum One, and the numbers tell that story too.
Get new articles in your inbox
Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.
