Solana Geyser gRPC - Quickstart

Install SLV

bash
curl -fsSL https://storage.slv.dev/slv/install | sh

$ slv b init

slv b init
With a single command, slv b init, you can instantly scaffold a development environment for Solana bots using high-performance stream-based data.
bash
slv b init
  • Use geyser-ts if you prefer a TypeScript Geyser bot
  • Use geyser-rust if you prefer a Rust Geyser bot

Allow ICMP latency-probe sources

For gRPC region selection, ERPC sends ICMP latency probes to your registered IP from the proxy hosts listed below. Allow inbound ICMP echo requests from every listed source IP. If they are blocked by a firewall (ufw, cloud firewall, security group, etc.), the measurement can become 9999ms and a non-optimal region may be selected. Multiple IPs in one region are separate probe hosts; all of them are required.
Probe regionICMP source IPs
🇳🇱 Amsterdam84.32.103.245, 84.32.64.77
🇺🇸 New York64.130.37.222
🇩🇪 Frankfurt185.191.118.149, 185.191.118.177, 185.191.118.206
🇬🇧 London67.209.52.250
🇯🇵 Tokyo198.13.133.88
🇸🇬 Singapore202.8.11.52
🇦🇺 Sydney82.26.116.36
🛰️ Far Point63.254.162.14

Burst gRPC endpoints

Geyser gRPC Burst is ERPC's low-latency shared gRPC tier for latency-sensitive Solana stream workloads. Burst uses the same Yellowstone/Geyser gRPC interface as the regular gRPC service, so existing gRPC clients can keep using standard account, transaction, slot, and block subscriptions.
Burst uses the same regional ICMP probe sources listed above for latency-based region selection. The addresses below are Burst client endpoint IPs, not ICMP probe sources; allow them only if your outbound firewall restricts connections to the selected endpoint.
RegionBurst DomainIP Address
🇩🇪 Frankfurtgrpc-fra1-burst.erpc.global64.130.41.234
🇳🇱 Amsterdamgrpc-ams1-burst.erpc.global64.130.55.180
🇺🇸 New Yorkgrpc-ny6-burst.erpc.global64.130.59.217
🇯🇵 Tokyogrpc-tokyo-burst.erpc.global208.91.107.247
🇸🇬 Singaporegrpc-singapore-burst.erpc.global67.209.55.15
Use the endpoint shown in the ERPC Web Dashboard after registering your IP. Burst remains a full Geyser gRPC stream; Direct Shreds/ShredStream is a separate UDP-based product for raw shred data.

Geyser Client Example – TypeScript

  1. Rename .env.sample to .env
  2. Edit .env with your actual values:
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
Please note:
This endpoint is a sample and cannot be used as is. Please obtain and configure the appropriate endpoint for your environment.
  1. Install dependencies and start the development server:
bash
pnpm i
pnpm dev
Geyser TypeScript VSCode

Geyser Client Example – Rust

  1. Rename .env.sample to .env
  2. Edit .env with your actual values:
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
Please note:
This endpoint is a sample and cannot be used as is. Please obtain and configure the appropriate endpoint for your environment.
  1. Build and run the client:
bash
RUST_LOG=info cargo run
Geyser Rust VSCode

✅ 1-Day Free Trial Available

Both Geyser and Shreds bots can be tested for free for 1-Day via the ERPC Web Dashboard.

Solana Stream SDK

Solana Stream SDK
The Geyser adapter used in the starter code downloaded via the slv b init command
is provided by the open-source Solana Stream SDK.
It supports both Rust and TypeScript, enabling efficient implementation of Solana stream communication,
including Geyser subscriptions, transaction processing, and real-time account update monitoring.
The starter code you obtain is a direct example of this SDK in action,
making it easy to extend for your own bot development or custom logic.
For more details, visit the GitHub repository:
https://github.com/ValidatorsDAO/solana-stream