Every swap and liquidity change on Orca's Whirlpool concentrated liquidity pools, 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 Orca's Whirlpool concentrated liquidity program (whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc) on Solana: every swap and every pool reserve change, at slot resolution.
Whirlpool is Orca's concentrated liquidity AMM and one of the deepest venues for blue-chip Solana pairs. 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, so you can rebuild pool state at any slot without replaying an RPC.
Use cases
Concentrated-liquidity LP return and impermanent-loss analysis
Pool reserve reconstruction at any slot
Cross-DEX arbitrage and routing research against Raydium and Meteora
Backtesting execution quality and slippage on Whirlpool pairs
2 tables
146 columns · free sample for each table
orca_whirlpool_trades
82 columns
One row per swap executed against an Orca Whirlpool pool, with buy and sell sides, token metadata and USD pricing.
datashare/solana/orca_whirlpool/dex_trades<start_slot>_<end_slot>.parquet100 slots per file
orca_whirlpool_pools64 columnsOne row per pool reserve 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 or DecreaseLiquidity
Instruction_Program_NameStringDecoded program name
Pool_BaseCurrency6
Pool_BaseCurrency_ChangeAmountDecimalBase-token amount added to or removed from the pool by this event, decimal adjusted
Pool_BaseCurrency_ChangeAmountInUSDFloat64Base-token change valued in USD at block time
Pool_BaseCurrency_PostAmountDecimalBase-token pool 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_ProgramAddressStringOrca Whirlpool program address (whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc)
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: orca_whirlpool_trades and orca_whirlpool_pools, with 146 documented columns. Full history to yesterday, refreshed daily.
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.
How current is the data?
Refreshed daily with T+1 latency. A purchase made today includes everything up to yesterday.
Does this include swaps routed through Jupiter?
Yes. Any order that settles against a Whirlpool pool appears here, whether it was sent directly or routed in by an aggregator. The Jupiter dataset covers the same flow from the aggregator's side.
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.