Yellowstone gRPC Filter Design for High-Volume Solana Indexers
How to design narrow Yellowstone gRPC subscriptions that reduce bandwidth and decoding load without silently missing relevant Solana events.
How to design narrow Yellowstone gRPC subscriptions that reduce bandwidth and decoding load without silently missing relevant Solana events.
Start from the output schema
Define the exact normalized events your application needs: wallet balance changes, swaps, pool updates or program instructions. Derive subscription filters from those outputs rather than streaming the entire chain first.
Separate program and account streams
Program transactions reveal execution context, while account updates provide low-latency state. Use independent checkpoints and join them by slot, signature and account address instead of assuming arrival order.
Budget false positives deliberately
A broad memcmp or owner filter may be cheaper to maintain but increases bandwidth and decoding CPU. Measure messages per slot, accepted-event ratio, bytes per event and decode latency for every filter revision.
Handle reconnect gaps
Persist the highest processed slot and subscription configuration. After reconnect, backfill the uncertain interval through RPC or block storage before declaring the stream synchronized. Deduplicate by stable event identity.
Version filters with decoders
A protocol upgrade can introduce new accounts or instruction layouts. Deploy filter and decoder changes together, retain unknown raw messages and alert when previously unseen discriminators appear.
Build a reliable Solana indexer
TierZero develops wallet trackers, indexers and data pipelines and real-time dashboards. Request a stream architecture review through contact.
Production checklist
Before launch, define ownership, test fixtures, failure states, alerts and a rollback procedure. For a scoped engineering review, use the TierZero project form.
Building this for production?
We turn this architecture into tested, non-custodial software with monitoring, documentation and deployment support.
Related technical guides
RPC Circuit Breakers for Blockchain Bots: Safe Provider Failover
A provider may answer health checks while logs, simulation, or transaction submission is degraded.
Read articleClock Synchronization for Trading Bots: Timestamps, Nonces and Incidents
Clock drift causes signature rejects, inverted logs, false timeouts, and broken cross-host reconciliation.
Read articleBuilding a Reorg-Safe EVM Indexer with eth_getLogs and Checkpoints
A production design for ingesting EVM logs with bounded block ranges, canonical checkpoints and reversible derived state.
Read article