finds.dev← search

// the find

lamports-dev/richat

★ 150 · Rust · updated Sep 2026

Solana Geyser Stream, Yellowstone gRPC, Solana PubSub

Richat is a Rust service that sits between Solana data sources (validators running the Agave geyser plugin, or upstream Yellowstone gRPC endpoints) and downstream consumers. It merges several sources into one stream, filters and de-duplicates it, and serves the result over Dragon's Mouth gRPC, QUIC, or an Agave-compatible PubSub websocket. It is for teams running their own infrastructure who want one fan-out point in front of many clients, so the node is not hit directly by each of them.

The fuzz targets cover the plugin's encoders for accounts, block meta, entries, slots and transactions, and the benches run encode and filter-parse cost against recorded block fixtures, so someone who cares about the hot path can rerun the numbers instead of trusting a claim. The README describes a two-tier topology where one richat consumes another's full stream and each tier filters, which keeps the expensive full stream on a single box. The proto crate re-exports the yellowstone-grpc-proto types rather than forking them, which keeps wire compatibility with existing Dragon's Mouth clients. Splitting out the filter and client crates means a consumer can decode and filter Geyser messages without running the server.

The README is an overview plus a pointer to config.yml, and nothing shown documents the config reference, the segment storage behaviour, or what happens to a client that falls behind the stream, so adopters will be reading the Rust source to find out. The branch-per-Agave-minor model (agave-v2.0, v2.1, v2.2) and the parallel cli-v1 and cli-v2 major lines mean a fix can need backporting across several branches, and master may lag the branch a production box is actually running. Plugin tags are pinned to Solana versions, so before a validator upgrade you have to confirm a matching plugin tag exists. Support is routed to a Telegram group while GitHub issues are limited to bugs and feature discussion, which leaves the setup questions most adopters will ask out of any searchable record.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →