Enhanced Stream

The Raydium API for real-time AMM v4, CLMM and CPMM data on Solana

Raydium isn't one program, it's three. AMM v4, CLMM, and CPMM each have their own contract address, their own IDL, their own fee math, and any "Raydium API" that doesn't cover all three is missing real volume. The official api-v3 endpoint covers none of them at the instruction level; their own docs flag it as not built for real-time tracking. So most teams end up filtering logsSubscribe, paying the JSON parsing tax, and writing three IDL decoders by hand. We've already done that part. NoLimitNodes ships parsed Raydium events over gRPC: swap, openPosition, initialize2, all of them. Typed and ready, 12ms p50 from slot landing to your socket.

AMM v4 + CLMM + CPMMSub-50ms latencyDecoded instruction eventsgRPC + WebSocketNo rate limitsFree RPC tier
On-chain programs

Try it live: Raydium streams

decoded solana events over grpc · click Run to see live data

Raydium AMM v4
1grpcurl -H "x-api-key: YOUR_API_KEY" \
2  -d '{"topic":"prod.mat.solana.program.swaps.raydium_amm_v4","format":"JSON"}' \
3  stream-1.nln.clr3.org:443 nln.stream.v1.StreamService/Subscribe
Live Output

See real data

Click Run to stream 5 live Raydium AMM v4 messages

Pro: 2 streams $49/mo · Ultra: 20 streams $199/mo · pre-parsed, zero infra

The Raydium events you can stream

every decoded instruction across AMM v4, CLMM, and CPMM

EventTypeDescriptionFrequencyLatency
swapinstructionAMM v4 base-in or base-out swap. Decoded to amountIn, minimumAmountOut, side, pool keys.Very high12ms
initialize2instructionNew AMM v4 pool launch. The instruction every sniper bot watches; surfaces new pairs before they appear in any aggregator.Medium12ms
depositinstructionAMM v4 LP deposit. Includes max coin amount and max PC amount with computed LP shares.High12ms
withdrawinstructionAMM v4 LP withdrawal. Provides LP token amount burned and the resulting coin/PC payouts.High12ms
swapV2instructionCLMM concentrated-liquidity swap. Decodes tick range, sqrt price limit, and exact-in vs exact-out.Very high14ms
openPositioninstructionCLMM new position NFT mint with tick lower / tick upper. Used to track liquidity range entries.High14ms
increaseLiquidity / decreaseLiquidityinstructionCLMM position adjustments. Track LP rebalancing and just-in-time liquidity strategies.Medium14ms
collectFeeinstructionCLMM fee collection by LPs. Useful to compute realized yield for a position.Medium14ms
createPool (CPMM)instructionCPMM pool creation. Surfaces Raydium Launchpad graduations and new constant-product pairs.Medium14ms
swapBaseInput / swapBaseOutput (CPMM)instructionCPMM swaps with explicit base input or output side. Lower fee than AMM v4, used by Launchpad pairs.High14ms

Raydium streaming performance

last reviewed 2026-04-28

gRPC subscribe latency
12ms
p50 from slot landing to your socket; AMM v4 transactions, mainnet
Verified 2026-04-28
Raydium tx volume
2-5M / day
Combined AMM v4 + CLMM + CPMM swap and pool instructions
Verified 2026-04-28
Active pools tracked
8,200+
Live AMM v4 pools we decode in real time
Verified 2026-04-28
Stream uptime SLO
99.95%
Pro and Ultra plans, monthly rolling

What “the Raydium API” actually gives you (and what it doesn't)

The official surface at api-v3.raydium.io is a REST service. It returns the live pool list, mints, prices, and farm metadata, and it's fine if you're refreshing a chart. The pages people share when they say “use the Raydium API” point at the Swagger spec, which is exactly what that endpoint is for.

What it isn't for: catching new pools as they launch. Sizing a swap before the next slot. Tracking a CLMM position drifting out of range. Anything where freshness matters in seconds, not in “roughly when the next polling cycle fires.” Raydium's own docs spell it out. The API isn't built for real-time tracking.

The actual real-time surface is on chain. Every swap, every initialize2, every openPosition lands in a Solana transaction within ~400ms of slot processing. The job is to subscribe to the program, decode the bincode payload against the right IDL, and route the result to a typed handler. That's three programs (AMM v4, CLMM, CPMM), three IDLs, and three discriminator routing tables. Fine for a dedicated team. Annoying as a side quest while you're trying to ship a bot.

We've been running that decoder for the last 18 months. Subscribe to our gRPC and you skip the IDL-loading step entirely; the events arrive parsed.

The three Raydium programs and their on-chain footprints

Calling them “Raydium v4” is shorthand. There are three deployed programs, each with a different fee model, account layout, and instruction set. Touching any one without the others means missing the trade you cared about.

AMM v4

The original. Constant-product math (x·y=k) wired into the OpenBook orderbook so liquidity also serves the central limit order book. Still settles the bulk of Raydium volume across roughly 8,200 active pools last we checked.

675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8
CLMM

The Uniswap V3 port. Liquidity goes into a tick range; LPs get a position NFT. More capital-efficient, much more annoying to follow. Every LP lifecycle event moves through openPosition, increaseLiquidity, decreaseLiquidity, and collectFee. Four discriminators, not one.

CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK
CPMM

The newest. Constant-product again, but cheaper and simpler than AMM v4. Used by Raydium Launchpad and the post-Pump.fun graduations that route through Raydium instead of PumpSwap. The createPool instruction is the canonical “this token graduated” signal here.

CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C

A working Raydium feed is therefore three subscriptions, three IDLs loaded into your client, and three pricing models in your bot. Or one parsed stream from us where each event carries a programVariant tag and the rest is yours.

REST, WebSocket, or gRPC: pick one based on what hurts

There's no universally right transport. There's a right one for the job in front of you. The mistake is picking the wrong layer and then blaming Solana when fills miss.

TransportRight forLatencyDecoded?
REST (api-v3)Charts, dashboards, aggregators5-30s pollingYes (high-level only)
WebSocket (logsSubscribe)Prototypes, side projects~400ms after slotNo, raw program logs
gRPC (Yellowstone)Anything trade-adjacentSub-50ms p99Yes (with NoLimitNodes parsing)

REST is right if a human is looking at the data. The freshness cap is the polling interval, full stop.

WebSocket logsSubscribe works for prototypes. It also breaks at scale. JSON framing is expensive: a single TCP connection caps out in the low hundreds of messages per second in practice, and you're decoding base64 program logs on the client. We've watched teams ship with logsSubscribe and quietly migrate to gRPC six weeks later.

Yellowstone gRPC is what every credible Solana data product runs on. Triton built the protocol. Helius LaserStream rewrapped it. Shyft and QuickNode put their own UX on top. We did the same. The wire is identical across vendors; the differences are in pricing, parsing, and which programs you get out of the box.

The real lever on top of gRPC is whether the events arrive decoded. Raw means you load the IDL, match discriminators, and write the routing yourself. You control everything; you also maintain it. Parsed means we did that work; you trade some flexibility for speed of integration. We ship parsed for AMM v4, CLMM, and CPMM. See the Yellowstone gRPC nodes page for the underlying transport.

What teams build with this

Sniper bots

Watch initialize2 on AMM v4 and createPool on CPMM. Both fire with the mint addresses and initial reserves in the instruction itself, so you can size and submit the buy without a separate getMint round-trip. The fastest snipers we see clock under 20ms from instruction-landing to bundle-submitted on our gRPC. The latency budget is mostly your code, not ours.

MEV searchers

Cross-program subscriptions feed the pool-state cache: every AMM v4 swap, every CLMM tick crossing, every CPMM fill, in one stream. Pair with Jupiter route data and you're the first to see arb windows close.

Analytics & OHLC

The parsed swap event carries both legs already priced, so you skip the decimals-and-mints normalization that REST aggregates force on you. Bucket by time, you get clean candles. Bucket by trader, you get a leaderboard.

LP & portfolio dashboards

CLMM positions are NFTs, so following a wallet means subscribing to openPosition, increaseLiquidity, collectFee, and closePosition for that holder. accountInclude on the wallet PDA delivers exactly those updates and nothing else. No firehose, no filtering tax.

Pricing, and where we sit vs the rest

Three providers dominate this SERP and they each charge differently. Helius bills per event. Predictable for analytics workloads, surprising for snipers when AMM v4 has a 4M-trade day. QuickNode Streams uses a similar per-event meter with separate add-ons per program. Bitquery sells GraphQL access by query and dataset; if you want JOINed historical queries with rich filters, they're genuinely better at that than we are.

We don't do GraphQL. We charge flat. $49/month for two parsed streams (Pro), $199/month for twenty (Ultra). No per-event surcharge, no per-program add-on, no minimum that gets ugly when memecoin Tuesday lands. Pick AMM v4, CLMM, CPMM, or any combination, and add Pump.fun, Orca, Meteora, Jupiter, or anything else from the catalog.

There's also a 10x price guarantee: find a like-for-like quote that beats us and we'll refund 10x the difference. Plan breakdown is on the pricing page.

Frequently asked questions

Two answers, depending on which surface someone means. The official one is REST: api-v3.raydium.io returns pool lists, mints, prices, and farm metadata via polling. Useful for dashboards. Their docs say it's not built for real-time tracking. The richer answer is on-chain: AMM v4, CLMM, and CPMM each expose typed instructions (swap, initialize2, openPosition, deposit, withdraw, increaseLiquidity, collectFee) that you can subscribe to directly over Solana RPC or gRPC. We parse all three programs and deliver decoded events over gRPC with sub-50ms p99.

Start streaming Raydium in under 60 seconds

Pro plan from $49/mo includes 2 parsed streams (pick any of AMM v4, CLMM, CPMM, plus PumpFun, Orca, Meteora, and more). Ultra adds 20 streams and 30 hours of custom dev time.

Ready to get started?

Get your free API key and start building in under 30 seconds.

Talk to Sales