Skip to main content

Yellowstone gRPC (Geyser Plugin) Overview

Updated on
Dec 13, 2024

Overview

Yellowstone 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

The plugin extends Solana's Geyser infrastructure by supporting both gRPC and JSON-RPC protocols, offering offering enterprise-grade reliability with granular control.

Access

To access Yellowstone gRPC, you need to have the Yellowstone gRPC add-on enabled on your QuickNode endpoint.

Endpoint and Token Configuration

Yellowstone 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.pro and the port number 10000 (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, {});

Making Yellowstone gRPC Requests

To make request to Yellowstone gRPC using different languages you check out below resources:

Resources

We ❤️ Feedback!

If you have any feedback or questions about this documentation, let us know. We'd love to hear from you!

Share this doc