BitqueryBitqueryData Store
SolanaTradesPools

Phoenix

Every fill and market state change on Phoenix V1, Solana's on-chain central limit order book, decoded and USD-priced at block time.

Coverage
Full historyto Sep 23, 2026 · yesterday
Tables
2Parquet, one prefix each
Columns
146across 2 tables
Coverage ends yesterday, UTC

Overview

Complete historical record of the Phoenix V1 program (PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY) on Solana: every fill and every market state change, at slot resolution.

Phoenix is a central limit order book, not an automated market maker. Rows in the trades table are matched orders rather than swaps against a bonding curve, and rows in the market table record the state of a market after an event rather than constant-product reserves. The schema is the same one used across every Solana DEX dataset here, so Phoenix joins directly against the others on mint address, market address, slot or signature.

Use cases

  • Order-book microstructure research on an established Solana CLOB
  • Execution quality and spread analysis against AMM venues
  • Market-maker behaviour and fill attribution
  • Cross-venue routing research where an aggregator settles into Phoenix

2 tables

146 columns · free sample for each table

phoenix_trades

82 columns

One row per fill matched on a Phoenix market, with buy and sell sides, token metadata and USD pricing.

datashare/solana/phoenix/dex_trades<start_slot>_<end_slot>.parquet100 slots per file
Browse columns Sample fileSample updated Sep 24, 2026

phoenix_pools

64 columns

One row per Phoenix market state change, with the change amount and the resulting balance for both sides, USD-valued at block time.

datashare/solana/phoenix/dex_pools<start_slot>_<end_slot>.parquet100 slots per file
Browse columns Sample fileSample updated Sep 24, 2026

Schema reference

copies a column name
146 columns
phoenix_trades82 columnsOne row per fill matched on a Phoenix market, with buy and sell sides, 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_ProgramAddressStringPhoenix V1 program address (PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY)
Trade_Dex_ProtocolFamilyStringProtocol family; Phoenix
Trade_Dex_ProtocolNameStringProtocol name as indexed; phoenix_v1
Trade3
Trade_IndexUInt64Trade index within the transaction
Trade_Market_MarketAddressStringPhoenix market address
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
phoenix_pools64 columnsOne row per Phoenix market state change, 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 market by this event, decimal adjusted
Pool_BaseCurrency_ChangeAmountInUSDFloat64Base-token change valued in USD at block time
Pool_BaseCurrency_PostAmountDecimalBase-token market balance after the event, decimal adjusted
Pool_BaseCurrency_PostAmountInUSDFloat64Base-token balance 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_ProgramAddressStringPhoenix V1 program address (PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY)
Pool_Dex_ProtocolFamilyStringProtocol family; Phoenix
Pool_Dex_ProtocolNameStringProtocol name as indexed; phoenix_v1
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_MarketAddressStringPhoenix 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 market by this event, decimal adjusted
Pool_QuoteCurrency_ChangeAmountInUSDFloat64Quote-token change valued in USD at block time
Pool_QuoteCurrency_PostAmountDecimalQuote-token market balance after the event, decimal adjusted
Pool_QuoteCurrency_PostAmountInUSDFloat64Quote-token balance 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 market 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:

# phoenix_trades — 100 slots per file
datashare/solana/phoenix/dex_trades<start_slot>_<end_slot>.parquet

# phoenix_pools — 100 slots per file
datashare/solana/phoenix/dex_pools<start_slot>_<end_slot>.parquet
  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 23, 2026 → Sep 23, 2026
$75
Pay now
184 days
Last 6 months
Mar 23, 2026 → Sep 23, 2026
$375
Pay now
365 days
Last 12 months
Sep 23, 2025 → Sep 23, 2026
$750
Pay now
Since launch
Full history
Genesis → Sep 23, 2026
$1,250
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

8 questions
What is included in Phoenix?

Two Parquet tables: phoenix_trades and phoenix_pools, with 146 documented columns. Full history to yesterday, refreshed daily.

Phoenix is an order book. Why is the second table called pools?

For schema consistency. Every Solana DEX dataset here uses the same two-table shape, so the second table keeps the pools name and the Pool_ column prefixes. On Phoenix those columns describe market state after an event — base and quote balances and prices — rather than AMM reserves. Read them as market state, not as a constant-product curve.

Why are there more market events than fills?

Because an order book changes state without trading. Placing, modifying and cancelling orders all move a market's recorded state, while only a match produces a fill. In a quiet 100-slot window we measured 2 fills against 17 market events; in a busy one, 39 fills against 41. Neither is missing data — it is the ratio of quoting activity to actual trading, and it is itself a useful signal.

How do fills differ from AMM swaps?

A fill is a match between two resting or incoming orders at a price the book determined, not a price a curve determined. That makes Phoenix useful for spread, depth and execution-quality work that AMM data cannot answer, and it is why price columns here should be compared with AMM venues carefully rather than pooled together.

How does this compare to the Manifest dataset?

Both are Solana central limit order books with the same schema. Holding both lets you compare quoting behaviour, spreads and fill rates across the two books over the same tokens and time windows.

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.