Guide

The fastest data feed for a Solana bot

Most bots that lose races are not slow. They are late — waiting on a data path that costs more time than every other part of the system combined.

Diagnose before you buy

Before changing anything, measure one number: the wall-clock gap between when a transaction was broadcast and when your handler was invoked. Not your loop time, not your RPC response time — the gap against the chain itself.

If that number is in the low milliseconds, your data is fine and your logic is the bottleneck. If it is over a hundred milliseconds, no amount of optimising your strategy will help. You are tuning a car with the handbrake on, and a faster feed is the handbrake.

What each option gives a bot

The right answer depends entirely on what your strategy competes on. Ordering-sensitive strategies need to be upstream. Everything else does not.

FeedLagGood forBad for
Raw shreds (UDP)~1 msSnipers, liquidations, ordering racesTeams without parser capacity
Geyser / Yellowstone gRPC80–120 msMarket making, analytics, indexersOrdering races
RPC websocket200–400 msPortfolio tracking, alerts, dashboardsAnything competitive
Polling getTransaction300 ms+Reconciliation, accountingLive trading

What changes in your code

Moving to shreds is not a drop-in swap and pretending otherwise would waste your money. You stop receiving events and start receiving fragments. You bind a socket, handle datagrams that can arrive out of order, reassemble FEC sets, and decide what to do with a slot you have only partially observed.

In exchange, you own the entire hot path. No client library sits between you and the bytes, nothing reconnects at the wrong moment, and nothing rate-limits you on the busiest day of the year.

import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("0.0.0.0", 20000))
sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 32 * 1024 * 1024)

while True:
    data, _ = sock.recvfrom(1500)
    handle_shred(data)   # one raw shred, as broadcast

Two regions, because stake is not evenly spread

Solana's validator set clusters, heavily, around a small number of metros. We push from New York and Frankfurt at the same time and let you take whichever copy lands first, so you are close to the leader regardless of which side of the Atlantic it is on.

Both regions are included in every plan. We do not sell them separately, because taking the first of two copies is the point.

Frequently asked

Will a faster feed make my bot profitable?
No. It removes a constraint; it does not supply an edge. If your strategy is unprofitable at 200 ms it will usually be unprofitable at 1 ms, just faster. Buy latency when you have measured that latency is what is costing you fills.
What server do I need to receive it?
A Linux box with a public IPv4, an open UDP port, and enough network headroom for a sustained multi-hundred megabit stream. Raise your kernel receive buffers — the dashboard gives you the exact sysctl values.
Can I test before committing?
That is what the 24-hour plan at 0.3 SOL is for. Point your bot at the socket, measure the gap against your current feed, and decide with your own numbers.

Measure it against your own bot

Twenty-four hours of raw shreds from New York and Frankfurt for 0.3 SOL. All we need is an IP and a port.

Keep reading