Yardswitch
Sub-millisecond Solana streaming, multiplexed across a backend cluster.
What it is
Yardswitch is a low-latency multiplexer for Solana data. It maintains hot connections to a cluster of backend validator nodes, deduplicates the combined stream on a first-come, first-served basis, and re-serves the result to your application over a single Yellowstone gRPC subscription.
Whichever backend node emits a given slot, account, transaction, or block first wins, so a Yardswitch subscription is consistently faster than any single node it sits in front of. A slow or temporarily unreachable upstream cannot delay your stream — the next node in the cluster has already delivered the same message.
Key facts
50–100 µs of added overhead per message, depending on subscription type. Measured end-to-end between the first backend node to emit a message and your client receiving it.
216,000-slot rolling replay window (~24 hours at mainnet slot times). Reconnect with
from_slotset and Yardswitch streams the historical window from disk, then transitions seamlessly to live.Full Yellowstone gRPC compatibility. Yardswitch speaks the unmodified
geyser.protoschema. Existing Yellowstone client libraries work as-is — point them at a Yardswitch endpoint and ship.
Replay details
from_slot replay covers slots, accounts, transactions, entries, and blocks_meta. Intra-slot account writes are preserved: if a program wrote to the same account multiple times in a single slot, every write_version is delivered in order, so replayed state matches what a live subscriber would have seen.
The reconstructed blocks subscription is live-only. A subscribe_blocks request with from_slot set is rejected with InvalidArgument: blocks are not possible to replay. To get block-level data for the historical window, either:
Subscribe to
blocks_meta+transactions+entries(all replay) and join client-side onslot, orSubscribe to
blockswithoutfrom_slotfor the live tail only.
Compatibility
Any Yellowstone gRPC client works without modification:
yellowstone-grpc-client(Rust)@triton-one/yellowstone-grpc(Node / TypeScript)yellowstone-grpc-pythonyellowstone-grpc-go
The only Yardswitch-specific changes to existing code are the endpoint URL and the x-token header. The full SubscribeRequest schema — filters, commitment levels, account-data slicing — behaves exactly as documented in the Yellowstone reference.
Last updated