Yellowstone gRPC
High-performance real-time Solana data streaming built on the Geyser plugin architecture. Access accounts, transactions, blocks, and slots through efficient gRPC streaming connections.
gRPC Endpoint
Solana: yellowstone.eu.fluxrpc.com
Fogo: yellowstone.eu.fogo.fluxrpc.com
Why Yellowstone gRPC?
Yellowstone gRPC offers significant advantages over traditional REST and WebSocket APIs for applications that need real-time blockchain data with minimal latency and maximum throughput.
- Real-Time Streaming — Receive blockchain data as it happens with sub-second latency. No polling, no delays — pure push-based delivery.
- Efficient Filtering — Subscribe only to the specific accounts, programs, or transaction types you need. Reduce bandwidth and processing overhead.
- High Throughput — Handle large volumes of blockchain data efficiently through gRPC's binary Protocol Buffer encoding — up to 10x faster than JSON.
- Persistent Connections — Maintain long-lived streaming connections for continuous data flow. Automatic reconnection and backpressure handling built-in.
FluxRPC Enhancements
High Availability Architecture
Multi-producer and multi-consumer architecture ensures minimal downtime. Multiple Solana nodes feed data to the gRPC service simultaneously. If one producer node goes down, others seamlessly continue providing data.
Block Lag Mitigation
Multi-producer architecture eliminates single-node block lag issues. Data is sourced from multiple nodes simultaneously, providing the freshest possible blockchain data.
Subscription Types
- Accounts — Subscribe to account updates by owner, pubkey, or data size. Filters: owner, account, dataSlice, memcmp.
- Transactions — Stream confirmed transactions filtered by account keys, signatures, or program involvement. Filters: vote, failed, accountInclude, accountExclude.
- Blocks — Receive full block data including transactions, rewards, and block metadata. Filters: accountInclude, includeTransactions, includeAccounts.
- Slots — Get notified on slot updates including status changes (processed, confirmed, finalized). Filters: filterByCommitment.
- Block Meta — Lightweight block metadata without full transaction data — ideal for tracking chain progress.
- Entry — Stream individual entries (groups of transactions) within blocks for granular processing.
Common Use Cases
- DeFi Applications — Monitor liquidity pools, token accounts, and price feeds in real-time.
- NFT Platforms — Track mints, transfers, and marketplace activities as they happen.
- Trading Bots — React to market conditions with minimal latency for competitive advantage.
- Wallets — Monitor account balances and transaction confirmations instantly.
- Analytics Platforms — Collect comprehensive blockchain data for real-time dashboards.
- Custom Indexers — Build custom blockchain indexing solutions with filtered data streams.
Quick Start
grpcurl \
-d '{"accounts":{"client":{"account":["<ACCOUNT_PUBKEY>"]}},"slots":{},"commitment":1}' \
-H "x-token: <your-API-key>" \
yellowstone.eu.fluxrpc.com \
geyser.Geyser/Subscribe
Protocol Reference
Yellowstone gRPC uses Protocol Buffers for strongly-typed data structures. The service definition is based on the open-source yellowstone-grpc project by Triton.
service Geyser {
rpc Subscribe(stream SubscribeRequest) returns (stream SubscribeUpdate) {}
rpc Ping(PingRequest) returns (PongResponse) {}
rpc GetLatestBlockhash(GetLatestBlockhashRequest) returns (GetLatestBlockhashResponse) {}
rpc GetBlockHeight(GetBlockHeightRequest) returns (GetBlockHeightResponse) {}
rpc GetSlot(GetSlotRequest) returns (GetSlotResponse) {}
rpc IsBlockhashValid(IsBlockhashValidRequest) returns (IsBlockhashValidResponse) {}
rpc GetVersion(GetVersionRequest) returns (GetVersionResponse) {}
}