BitqueryBitqueryData Store
SolanaTradesPools

Solana DEX — All Venues

Every swap and every pool event across every indexed DEX program on Solana, in one schema, decoded and USD-priced at block time.

Coverage
Last 12 monthsto Sep 24, 2026 · yesterday
Tables
2Parquet, one prefix each
Columns
146across 2 tables
Coverage ends yesterday, UTC

Overview

Every DEX program Bitquery indexes on Solana, in a single pair of tables: one row per swap and one row per pool event, at slot resolution.

This is the same schema as the per-venue datasets in this catalog — identical column names and types — with the program filter removed. Trade_Dex_ProgramAddress, Trade_Dex_ProtocolName and Trade_Dex_ProtocolFamily identify the venue on every row, so you can slice it back down to any single DEX, or group by family to compare them.

A one-day census of the sample window found 32 distinct DEX programs in the trades table and 27 in the pools table. The protocol families present include PumpSwap, Pump.fun, Meteora, Raydium, Jupiter, Orca Whirlpool, DFlow, OKX, PancakeSwap, SolFi, BisonFi, GoonFi, AlphaQ, Aquifer, Manifest, Phoenix, Bonkswap, Aldrin and Magic Eden — AMMs, launchpads, aggregators and central limit order books side by side. That set grows as new programs launch and are indexed; nothing is pinned to a fixed venue list.

Use cases

  • Whole-market volume, liquidity and market-share analysis without stitching venue datasets together
  • Cross-venue arbitrage and routing research across the full DEX surface
  • Backtesting strategies that need every venue a token traded on, not a chosen few
  • Training and evaluating models on complete Solana DEX order flow

2 tables

146 columns · free sample for each table

all_dex_trades

82 columns

One row per swap on any indexed Solana DEX program, with buy and sell sides, venue identifiers, token metadata and USD pricing.

datashare/solana/all_dex/dex_trades<start_slot>_<end_slot>.parquet. The public sample is one file covering a full daycapped at 20 rows per DEX program; delivered files are uncapped and split by slot range.
Browse columns Sample fileSample updated Sep 25, 2026

all_dex_pools

64 columns

One row per pool or market state change on any indexed Solana DEX program, with the change amount and the resulting balance for both sides, USD-valued at block time.

datashare/solana/all_dex/dex_pools<start_slot>_<end_slot>.parquet. The public sample is one file covering a full daycapped at 20 rows per DEX program; delivered files are uncapped and split by slot range.
Browse columns Sample fileSample updated Sep 25, 2026

Schema reference

copies a column name
146 columns
all_dex_trades82 columnsOne row per swap on any indexed Solana DEX program, with buy and sell sides, venue identifiers, token metadata and USD pricing.
ColumnTypeDescription
Block4
Block_DateDateUTC date of the block
Block_HeightUInt64Block height
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
Instruction_Program_NameStringDecoded program name
Trade_Buy29
Trade_Buy_Account_AddressStringTrade buy account address
Trade_Buy_Account_Token_OwnerStringTrade buy account token owner
Trade_Buy_AmountDecimalAmount bought, decimal adjusted
Trade_Buy_AmountInUSDFloat64Amount bought in USD
Trade_Buy_Currency_CollectionAddressStringTrade buy currency collection address
Trade_Buy_Currency_DecimalsUInt64Decimals of the bought currency
Trade_Buy_Currency_EditionNonceUInt64Trade buy currency edition nonce
Trade_Buy_Currency_FungibleBoolTrade buy currency fungible
Trade_Buy_Currency_MetadataAddressStringTrade buy currency metadata address
Trade_Buy_Currency_MintAddressStringMint of the bought currency
Trade_Buy_Currency_NameStringName of the bought currency
Trade_Buy_Currency_ProgramAddressStringTrade buy currency program address
Trade_Buy_Currency_SellerFeeBasisPointsUInt64Trade buy currency seller fee basis points
Trade_Buy_Currency_SymbolStringSymbol of the bought currency
Trade_Buy_Currency_TokenCreator_AddressArrayTrade buy currency token creator address
Trade_Buy_Currency_TokenStandardStringTrade buy currency token standard
Trade_Buy_Currency_UriStringTrade buy currency uri
Trade_Buy_Currency_UpdateAuthorityStringTrade buy currency update authority
Trade_Buy_Currency_VerifiedCollectionBoolTrade buy currency verified collection
Trade_Buy_Order_AccountStringTrade buy order account
Trade_Buy_Order_BuySideBoolTrade buy order buy side
Trade_Buy_Order_LimitAmountUInt64Trade buy order limit amount
Trade_Buy_Order_LimitPriceUInt64Trade buy order limit price
Trade_Buy_Order_MintStringTrade buy order mint
Trade_Buy_Order_OrderIdStringTrade buy order order id
Trade_Buy_Order_OwnerStringTrade buy order owner
Trade_Buy_Order_PayerStringTrade buy order payer
Trade_Buy_PriceFloat64Price of the bought currency in units of the sold currency
Trade_Buy_PriceInUSDFloat64Price of the bought currency in USD
Trade_Dex3
Trade_Dex_ProgramAddressStringProgram address of the DEX that executed the trade, base58. Filter on this to isolate a single venue.
Trade_Dex_ProtocolFamilyStringProtocol family of the venue, for example Pumpswap, Meteora, Raydium, Jupiter, OrcaWhirpool, Phoenix, OKX
Trade_Dex_ProtocolNameStringProtocol name as indexed, for example raydium_clmm, phoenix_v1, dex_solana_v3
Trade3
Trade_IndexUInt64Trade index within the transaction
Trade_Market_MarketAddressStringPool or market address the trade executed against
Trade_PriceAsymmetryFloat64Relative difference between buy and sell side USD values
Trade_Sell29
Trade_Sell_Account_AddressStringTrade sell account address
Trade_Sell_Account_Token_OwnerStringTrade sell account token owner
Trade_Sell_AmountDecimalAmount sold, decimal adjusted
Trade_Sell_AmountInUSDFloat64Amount sold in USD
Trade_Sell_Currency_CollectionAddressStringTrade sell currency collection address
Trade_Sell_Currency_DecimalsUInt64Decimals of the sold currency
Trade_Sell_Currency_EditionNonceUInt64Trade sell currency edition nonce
Trade_Sell_Currency_FungibleBoolTrade sell currency fungible
Trade_Sell_Currency_MetadataAddressStringTrade sell currency metadata address
Trade_Sell_Currency_MintAddressStringMint of the sold currency
Trade_Sell_Currency_NameStringName of the sold currency
Trade_Sell_Currency_ProgramAddressStringTrade sell currency program address
Trade_Sell_Currency_SellerFeeBasisPointsUInt64Trade sell currency seller fee basis points
Trade_Sell_Currency_SymbolStringSymbol of the sold currency
Trade_Sell_Currency_TokenCreator_AddressArrayTrade sell currency token creator address
Trade_Sell_Currency_TokenStandardStringTrade sell currency token standard
Trade_Sell_Currency_UriStringTrade sell currency uri
Trade_Sell_Currency_UpdateAuthorityStringTrade sell currency update authority
Trade_Sell_Currency_VerifiedCollectionBoolTrade sell currency verified collection
Trade_Sell_Order_AccountStringTrade sell order account
Trade_Sell_Order_BuySideBoolTrade sell order buy side
Trade_Sell_Order_LimitAmountUInt64Trade sell order limit amount
Trade_Sell_Order_LimitPriceUInt64Trade sell order limit price
Trade_Sell_Order_MintStringTrade sell order mint
Trade_Sell_Order_OrderIdStringTrade sell order order id
Trade_Sell_Order_OwnerStringTrade sell order owner
Trade_Sell_Order_PayerStringTrade sell order payer
Trade_Sell_PriceFloat64Price of the sold currency in units of the bought currency
Trade_Sell_PriceInUSDFloat64Price of the sold currency in USD
Transaction7
Transaction_FeeDecimalNetwork fee paid, in SOL
Transaction_FeeInUSDFloat64Network fee valued in USD at block time
Transaction_FeePayerStringFee payer address
Transaction_IndexUInt64Position of the transaction within the block
Transaction_Result_SuccessBoolWhether the transaction succeeded
Transaction_SignatureStringTransaction signature, base58
Transaction_SignerStringTransaction signer address
Sample file
all_dex_pools64 columnsOne row per pool or market state change on any indexed Solana DEX program, with the change amount and the resulting balance 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
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_ProgramAddressStringProgram address of the DEX that owns the pool or market, base58. Filter on this to isolate a single venue.
Pool_Dex_ProtocolFamilyStringProtocol family of the venue, for example Pumpswap, Meteora, Raydium, OrcaWhirpool, Phoenix, Manifest
Pool_Dex_ProtocolNameStringProtocol name as indexed, for example raydium_clmm, phoenix_v1, manifest
Pool_Market31
Pool_Market_BaseCurrency_CollectionAddressStringPool market base currency collection address
Pool_Market_BaseCurrency_DecimalsUInt64Pool market base currency decimals
Pool_Market_BaseCurrency_EditionNonceUInt64Pool market base currency edition nonce
Pool_Market_BaseCurrency_FungibleBoolPool market base currency fungible
Pool_Market_BaseCurrency_MetadataAddressStringPool market base currency metadata address
Pool_Market_BaseCurrency_MintAddressStringPool market base currency mint address
Pool_Market_BaseCurrency_NameStringPool market base currency name
Pool_Market_BaseCurrency_ProgramAddressStringPool market base currency program address
Pool_Market_BaseCurrency_SellerFeeBasisPointsUInt64Pool market base currency seller fee basis points
Pool_Market_BaseCurrency_SymbolStringPool market base currency symbol
Pool_Market_BaseCurrency_TokenCreators_AddressArrayPool market base currency token creators address
Pool_Market_BaseCurrency_TokenStandardStringPool market base currency token standard
Pool_Market_BaseCurrency_UriStringPool market base currency uri
Pool_Market_BaseCurrency_UpdateAuthorityStringPool market base currency update authority
Pool_Market_BaseCurrency_VerifiedCollectionBoolPool market base currency verified collection
Pool_Market_MarketAddressStringPool or market address
Pool_Market_QuoteCurrency_CollectionAddressStringPool market quote currency collection address
Pool_Market_QuoteCurrency_DecimalsUInt64Pool market quote currency decimals
Pool_Market_QuoteCurrency_EditionNonceUInt64Pool market quote currency edition nonce
Pool_Market_QuoteCurrency_FungibleBoolPool market quote currency fungible
Pool_Market_QuoteCurrency_MetadataAddressStringPool market quote currency metadata address
Pool_Market_QuoteCurrency_MintAddressStringPool market quote currency mint address
Pool_Market_QuoteCurrency_NameStringPool market quote currency name
Pool_Market_QuoteCurrency_ProgramAddressStringPool market quote currency program address
Pool_Market_QuoteCurrency_SellerFeeBasisPointsUInt64Pool market quote currency seller fee basis points
Pool_Market_QuoteCurrency_SymbolStringPool market quote currency symbol
Pool_Market_QuoteCurrency_TokenCreators_AddressArrayPool market quote currency token creators address
Pool_Market_QuoteCurrency_TokenStandardStringPool market quote currency token standard
Pool_Market_QuoteCurrency_UriStringPool market quote currency uri
Pool_Market_QuoteCurrency_UpdateAuthorityStringPool market quote currency update authority
Pool_Market_QuoteCurrency_VerifiedCollectionBoolPool market quote currency verified collection
Pool_QuoteCurrency6
Pool_QuoteCurrency_ChangeAmountDecimalQuote-token amount added to or removed from the pool by this event, decimal adjusted
Pool_QuoteCurrency_ChangeAmountInUSDFloat64Quote-token change valued in USD at block time
Pool_QuoteCurrency_PostAmountDecimalQuote-token pool reserve after the event, decimal adjusted
Pool_QuoteCurrency_PostAmountInUSDFloat64Quote-token reserve after the event, valued in USD at block time
Pool_QuoteCurrency_PriceFloat64Quote-token price in base-token units after the event
Pool_QuoteCurrency_PriceInUSDFloat64Quote-token price in USD at block time
PoolEvent1
PoolEvent_IndexUInt64Index of the pool event within the instruction
Transaction7
Transaction_FeeDecimalNetwork fee paid, in SOL
Transaction_FeeInUSDFloat64Network fee valued in USD at block time
Transaction_FeePayerStringFee payer address
Transaction_IndexUInt64Position of the transaction within the block
Transaction_Result_SuccessBoolWhether the transaction succeeded
Transaction_SignatureStringTransaction signature, base58
Transaction_SignerStringTransaction signer address
Sample file

Ask an AI about this data

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.

Start with

Opens a new chat with the question filled in. Nothing about you is sent to Bitquery, and the assistant sees only the public brief.

Delivery

Parquet files, delivered as signed download links by email after payment, in this layout:

# all_dex_trades: capped at 20 rows per DEX program; delivered files are uncapped and split by slot range.
datashare/solana/all_dex/dex_trades<start_slot>_<end_slot>.parquet. The public sample is one file covering a full day

# all_dex_pools: capped at 20 rows per DEX program; delivered files are uncapped and split by slot range.
datashare/solana/all_dex/dex_pools<start_slot>_<end_slot>.parquet. The public sample is one file covering a full day
  1. Download a free sampleNo email needed.
  2. Pay nowName, work email and licence check.
  3. Pay the invoiceBy card or bank transfer.
  4. Get signed linksThe team prepares the export and emails the links.

Time windows

Every window includes all 2 tables and 146 columns. Only the time range changes.

31 days
Latest month
Aug 24, 2026 → Sep 24, 2026
$600
Pay now
184 days
Last 6 months
Mar 24, 2026 → Sep 24, 2026
$3,000
Pay now
365 days
Last 12 months
Sep 24, 2025 → Sep 24, 2026
$6,000
Pay now
In every window
  • All 2 tables, 146 columns
  • Parquet files in the layout under Delivery
  • Signed download links by email
  • Licensed under the Data License

FAQ

9 questions
What is included in Solana DEX — All Venues?

Two Parquet tables: all_dex_trades and all_dex_pools, with 146 documented columns. Every indexed DEX program on Solana, covering the most recent month to yesterday, refreshed daily.

How many DEXes does this actually cover?

We counted 32 distinct DEX programs in the trades table and 27 in the pools table over a single sampled day (2026-06-01), spanning families from PumpSwap, Meteora and Raydium at the top of the volume table down to Phoenix, Bonkswap and Aldrin in the long tail. The number is not fixed: it is whatever programs traded that day, and it grows over time as new venues launch and are indexed. Over a longer window the count is higher.

Why does the pools table cover fewer programs than the trades table?

Aggregators and routers — Jupiter, DFlow, OKX DEX and others — execute swaps but hold no liquidity of their own, so they produce trade rows and no pool events. That accounts for the gap between 32 and 27 in the sampled day.

Is the sample file capped?

Yes, and deliberately. The public sample is capped at 20 rows per DEX program so that one small file shows you the full breadth of venues rather than a few busy minutes of Pump.fun. It holds 622 trade rows and 503 pool rows across a full day. The delivered dataset has no such cap — it is every row.

How does this relate to the per-venue datasets?

It supersedes them. Anything you can do with the Raydium, Meteora, Pump.fun or Phoenix datasets you can do here by filtering on Trade_Dex_ProgramAddress. Buy a single venue if that is all you need; buy this if you are working across the market.

Are order books included alongside AMMs?

Yes. Central limit order books such as Phoenix and Manifest are indexed into the same tables, where a trade row is a matched fill and a pool row is market state rather than constant-product reserves. Filter by protocol family if you need to separate the two models before comparing prices.

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.

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.