NoLimitNodes
PricingDocsBlogAbout
SupportContact
Log in
  1. Home/
  2. Products/
  3. Enhanced Streams/
  4. Pool Creations
Enhanced Stream

Every new Solana liquidity pool, the moment it lands, in one stream

New pool detection on Solana isn't a single subscription. It's five. Raydium AMM v4 fires initialize2. Raydium CPMM fires createPool. Meteora DLMM fires initialize_lb_pair. Orca Whirlpool fires initializePool. PumpSwap fires create_pool. Five program IDs, five instruction names, five different account layouts, and any tracker that misses one is missing real launches. Birdeye and DexScreener show new pairs after their indexers catch up; you want the same data, decoded, before the aggregators see it. NoLimitNodes ships every pool-launch instruction across all five programs over a single gRPC stream, parsed, with the base mint, quote mint, initial reserves, and pool address already extracted.

All five major DEXes coveredReal-time deliveryDecoded base/quote mintsgRPC + WebSocketPre-aggregator detectionFree RPC tier
On-chain programs
  • Raydium AMM v4675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8, Constant-product pools. The initialize2 instruction is the canonical "new pool" signal
  • Raydium CPMMCPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C, Newer constant-product. Used by Raydium Launchpad and post-Pump.fun graduations
  • Meteora DLMMLBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo, Bin-based DLMM. initialize_lb_pair fires on each new pair launch
  • Orca WhirlpoolwhirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc, Concentrated liquidity, tick-spacing aware. initializePool plus initializePoolV2 for Token-2022
  • PumpSwappAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA, Pump.fun's post-graduation AMM. create_pool fires when a bonding curve completes

The pool-launch instructions you can stream

every initialize_* across Raydium, Meteora, Orca, and PumpSwap

EventTypeDescriptionFrequency
initialize2 (Raydium AMM v4)instructionNew constant-product pool on AMM v4. Carries base mint, quote mint, openTime, and initial coin/PC amounts.Medium
createPool (Raydium CPMM)instructionNew CPMM pool. Used by Raydium Launchpad. Carries token0/token1 mints, AMM config, and initial liquidity.High
initialize_lb_pair (Meteora DLMM)instructionNew DLMM pair launch. Includes activeId (active bin), binStep, base/quote mint pair.Medium
initialize_lb_pair2 (Meteora DLMM)instructionVariant of initialize_lb_pair with extended preset config support. Same signal, different account shape.Medium
initializePool (Orca Whirlpool)instructionNew Whirlpool. Carries token mint A/B, tickSpacing, and initialSqrtPrice.Medium
initializePoolV2 (Orca Whirlpool)instructionToken-2022-aware pool initialization. Required for any pair where one mint is the new SPL standard.Low
create_pool (PumpSwap)instructionPumpSwap pool creation, the moment a Pump.fun bonding curve graduates and migrates liquidity.High
deposit (first LP)instructionFirst liquidity-add following pool init. Useful when initial reserves on init are zero and the real size lands one tx later.High

Pool-launch streaming performance

last reviewed 2026-04-28

Daily new pools
3-8k / day
Combined initialize2 + createPool + initialize_lb_pair + initializePool + create_pool
Verified 2026-04-28
PumpSwap graduations
300-900 / day
Pump.fun bonding-curve completions migrating to PumpSwap pools
Verified 2026-04-28
Stream uptime SLO
99.95%
Pro and Ultra plans, monthly rolling

The cross-DEX pool-launch problem nobody warns you about

The first time you build a new-pool tracker, you write it for one DEX. Probably Raydium AMM v4. You filter on initialize2, the pool addresses come through, and you ship.

Then a memecoin launches on Meteora DLMM and you don't see it. Then a Pump.fun graduation hits PumpSwap and you don't see it. Then a stable pair launches on Orca Whirlpool and you don't see it either. Each program has its own init instruction, its own discriminator, its own account layout, and its own way of encoding base mint, quote mint, and initial reserves.

A complete launch tracker on Solana is five subscriptions. Five IDLs. Five decoders. Or one parsed feed that already merges them. That's the version we ship.

The five program IDs you actually need to watch

Raydium AMM v4: initialize2

The classic sniper signal. Constant-product pool, OpenBook integrated. Carries coin_mint, pc_mint, open_time, and the initial coin/PC amounts.

675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8
Raydium CPMM: createPool

The newer constant-product. Cheaper than AMM v4, simpler accounts, used by Raydium Launchpad and Pump.fun graduations that route into Raydium instead of PumpSwap.

CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C
Meteora DLMM: initialize_lb_pair

Bin-based AMM. The init carries activeId (the bin where price starts) and binStep (the spacing). Both matter if you're sizing entries.

LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo
Orca Whirlpool: initializePool

CLMM init. Carries token mint A/B, tickSpacing, and initialSqrtPrice. Use initializePoolV2 for Token-2022 pairs.

whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc
PumpSwap: create_pool

Pump.fun's post-graduation AMM. Whenever a bonding curve completes, the migration program creates a PumpSwap pool with create_pool. If you only watch Raydium, you miss the bulk of memecoin graduations.

pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA

One stream. Five filters. Each event we ship carries a programVariant tag so you can route handlers without re-decoding the discriminator on your side.

What each initialize_* actually carries

The headline question is always the same: where in the instruction do I find the base mint, the quote mint, and the initial reserves. Different program, different answer.

ProgramBase / quoteInitial sizeQuirk
AMM v4coin_mint, pc_mintinit_coin_amount, init_pc_amountopen_time can be future-dated
CPMMtoken0_mint, token1_mintinit_amount0, init_amount1amm_config selects fee tier
DLMMtokenMintX, tokenMintY0 at init; deposits land lateractiveId + binStep set initial price
WhirlpooltokenMintA, tokenMintB0 at init; first openPosition adds liqinitialSqrtPrice sets price
PumpSwapbase_mint, quote_mint (SOL)migrated curve reserves, in same txgraduation authority signs

The big footgun is DLMM and Whirlpool. The init instruction doesn't seed liquidity; that's a separate transaction. If you size a buy off “init reserves” on those two, you'll be sizing off zeros. Our parsed event includes a firstLiquidityTx field that points to the first real deposit so you can wait for it before submitting.

Pre-aggregator detection vs Birdeye and DexScreener

Birdeye and DexScreener both publish “new pairs” pages. They're great for browsing. They're also indexers; what you see there is the chain seconds-to-minutes after the slot. Plenty of time for the snipers who've been on chain since the init landed to be in and partially out before the page even updates.

The same is true for PumpPortal on the Pump.fun side. The data is accurate, the surface is convenient, the latency cap is the indexer.

On chain, there is no indexer. The instruction lands at slot N, the validator gossips at slot N, our gRPC pushes at slot N, you see it before the aggregators pick it up. If you're trying to be first into the pool, that gap is the whole game. Pair the launch detection with our gRPC nodes and Jito bundle submission and the bot is fighting for slot priority, not waiting on a polling cycle.

The honest caveat: not every launch is worth sniping. Roughly 90% of new pools are rugs, soft rugs, or just dead on arrival. The stream gives you the same firehose the snipers see; the filter for which launches are worth touching is your edge, not ours.

What teams build with the launch stream

Sniper bots

Subscribe, decode, size, submit. The instruction itself carries base mint, quote mint, and (on AMM v4 and CPMM) initial reserves. No getMint round-trip needed. The fastest snipers we see clock ~25ms from slot landing to bundle submitted.

Anti-sniper / safety

The same feed powers rug-detection services. Cross-reference launches against creator wallets, mint authorities, and existing holdings to score risk before users see the pool in a UI.

Listings dashboards

New-pair feeds for your own UI. The parsed events include venue, pair, initial price, and creator wallet, which is the minimum data set for a useful listings page.

Graduation analytics

Pump.fun → PumpSwap and Pump.fun → Raydium CPMM graduations. The stream tags each create_pool / createPool with the upstream bonding curve so you can compute graduation rates and post-grad performance.

Frequently asked questions

Subscribe to the five pool-creation instructions across the five programs that matter: initialize2 on Raydium AMM v4 (675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8), createPool on Raydium CPMM (CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C), initialize_lb_pair on Meteora DLMM (LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo), initializePool on Orca Whirlpool (whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc), and create_pool on PumpSwap (pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA). Each one fires at the moment of launch. Our parsed feed merges all five into a single typed event stream over gRPC.
Both are great UIs and both lag the chain by tens of seconds to a minute. They run their own indexers on top of public RPC, then push to a frontend. If you're a human looking at a screen, that's fine. If you're trying to be first into the pool with a buy, you're racing against people who already see the on-chain instruction. Our stream gives you the same data those indexers see, before any aggregator picks it up.
initialize2 is the AMM v4 new-pool instruction. It carries the base mint (`coin_mint`), the quote mint (`pc_mint`), the open-time, and the initial coin/PC amounts that seed the pool. The pool PDA is derived from these plus the AMM v4 authority (5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1). The instruction is the canonical sniper trigger; everyone watching new Raydium pools is filtering on this discriminator.
Yes. When a Pump.fun bonding curve completes, the migration program creates a PumpSwap pool via create_pool on pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA. That instruction lands in this stream like any other launch. Some graduations also route into Raydium CPMM via createPool; we cover both. If you specifically want only the Pump.fun graduation flow, filter by the migration authority on the inner instructions.
initialize2 creates the pool account but doesn't always seed full liquidity. On Raydium AMM v4, the seed amount lives in the same instruction. On CLMM-style pools (Whirlpool, DLMM), the launch is a two-step: pool init, then the first openPosition or addLiquidity. If you size based on the init payload alone, you'll occasionally see zeros. Our parsed event includes a `firstLiquidityTx` field that points to the first real deposit when the init didn't seed anything.
Free RPC and WebSocket access via the free tier. The parsed gRPC stream is on Pro ($49/mo, 2 streams) or Ultra ($199/mo, 20 streams). No per-event surcharge. The Ultra plan also includes 30 hours of custom dev time, useful if you want a tailored discriminator filter or a custom replay window.
Helius webhooks can fire on program-mention triggers but you bill per event and you're decoding the inner instruction yourself. QuickNode Streams is similar in shape and pricing. Bitquery's GraphQL is excellent for backfilled analysis but not for immediate alerting. We ship parsed gRPC, all five programs in one feed, flat pricing, and a 10x price guarantee. Different tools for different jobs; for real-time launch detection, parsed gRPC is the right surface.
Yes. The pattern is: subscribe to the five programs, decode the launch discriminator, extract base/quote mint and initial reserves from the instruction, size your buy off the reserves, submit via Jito bundle in the same slot. We deliver from slot landing to socket; the rest of the timing budget is your bot. The free RPC tier and the gRPC stream live behind the same API key, so the buy submission path is also covered.

Related products

Raydium AMM v4, CLMM, CPMM Enhanced Stream

Pair launch detection with full Raydium swap and LP data once the pool is live.

Meteora DLMM Enhanced Stream

After a DLMM pair launches, follow the bin-level activity and active-bin migrations.

Orca Whirlpool Enhanced Stream

Whirlpool position and tick events once a new pool starts collecting volume.

PumpSwap Enhanced Stream

Track post-graduation Pump.fun pools end-to-end on PumpSwap.

Program streams catalog

Browse every decoded Solana program we expose and pick the ones you care about.

All Enhanced Streams

18 curated topics across DEXes, lifecycle, and system events. The catalog hub.

Start streaming new pool launches in under 60 seconds

Pro plan from $49/mo includes 2 parsed streams. Pool Creations counts as one stream and covers all five programs in a single feed. Ultra adds 20 streams.

See pricingTalk to sales

Ready to get started?

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

Talk to Sales
NoLimitNodes

Solana RPC infrastructure built for performance and scale.

RPC Access
  • HTTP RPC
  • WebSocket
  • gRPC
Infrastructure
  • Compute Platform
  • VPS
  • VDS
  • Bare Metal
  • Geyser Plugin Hosting
Enhanced Streams
  • PumpFun
  • PumpSwap
  • Raydium
  • Orca
  • Meteora
  • System Events
  • Browse All →
Program Streams
  • PumpFun
  • PumpSwap
  • Raydium CLMM
  • Orca Whirlpool
  • Meteora DLMM
  • Jupiter Swap
  • Jupiter Perps
  • Kamino Lending
  • Browse All 37 →
Trading
  • EZWallet
Analytics
  • Historical Datasets
  • Historical Raw Blocks
Company
  • About
Resources
  • Pricing
  • Custom Development
  • Documentation
  • Blog
  • Support
  • Contact Sales
Compare
  • Yellowstone gRPC vs LaserStream
  • Triton vs Helius
  • Raydium API vs Helius
  • PumpSwap API vs Bitquery
  • QuickNode Streams vs NLN
  • All comparisons →
Legal
  • Terms & Conditions
  • Privacy Policy
© 2026 CLR3 Inc., operating as NoLimitNodes. Registered in Ontario, Canada. All rights reserved.solana mainnet