Frequently asked questions

Does Yellowstone gRPC reconnect automatically?
The Rust yellowstone-grpc-client added built-in auto-reconnect in v13.1. It can resume with from_slot and deduplicate the overlap when the endpoint supports replay. Other clients still need an explicit reconnect state machine, so verify the behavior of the package and provider version you run.
What does from_slot do in a Yellowstone subscription?
from_slot asks the server to replay updates beginning at a prior slot. Replay depends on the server retaining that slot. Request a small overlap before your last complete checkpoint, then deduplicate every replayed update before applying side effects.
How should a Solana bot deduplicate replayed events?
Use a stable event identity. Transactions can use signature plus commitment or event type. Account updates can use pubkey, slot, and write version. Store side-effect idempotency keys durably so a process restart cannot submit the same action twice.
Can replay guarantee that no Solana updates are missed?
No. Coverage ends when the disconnect is longer than the provider's retained replay window, the checkpoint is wrong, or the requested data was never retained. Detect that condition, pause dependent actions, and rebuild authoritative state through RPC or another backfill source.
Why does a Yellowstone stream need ping messages?
Some load balancers close quiet bidirectional gRPC connections. Yellowstone defines a ping field so a client can respond to server pings without rewriting the full subscription. A healthy connection still needs a stale-data alarm because an open socket does not prove updates are current.