Yellowstone gRPC
Geyser-based streaming over gRPC. Faster and more efficient than polling JSON-RPC or subscribing via WebSocket - you get account updates, transactions, slots, and full blocks pushed to your client as they happen.
Endpoint
http://cute-rabbit.by.supanode.xyz:10000/
No TLS on the shared tier. No auth token - access is controlled by IP allowlist, same as HTTP and WebSocket.
gRPC is available on paid shared tiers only. You need Build ($179/mo) or higher.
Example (Rust)
Using yellowstone-grpc-client:
use yellowstone_grpc_client::GeyserGrpcClient;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let mut client = GeyserGrpcClient::connect(
"http://cute-rabbit.by.supanode.xyz:10000/",
None, // no x-token, IP allowlist handles auth
None,
).await?;
println!("Connected to HighTower gRPC");
// Set up your subscription filters here
// See: https://github.com/rpcpool/yellowstone-grpc
Ok(())
}
What You Can Stream
- Account updates - replicate account state as it changes on-chain
- Transactions - filter by program, account, or signature and get them as they are processed
- Slots - new slot notifications
- Blocks - full block data including all transactions
Filtering is important. An unfiltered subscription on a shared tier will generate a massive data stream and likely get throttled. Always specify account or program filters.
Further Reading
- yellowstone-grpc on GitHub - official client libraries and protobuf definitions
- gRPC Limits - connection caps and payload size