Overview
Solana gRPC (Yellowstone-compatible Geyser gRPC) is a high-performance Solana Geyser plugin that enables real-time blockchain data streaming through gRPC interfaces. It serves as a powerful tool for developers who need to:
- Stream blockchain data in real-time
- Monitor on-chain activities (token mints, program interactions, state changes)
- Query account states efficiently
- Track transactions with minimal latency
Solana gRPC extends Solana's Geyser infrastructure by supporting both gRPC and JSON-RPC protocols, offering enterprise-grade reliability with granular control.
Access
Solana gRPC is included with Scale and Business plans. On Build and Accelerate plans, it remains available via the Solana gRPC add-on.
Endpoint and Token Configuration
Solana gRPC operates on port 10000. This is a dedicated secure port for gRPC communication and is separate from the standard Solana RPC endpoint. When connecting to the service the port must be specified in the URL:
- Endpoint: The name of your gRPC-enabled endpoint (by default, this is three randomly generated words) followed by
.solana-mainnet.quiknode.proand the port number10000(e.g.,https://example-guide-demo.solana-mainnet.quiknode.pro:10000) - Token: The alphanumeric string that follows the endpoint name in the URL (additional tokens can be generated from the Quicknode Dashboard) Endpoint Security tab.
Given the following example HTTP Provider URL: https://example-guide-demo.solana-mainnet.quiknode.pro/123456789/, your authentication your credentials would be:
- Endpoint:
https://example-guide-demo.solana-mainnet.quiknode.pro:10000 - Token:
123456789
Here is a sample for using this endpoint to connect with TypeScript:
import { Client } from '@rpcpool/yellowstone-grpc';
// For HTTP Provider URL: https://example-guide-demo.solana-mainnet.quiknode.pro/123456789/
const ENDPOINT = 'https://example-guide-demo.solana-mainnet.quiknode.pro:10000';
const TOKEN = '123456789';
const client = new Client(ENDPOINT, TOKEN, {});
zstd Compression
Solana gRPC supports zstd compression for faster gRPC requests. For information on how to enable zstd compression, refer to the zstd Compression documentation.
Making Solana gRPC Requests
To make a request to Solana gRPC using different languages you check out below resources:
Resources
- Guide: Monitor Solana Programs with Solana gRPC (Rust)
- Guide: Monitor Solana Liquidity Pools with Solana gRPC (Go)
- Guide: Monitor Solana Programs with Solana gRPC (TypeScript)
- Solana Documentation: Solana Validator Geyser Plugins
- GitHub: Yellowstone Geyser gRPC Plugin
- GitHub: Geyser Park - Unofficial List of Geyser Plugins
We ❤️ Feedback!
If you have any feedback or questions about this documentation, let us know. We'd love to hear from you!