Every swap and bin liquidity change on Meteora's Dynamic Liquidity Market Maker, decoded and USD-priced at block time.
Coverage
Full historyto Sep 22, 2026 · yesterday
Tables
2Parquet, one prefix each
Columns
146across 2 tables
Coverage ends yesterday, UTC
Overview
Complete historical record of Meteora's Dynamic Liquidity Market Maker (program LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo) on Solana: every swap and every liquidity change, at slot resolution.
DLMM holds liquidity in discrete price bins rather than a continuous curve, and charges a dynamic fee that rises with volatility. A single swap can cross several bins, so pool events routinely outnumber trades. Trades are decoded from the program instructions and priced in USD at block time, and each pool event carries both the change amount and the resulting reserve for base and quote tokens.
Use cases
Bin-level liquidity and LP return analysis on dynamic-fee pools
Pool reserve reconstruction at any slot
Cross-DEX arbitrage and routing research against Raydium and Orca
Backtesting execution quality and slippage on DLMM pairs
2 tables
146 columns · free sample for each table
meteora_dlmm_trades
82 columns
One row per swap executed against a Meteora DLMM pool, with buy and sell sides, token metadata and USD pricing.
datashare/solana/meteora_dlmm/dex_trades<start_slot>_<end_slot>.parquet100 slots per file
meteora_dlmm_pools64 columnsOne row per bin liquidity change, with the change amount and the resulting reserve for both sides, USD-valued at block time.
ColumnTypeDescription
Block3
Block_DateDateUTC date of the block
Block_SlotUInt64Solana slot
Block_TimeDateTimeBlock timestamp, UTC
Instruction7
Instruction_CallPathArrayNested call path of the instruction
Instruction_ExternalSeqNumberUInt64Sequence number of the outer instruction
Instruction_IndexUInt64Position of the instruction within the transaction
Instruction_InternalSeqNumberUInt64Sequence number of the inner instruction
Instruction_Program_AddressStringProgram that executed the instruction
Instruction_Program_MethodStringDecoded program method, for example swap
Instruction_Program_NameStringDecoded program name
Pool_BaseCurrency6
Pool_BaseCurrency_ChangeAmountDecimalBase-token amount added to or removed from the bin by this event, decimal adjusted
Pool_BaseCurrency_ChangeAmountInUSDFloat64Base-token change valued in USD at block time
Pool_BaseCurrency_PostAmountDecimalBase-token reserve after the event, decimal adjusted
Pool_BaseCurrency_PostAmountInUSDFloat64Base-token reserve after the event, valued in USD at block time
Pool_BaseCurrency_PriceFloat64Base-token price in quote-token units after the event
Pool_BaseCurrency_PriceInUSDFloat64Base-token price in USD at block time
Pool_Dex3
Pool_Dex_ProgramAddressStringMeteora DLMM program address (LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo)
Send this dataset’s full schema to an assistant and ask it anything. It reads the plain-text brief ↗ first, so the answer comes from the real column list rather than a guess.
Two Parquet tables: meteora_dlmm_trades and meteora_dlmm_pools, with 146 documented columns. Full history to yesterday, refreshed daily.
Why are there more pool events than trades?
DLMM liquidity sits in discrete bins. One swap can consume liquidity across several bins, and each of those is a separate pool event.
How does this differ from Meteora DBC?
DBC is Meteora's bonding-curve launchpad, where a token trades before graduating. DLMM is a pool program where established pairs trade. They are separate programs and separate datasets.
How is the data delivered?
As flat Parquet files under a stable S3 layout, one prefix per table, with a JSON manifest listing every file and its sha256. Signed HTTPS links are emailed to you once the files are prepared.
Can I try before I buy?
Yes. Every table links to a public sample file with real records, and the sample bucket holds full Parquet files you can load directly. No email address required.