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

The Meteora DLMM API: real-time bin-level liquidity data for Solana's top DEX

Meteora's DLMM became the highest-volume DEX on Solana through 2025. Tens of billions in monthly swap volume, all bin-by-bin. The official API at dlmm-api.meteora.ag is REST with a 30 RPS cap and no WebSocket or gRPC. Fine for a chart on a dashboard. Useless for an LP rebalancer that has to react when the active bin moves out of range, or a sniper watching for new pool launches. We watch the DLMM program directly and ship parsed events: every swap, add_liquidity, remove_liquidity, position update, and active-bin shift, decoded as it lands.

Bin-level decodingNo 30 RPS capgRPC + WebSocketActive-bin trackingReal-time delivery
On-chain programs
  • Meteora DLMMLBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo, Bin-based dynamic liquidity market maker. Meteora's flagship pool program
  • Meteora DAMM (legacy dynamic AMM)Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB, Older constant-product Meteora pools (verify if streaming both)

Try it live: Meteora streams

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

2 streamslive
Meteora DLMM
Meteora dynamic liquidity market maker swaps
1grpcurl -H "x-api-key: YOUR_API_KEY" \
2  -d '{"topic":"prod.mat.solana.program.swaps.meteora_dlmm","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 Meteora DLMM messages

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

The Meteora DLMM events you can stream

every decoded instruction across LbPair, BinArray, and Position accounts

EventTypeDescriptionFrequency
swapinstructionDLMM exact-in swap. Decoded with active-bin id, amount in/out, price impact, and the bin array touched.Very high
swap_exact_outinstructionDLMM exact-out swap. Same decoding shape with the output amount fixed and input computed from bin liquidity.High
add_liquidityinstructionLP deposit into a specific bin range. Surfaces position NFT mint plus the per-bin liquidity distribution.High
add_liquidity_by_strategyinstructionDeposit using one of Meteora's built-in distribution strategies (Spot, Curve, BidAsk). Decoded with strategy parameters.Medium
remove_liquidityinstructionLP withdrawal, bin-by-bin liquidity reduction with the resulting token payouts.High
initialize_lb_pairinstructionNew DLMM pool launch. Includes base/quote mints, initial active bin, and bin step (fee tier).Medium
initialize_positioninstructionMint a new Position NFT for a given bin range, the canonical LP entry signal.High
claim_feeinstructionLP claims accrued trading fees. Use to compute realized yield per position.Medium
claim_rewardinstructionLP claims pool reward emissions (LP incentives, dual-asset rewards).Medium
update_position_lock_release_pointinstructionLocked-position lifecycle. Useful for tracking time-locked liquidity programs.Low

DLMM streaming performance

last reviewed 2026-04-28

Active LbPairs tracked
5,000+
Live DLMM pools we decode in real time
Verified 2026-04-28
Daily DLMM instructions
3-8M
Across swap, add_liquidity, claim_fee variants, peak memecoin cycles
Stream uptime SLO
99.95%
Pro and Ultra plans, monthly rolling

What DLMM is, and why bins matter

DLMM stands for Dynamic Liquidity Market Maker. Instead of pricing liquidity along a smooth curve (Raydium AMM v4) or as continuous ranges (CLMM), DLMM splits the price axis into discrete bins. Each bin is a small price band that holds its own X / Y reserves. A swap walks bins from the active one outward until the input is filled, at deterministic prices. It feels like an order book and settles like an AMM. That hybrid is the whole reason it took off in 2025.

On chain, four account types do all the work. LbPair holds the pair config: base mint, quote mint, bin step, active bin id, fees. BinArray accounts each store 70 contiguous bins of liquidity; a busy pool spans many of them. Position and PositionV2 represent individual LP entries with a tick range and per-bin liquidity. Oracle stores the price-history ring buffer for TWAPs.

Subscribing to “Meteora data” means watching three things. Instruction calls into the DLMM program (swaps, deposits, withdrawals, claims). Account writes to LbPair (active bin shifts). And account writes to specific BinArrays you care about (granular liquidity distribution). All three drop into one feed if you set it up right.

The official Meteora API: what it gives you, what it doesn't

The official Meteora API at dlmm-api.meteora.ag is REST. Seven main endpoints: pool list, pool detail, OHLCV history, swap volume, fee accruals, group listings, and protocol-wide metrics. The hard limits: 30 requests per second, polling-only, aggregates updated on a 5 to 30 second cadence behind the chain.

That's genuinely fine for an analytics dashboard refreshing every 30 seconds, or a backfill job pulling pool history into a notebook. We'd use it ourselves for either.

What it doesn't do: catch new pool launches as they happen. Tell an LP rebalancer that the active bin just moved out of its range. Power a sniper that needs to sit in the slot after a token migrates into DLMM. Anything where freshness matters in seconds, not in the next polling cycle, has to subscribe to the program directly.

Decoding bin arrays and active-bin price changes

The single most important field for monitoring a DLMM pool live is the LbPair's active_id: the integer id of the bin currently inside the spread. Every swap that crosses a bin boundary increments or decrements it. Subscribing to LbPair account writes (rather than only transactions) gives you a tight signal that price moved with no decoder overhead. The active_id sits at a fixed byte offset.

For deeper analytics, per-bin liquidity, slippage estimates, execution-price prediction, you also need the surrounding BinArray accounts. A typical SOL/USDC DLMM pool spans dozens of them. Our parsed stream flags which BinArrays were touched by each swap, so your decoder refreshes its cached liquidity map only for the ones that changed instead of polling the whole program every block.

Bin step is the other key parameter. It defines the geometric ratio between adjacent bin prices. A 100-bps bin step means each bin is 1% wider than the previous one. Bin step is set at pool creation and emitted in the initialize_lb_pair instruction, which is useful for sniper bots that filter for tighter (low-slippage) or looser (memecoin-volatile) pools at launch.

What teams build with this

Sniper bots

Filter on initialize_lb_pair to catch new DLMM pools at launch. Bin step + initial active bin tell you whether you're looking at a tight stable-style pool or a memecoin breakout. Pair with the Pump.fun graduation stream and you catch DLMM-bound migrations ahead of any aggregator.

LP rebalancers

Watch active_id on the LbPair plus your Position bin range. When the active bin drifts out of range, the position stops earning fees. Fire a rebalance. Act before leaving

OHLC dashboards

Bucket the swap stream into time intervals per LbPair. Bin id plus bin step gives you exact price; you skip the rounding errors REST aggregates leak. Cleaner candles, faster freshness.

MEV & arb

Cross-DEX arb engines treat DLMM as one input. The parsed swap event lets you compute the post-trade price instantly, before the next slot lands. Fast enough to bundle a counter-trade through Jito.

Pricing, and where we sit vs the rest

The Meteora DLMM data market splits cleanly. Official REST is free but rate-limited. Bitquery sells GraphQL access; if you want JOINed historical analytics across DEXes they're genuinely better at that than we are. Direct on-chain subscription via Yellowstone gRPC is the only real-time option. Bitquery shines for post-hoc work; we shine for real-time decisioning and predictable pricing.

We charge flat. Pro ($49/month) gives you two parsed streams. DLMM is one option among ten-plus DEXes and program families. Ultra ($199/month) bumps that to twenty plus 30 hours of custom dev time per month. No per-event surcharges, no DLMM-specific add-ons. Full breakdown is on the pricing page.

Frequently asked questions

LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo. It owns every LbPair, BinArray, and Position account that backs DLMM trading. Filter your stream on this ID to capture every swap, deposit, withdrawal, and position update across DLMM in one feed.
The official REST API at dlmm-api.meteora.ag is free with a 30 RPS rate limit. No WebSocket, no gRPC. That works for a dashboard refreshing every few seconds. It does not work for trading bots, LP rebalancers, or anything where bin-level freshness matters. We run parsed real-time DLMM streams over gRPC from $49/month (Pro, 2 streams). No per-event surcharge, no rate limit on the gRPC payload.
Meteora's official surface is REST-only. The real-time path goes through Solana directly: WebSocket logsSubscribe filtered on the DLMM program ID gives raw program logs you parse yourself, and Yellowstone gRPC gives multiplexed transaction + account streams. We pre-decode the DLMM events over gRPC, so you receive typed swap and position updates instead of base64 logs.
Two ways. The official /pool_pair/{address}/ohlcv endpoint returns pre-aggregated candles, but lags the chain by 5-30 seconds. Or you bucket the parsed swap stream yourself. Each decoded swap carries the active bin id, in/out amounts, and the bin step, enough to compute price-per-bin without rounding error. The stream version reacts as events land; the REST version is whatever Meteora's batch interval happens to be that day.
Filter on initialize_lb_pair. The instruction payload includes both mint addresses, the initial active bin id, and the bin step (which determines the fee tier). Our parsed stream emits a typed PoolCreated event for this. Useful for sniper bots tracking new memecoin pairs that migrate into DLMM after Pump.fun graduation.
DLMM is bin-based. Liquidity is split across discrete price bins with deterministic price-per-bin. Feels like an order book; settles like an AMM. DAMM is the older Meteora pool style: constant-product with dynamic fee logic, simpler accounts, no bins. Two separate programs, two separate IDLs. Most current Meteora volume goes through DLMM; DAMM is still active for legacy pairs and some stable pools.
A BinArray is a fixed-size on-chain account holding 70 contiguous bins. Each bin has its own X-token / Y-token reserves and an LP-token supply. When a swap moves price across bins, the program walks adjacent BinArrays sequentially. The active_id field on the LbPair tells you which bin is currently inside the spread; tracking it together with the surrounding BinArrays is how an LP rebalancer knows its range is about to fall out of position.
Bitquery's GraphQL is excellent for historical analytics and JOINed queries across DEXes. If you want post-hoc dashboards or research, they're a solid pick. We ship parsed real-time gRPC streams sized for immediate decisioning. Different jobs. Many teams use both: Bitquery for backfill, us for the live edge.

Related products

Orca Whirlpool Enhanced Stream

Tick-array CLMM events, comparison and contrast with Meteora's bin-based model.

Raydium AMM v4, CLMM, CPMM Enhanced Stream

Constant-product and CLMM streams, the other end of Solana's DEX liquidity.

DLMM program explorer

Browse every decoded instruction and event the Meteora DLMM program emits.

Yellowstone gRPC nodes

The streaming layer behind every NoLimitNodes Meteora subscription.

All Enhanced Streams

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

Pump.fun Enhanced Stream

Bonding curve creates, trades, and graduations decoded in real time.

Start streaming Meteora DLMM in under 60 seconds

Pro plan from $49/mo includes 2 parsed streams. Pick DLMM, Raydium, Orca, PumpFun, or any other Solana program in our explorer.

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