Solana price feeds
We decode every transaction and deliver every price it contains. A swap on any pool, an oracle update, it all becomes a price tick. Every token, every pool, from hardware co-located with the validators.
- Every transaction decoded
- Swaps and oracle updates alike
- Every token, every pool
- Co-located with the validators
p50
<150µs
p95
260µs
p99
440µs
Throughput
8k upd/s
An oracle update is already history
By the time a price lands on chain it has been through consensus, and every participant sees it at once. A co-located feed gives you the move before the settled value is published, which is the window arbitrage actually lives in.
A price is a decoded transaction
We do not poll venues or subscribe to a list of feeds. We decode the transaction stream itself, and anything in it that moves a price becomes a tick: a swap on any pool, an oracle program writing an update, all of it. If it happened on chain, it is in the feed.
Every token, every pool
Because coverage falls out of decoding rather than curation, there is no list to be added to. A pool is priced from its first swap, not once it is large enough for someone to notice. That is the difference between catching a launch and reading about it.
Latency budget
<150µs p50 and 260µs p95 at 8k upd/s. If your strategy is round-trip bound, the feed should not be the slow leg, and neither should the hop to your own box. We recommend Dedicated Nodes for co-located hardware.
Frequently asked
How fast are the price feeds?
<150µs at p50 and 260µs at p95.
Can I use this for an arbitrage bot?
That is the intended workload. Pair the feed with decoded shreds or Yellowstone gRPC so your price view and your transaction view come from the same place and the same network path.
Where do the prices come from?
From the transactions themselves. We decode the stream and turn anything that moves a price into a tick, whether that is a swap against a pool or an oracle program writing an update. Nothing is polled and nothing is sampled.
Do you cover oracle prices or swap prices?
Both, in the same feed. A swap on any pool and an oracle update are both just decoded transactions, so you are not choosing between a DEX feed and an oracle feed.
How is this different from reading an on-chain oracle?
An oracle publishes a settled value after consensus, so every reader sees it at the same moment and late. Decoding the transaction stream gets you the move as it lands, including the swaps the oracle has not reflected yet.
Which tokens and pools are covered?
Every token and every pool. Coverage is a consequence of decoding everything rather than a list someone maintains, so a new pool is priced from its first swap.
Try it on the free tier
No card required. Upgrade when your throughput needs it.
The rest of the stack
Shredstream
Low latency raw shreds
Raw shreds forwarded to Solana validators and trading infra, undecoded and untouched. Bring your own port — we deliver them straight to your origin in microseconds.
RPC
99.99% uptime
Production JSON-RPC endpoints with 24h of history, automatic failover routing, and per-key rate limits tuned for trading workloads.
Yellowstone gRPC
Real-time streams
Yellowstone gRPC with per-client filtering. Stream accounts, slots, transactions, and blocks with sub-second tail latency.
Preplay Shreds
Pre-block streams
Binary shreds decoded into Yellowstone-shaped transaction and entry updates before the block is assembled. Same gRPC client, one leader slot earlier than a block subscription.