OpenInfra.sh is now live - Solana infrastructure, included with every server. LEARN MORE HERE >

OpenInfra.shopeninfra.sh

Yellowstone gRPC

A persistent bidirectional gRPC stream that pushes Solana data to you — accounts, transactions, slots, blocks — with sub-millisecond latency.

Why gRPC over RPC polling?

  • Push model — data arrives the moment it's available, not when you ask.
  • Single TCP connection per subscriber, no per-request TLS handshake overhead.
  • Filter server-side: only the updates you care about cross the wire.
  • Backpressure-aware streaming — the server throttles to your consume rate.

Connection

Connect to grpc.openinfra.sh:10000 with TLS. Pass your API key in the x-token gRPC metadata header.

Quick start

import Client from "@triton-one/yellowstone-grpc"; const client = new Client(  "grpc.openinfra.sh:10000",  undefined,  // no TLS cert needed — hosted TLS  { "x-token": process.env.OPENINFRA_API_KEY }); const stream = await client.subscribe(); stream.on("data", (data) => {  if (data.transaction) {    const sig = data.transaction.signature;    console.log("tx:", Buffer.from(sig).toString("base64"));  }}); await new Promise<void>((resolve, reject) => {  stream.write({    transactions: {      sol_transfer: {        vote: false,        failed: false,        accountInclude: [],        accountExclude: [],        accountRequired: [],      }    },    slots: {},    accounts: {},    blocks: {},    blocksMeta: {},    accountsDataSlice: [],    ping: undefined,    commitment: 2, // CONFIRMED  }, (err) => {    if (err) reject(err);    else resolve();  });});

Proto definition (abridged)

// Subscribe request (abridged Yellowstone proto)message SubscribeRequest {  map<string, SubscribeRequestFilterAccounts>     accounts     = 1;  map<string, SubscribeRequestFilterSlots>        slots        = 2;  map<string, SubscribeRequestFilterTransactions> transactions = 3;  map<string, SubscribeRequestFilterBlocks>       blocks       = 4;  CommitmentLevel                                 commitment   = 5;}

The full proto file is available in the yellowstone-grpc repository.

Detailed guides