Frequently asked questions

How do Yellowstone gRPC account filters work?
Inside one named account filter, different fields are combined with AND. Values inside the account and owner arrays are combined with OR, while multiple memcmp and data-size filters must all match. Separate named filters act as independent subscriptions on the same stream.
What is the difference between accountInclude, accountRequired, and accountExclude?
accountInclude matches a transaction that mentions any listed account. accountRequired matches only when every listed account is present. accountExclude rejects a transaction when any listed account is present. When supplied together, all three conditions must pass.
Can Yellowstone gRPC filter failed and vote transactions?
Yes. Transaction filters expose optional vote and failed booleans. Setting both to false selects successful, non-vote transactions. Leaving either value undefined removes that property as a constraint.
How can I reduce Yellowstone gRPC bandwidth?
Filter on the server, avoid empty wildcard filters, use account data slices when only fixed byte ranges are required, and split unrelated workloads. Data slices reduce account payload bytes but do not change which accounts match.
How should a Yellowstone gRPC client reconnect?
Treat the stream as a live feed rather than durable storage. Persist a checkpoint, reconnect with bounded exponential backoff and jitter, rebuild state from RPC when required, resubscribe, deduplicate updates, and monitor queue depth so a slow consumer does not silently fall behind.