Complete historical record of Bonkswap (BSwp6bEBihVLdqJRKGgzjcGLHkcTuzmSo1TQkHepzH8p) on Solana: every swap and every pool reserve change, at slot resolution.
Bonkswap is a community AMM built around the BONK ecosystem. 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
BONK ecosystem token trading and liquidity research
LP return and impermanent-loss analysis on a niche venue
Pool reserve reconstruction at any slot
Comparing execution on a small AMM against the large Solana venues
2 tables
146 columns · free sample for each table
bonkswap_trades
82 columns
One row per swap executed against a Bonkswap pool, with buy and sell sides, token metadata and USD pricing.
datashare/solana/bonkswap/dex_trades<start_slot>_<end_slot>.parquet100 slots per file
bonkswap_trades82 columnsOne row per swap executed against a Bonkswap pool, with buy and sell sides, token metadata and USD pricing.
ColumnTypeDescription
Block4
Block_DateDateUTC date of the block
Block_HeightUInt64Count of blocks produced before this one; lower than the slot because some slots are skipped
Block_SlotUInt64Slot number of the block; delivered files are split by slot range
Block_TimeDateTimeBlock timestamp, UTC
Instruction7
Instruction_CallPathArrayInstruction_Index values of the parent instructions; empty on a top-level instruction
Instruction_ExternalSeqNumberUInt64Number of the top-level instruction this row falls under, counting from 1
Instruction_IndexUInt64Position of the instruction in the transaction, counting inner instructions
Instruction_InternalSeqNumberUInt64Position under its top-level instruction, counting from 1; 0 on a top-level instruction
Instruction_Program_AddressStringProgram that executed the instruction
Instruction_Program_MethodStringDecoded instruction name, for example swap, buy or route
Instruction_Program_NameStringDecoded program name
Trade_Buy29
Trade_Buy_Account_AddressStringToken account that received the bought tokens; empty on nearly all DFlow rows, and a plain wallet on some native SOL rows
Trade_Buy_Account_Token_OwnerStringWallet that owns the receiving token account; often the signer, and often empty
Trade_Buy_AmountInUSDFloat64Amount bought, in USD; 0 when unpriced or when only the sold side was valued, then use Trade_Buy_Amount × Trade_Buy_PriceInUSD
Trade_Buy_Currency_CollectionAddressStringNFT collection of the bought asset; empty for fungible tokens
Trade_Buy_Currency_DecimalsUInt64Decimal places of the bought token, as its mint sets them
Trade_Buy_Currency_EditionNonceUInt64Metaplex edition bump seed; a technical value, 0 when unset
Trade_Buy_Currency_FungibleBoolWhether the bought asset is fungible; false for NFTs
Trade_Buy_Currency_MetadataAddressStringMetaplex metadata account of the bought asset, when recorded
Trade_Buy_Currency_MintAddressStringMint address of the bought token and the key for joins; SOL shows as 11111111111111111111111111111111 (native) or So11111111111111111111111111111111111111112 (wrapped)
Trade_Buy_Currency_NameStringName from the bought token's metadata; lookalikes copy real names
Trade_Buy_Currency_ProgramAddressStringProgram that owns the bought mint, SPL Token or Token-2022, when recorded
Trade_Buy_Currency_SellerFeeBasisPointsUInt64Creator royalty in basis points (100 = 1%); 0 for nearly all fungible coins
Trade_Buy_Currency_SymbolStringTicker of the bought token; not unique, so join on the mint address
Trade_Buy_Currency_TokenCreator_AddressArrayCreator wallets from the bought asset's metadata; mostly empty in this table
Trade_Buy_Currency_TokenStandardStringMetaplex standard, such as Fungible or FungibleAsset, when recorded
Trade_Buy_Currency_UriStringLink to the bought asset's off-chain metadata file, often on IPFS or Arweave
Trade_Buy_Currency_UpdateAuthorityStringAccount that can change the bought asset's metadata unless it is immutable; NativeLoader1111111111111111111111111111111 for SOL
Trade_Buy_Currency_VerifiedCollectionBoolWhether the NFT collection is verified; false for fungible tokens
Trade_Buy_Order_AccountStringAccount of the matched order; set only on Magic Eden marketplace trades, empty on AMM and order-book swaps
Trade_Buy_Order_BuySideBoolWhether the matched order is a buy; false when none is attached
Trade_Buy_Order_LimitAmountUInt64Order size limit; 0 in all rows checked, Magic Eden included
Trade_Buy_Order_LimitPriceUInt64Order limit price; 0 in all rows checked, Magic Eden included
Trade_Buy_Order_MintStringMint of the NFT or token the order is for, when one is attached
Trade_Buy_Order_OrderIdStringOrder ID, when one is attached
Trade_Buy_Order_OwnerStringWallet that placed the order, when one is attached
Trade_Buy_Order_PayerStringAccount that paid for the order, normally its owner
Trade_Buy_PriceFloat64Price of the bought currency in units of the sold currency
Trade_Buy_PriceInUSDFloat64USD price of one bought token; 0 when unpriced or when only Trade_Buy_AmountInUSD is set, then divide that by Trade_Buy_Amount
Trade_Dex3
Trade_Dex_ProgramAddressStringProgram address of the DEX that ran the swap, base58; Bonkswap's is BSwp6bEBihVLdqJRKGgzjcGLHkcTuzmSo1TQkHepzH8p
Trade_Dex_ProtocolFamilyStringVenue family as indexed, which can span several programs; Bonkswap for Bonkswap
Trade_Dex_ProtocolNameStringProgram name and version as indexed; forks can share one, so pair it with the program address; bonkswap for Bonkswap
Trade3
Trade_IndexUInt64Position of the swap within the transaction
Trade_Market_MarketAddressStringPool, bonding curve or order-book market the swap ran against; empty when the program reports none, as on Jupiter, DFlow, OKX and Aquifer
Trade_PriceAsymmetryFloat64Relative difference between buy and sell side USD values; 0 when only one side is valued
Trade_Sell29
Trade_Sell_Account_AddressStringToken account that the sold tokens came from; empty on nearly all DFlow rows, and a plain wallet on some native SOL rows
Trade_Sell_Account_Token_OwnerStringWallet that owns the paying token account; often the signer, and often empty
Trade_Sell_AmountInUSDFloat64Amount sold, in USD; 0 when unpriced or when only the bought side was valued, then use Trade_Sell_Amount × Trade_Sell_PriceInUSD
Trade_Sell_Currency_CollectionAddressStringNFT collection of the sold asset; empty for fungible tokens
Trade_Sell_Currency_DecimalsUInt64Decimal places of the sold token, as its mint sets them
Trade_Sell_Currency_EditionNonceUInt64Metaplex edition bump seed; a technical value, 0 when unset
Trade_Sell_Currency_FungibleBoolWhether the sold asset is fungible; false for NFTs
Trade_Sell_Currency_MetadataAddressStringMetaplex metadata account of the sold asset, when recorded
Trade_Sell_Currency_MintAddressStringMint address of the sold token and the key for joins; SOL shows as 11111111111111111111111111111111 (native) or So11111111111111111111111111111111111111112 (wrapped)
Trade_Sell_Currency_NameStringName from the sold token's metadata; lookalikes copy real names
Trade_Sell_Currency_ProgramAddressStringProgram that owns the sold mint, SPL Token or Token-2022, when recorded
Trade_Sell_Currency_SellerFeeBasisPointsUInt64Creator royalty in basis points (100 = 1%); 0 for nearly all fungible coins
Trade_Sell_Currency_SymbolStringTicker of the sold token; not unique, so join on the mint address
Trade_Sell_Currency_TokenCreator_AddressArrayCreator wallets from the sold asset's metadata; mostly empty in this table
Trade_Sell_Currency_TokenStandardStringMetaplex standard, such as Fungible or FungibleAsset, when recorded
Trade_Sell_Currency_UriStringLink to the sold asset's off-chain metadata file, often on IPFS or Arweave
Trade_Sell_Currency_UpdateAuthorityStringAccount that can change the sold asset's metadata unless it is immutable; NativeLoader1111111111111111111111111111111 for SOL
Trade_Sell_Currency_VerifiedCollectionBoolWhether the NFT collection is verified; false for fungible tokens
Trade_Sell_Order_AccountStringAccount of the matched order; set only on Magic Eden marketplace trades, empty on AMM and order-book swaps
Trade_Sell_Order_BuySideBoolWhether the matched order is a buy; false when none is attached
Trade_Sell_Order_LimitAmountUInt64Order size limit; 0 in all rows checked, Magic Eden included
Trade_Sell_Order_LimitPriceUInt64Order limit price; 0 in all rows checked, Magic Eden included
Trade_Sell_Order_MintStringMint of the NFT or token the order is for, when one is attached
Trade_Sell_Order_OrderIdStringOrder ID, when one is attached
Trade_Sell_Order_OwnerStringWallet that placed the order, when one is attached
Trade_Sell_Order_PayerStringAccount that paid for the order, normally its owner
Trade_Sell_PriceFloat64Price of the sold currency in units of the bought currency
Trade_Sell_PriceInUSDFloat64USD price of one sold token; 0 when unpriced or when only Trade_Sell_AmountInUSD is set, then divide that by Trade_Sell_Amount
Transaction7
Transaction_FeeDecimalNetwork fee paid, in SOL
Transaction_FeeInUSDFloat64Network fee, in USD
Transaction_FeePayerStringWallet that paid the network fee; Solana makes it the first signer
Transaction_IndexUInt64Position of the transaction within the block
Transaction_Result_SuccessBoolWhether the transaction succeeded
bonkswap_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_SlotUInt64Slot number of the block; delivered files are split by slot range
Block_TimeDateTimeBlock timestamp, UTC
Instruction7
Instruction_CallPathArrayInstruction_Index values of the parent instructions; empty on a top-level instruction
Instruction_ExternalSeqNumberUInt64Number of the top-level instruction this row falls under, counting from 1
Instruction_IndexUInt64Position of the instruction in the transaction, counting inner instructions
Instruction_InternalSeqNumberUInt64Position under its top-level instruction, counting from 1; 0 on a top-level instruction
Instruction_Program_AddressStringProgram that executed the instruction
Instruction_Program_MethodStringDecoded instruction name, for example swap, buy or route
Instruction_Program_NameStringDecoded program name
Pool_BaseCurrency6
Pool_BaseCurrency_ChangeAmountDecimalBase-token amount the event added to the pool (positive) or took out (negative), decimal adjusted
Pool_BaseCurrency_ChangeAmountInUSDFloat64Base-token change in USD; 0 when unpriced or when only the quote side was valued
Pool_BaseCurrency_PostAmountDecimalBase-token reserve left in the pool after the event, decimal adjusted
Pool_BaseCurrency_PostAmountInUSDFloat64Base-token reserve after the event, in USD; 0 when unpriced or when only the quote side was valued
Pool_BaseCurrency_PriceFloat64Quote-token reserve divided by base-token reserve after the event; a fair price only on constant-product pools
Pool_BaseCurrency_PriceInUSDFloat64Base-token USD price from the reserve ratio, so off on order books and concentrated liquidity; Pool_BaseCurrency_PostAmountInUSD ÷ Pool_BaseCurrency_PostAmount matches trade prices
Pool_Dex3
Pool_Dex_ProgramAddressStringProgram address of the DEX that owns the pool, base58; Bonkswap's is BSwp6bEBihVLdqJRKGgzjcGLHkcTuzmSo1TQkHepzH8p
Pool_Dex_ProtocolFamilyStringVenue family as indexed, which can span several programs; Bonkswap for Bonkswap
Pool_Dex_ProtocolNameStringProgram name and version as indexed; forks can share one, so pair it with the program address; bonkswap for Bonkswap
Pool_Market31
Pool_Market_BaseCurrency_CollectionAddressStringNFT collection of the base asset; empty for fungible tokens
Pool_Market_BaseCurrency_DecimalsUInt64Decimal places of the base token, as its mint sets them
Pool_Market_BaseCurrency_EditionNonceUInt64Metaplex edition bump seed; a technical value, 0 when unset
Pool_Market_BaseCurrency_FungibleBoolWhether the base asset is fungible; false for NFTs
Pool_Market_BaseCurrency_MetadataAddressStringMetaplex metadata account of the base asset, when recorded
Pool_Market_BaseCurrency_MintAddressStringMint address of the base token and the key for joins; SOL shows as 11111111111111111111111111111111 (native) or So11111111111111111111111111111111111111112 (wrapped)
Pool_Market_BaseCurrency_NameStringName from the base token's metadata; lookalikes copy real names
Pool_Market_BaseCurrency_ProgramAddressStringProgram that owns the base mint, SPL Token or Token-2022, when recorded
Pool_Market_BaseCurrency_SellerFeeBasisPointsUInt64Creator royalty in basis points (100 = 1%); 0 for nearly all fungible coins
Pool_Market_BaseCurrency_SymbolStringTicker of the base token; not unique, so join on the mint address
Pool_Market_BaseCurrency_TokenCreators_AddressArrayCreator wallets from the base asset's metadata; often empty
Pool_Market_BaseCurrency_TokenStandardStringMetaplex standard, such as Fungible or FungibleAsset, when recorded
Pool_Market_BaseCurrency_UriStringLink to the base asset's off-chain metadata file, often on IPFS or Arweave
Pool_Market_BaseCurrency_UpdateAuthorityStringAccount that can change the base asset's metadata unless it is immutable; NativeLoader1111111111111111111111111111111 for SOL
Pool_Market_BaseCurrency_VerifiedCollectionBoolWhether the NFT collection is verified; false for fungible tokens
Pool_Market_MarketAddressStringAddress of the pool, bonding curve or order-book market
Pool_Market_QuoteCurrency_CollectionAddressStringNFT collection of the quote asset; empty for fungible tokens
Pool_Market_QuoteCurrency_DecimalsUInt64Decimal places of the quote token, as its mint sets them
Pool_Market_QuoteCurrency_EditionNonceUInt64Metaplex edition bump seed; a technical value, 0 when unset
Pool_Market_QuoteCurrency_FungibleBoolWhether the quote asset is fungible; false for NFTs
Pool_Market_QuoteCurrency_MetadataAddressStringMetaplex metadata account of the quote asset, when recorded
Pool_Market_QuoteCurrency_MintAddressStringMint address of the quote token and the key for joins; SOL shows as 11111111111111111111111111111111 (native) or So11111111111111111111111111111111111111112 (wrapped)
Pool_Market_QuoteCurrency_NameStringName from the quote token's metadata; lookalikes copy real names
Pool_Market_QuoteCurrency_ProgramAddressStringProgram that owns the quote mint, SPL Token or Token-2022, when recorded
Pool_Market_QuoteCurrency_SellerFeeBasisPointsUInt64Creator royalty in basis points (100 = 1%); 0 for nearly all fungible coins
Pool_Market_QuoteCurrency_SymbolStringTicker of the quote token; not unique, so join on the mint address
Pool_Market_QuoteCurrency_TokenCreators_AddressArrayCreator wallets from the quote asset's metadata; often empty
Pool_Market_QuoteCurrency_TokenStandardStringMetaplex standard, such as Fungible or FungibleAsset, when recorded
Pool_Market_QuoteCurrency_UriStringLink to the quote asset's off-chain metadata file, often on IPFS or Arweave
Pool_Market_QuoteCurrency_UpdateAuthorityStringAccount that can change the quote asset's metadata unless it is immutable; NativeLoader1111111111111111111111111111111 for SOL
Pool_Market_QuoteCurrency_VerifiedCollectionBoolWhether the NFT collection is verified; false for fungible tokens
Pool_QuoteCurrency6
Pool_QuoteCurrency_ChangeAmountDecimalQuote-token amount the event added to the pool (positive) or took out (negative), decimal adjusted
Pool_QuoteCurrency_ChangeAmountInUSDFloat64Quote-token change in USD; 0 when unpriced or when only the base side was valued
Pool_QuoteCurrency_PostAmountDecimalQuote-token reserve left in the pool after the event, decimal adjusted
Pool_QuoteCurrency_PostAmountInUSDFloat64Quote-token reserve after the event, in USD; 0 when unpriced or when only the base side was valued
Pool_QuoteCurrency_PriceFloat64Base-token reserve divided by quote-token reserve after the event; a fair price only on constant-product pools
Pool_QuoteCurrency_PriceInUSDFloat64Quote-token USD price from the reserve ratio, so off on order books and concentrated liquidity; Pool_QuoteCurrency_PostAmountInUSD ÷ Pool_QuoteCurrency_PostAmount matches trade prices
PoolEvent1
PoolEvent_IndexUInt64Position of the pool event within its instruction
Transaction7
Transaction_FeeDecimalNetwork fee paid, in SOL
Transaction_FeeInUSDFloat64Network fee, in USD
Transaction_FeePayerStringWallet that paid the network fee; Solana makes it the first signer
Transaction_IndexUInt64Position of the transaction within the block
Transaction_Result_SuccessBoolWhether the transaction succeeded
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.
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 in a Requester Pays S3 bucket or a Cloudflare R2 bucket, chosen at checkout. On S3 you download with your own AWS account and AWS bills the transfer; on R2 you download with a read-only API key and pay no egress. Layout:
# bonkswap_trades: 100 slots per file
datashare/solana/bonkswap/dex_trades<start_slot>_<end_slot>.parquet# bonkswap_pools: 100 slots per file
datashare/solana/bonkswap/dex_pools<start_slot>_<end_slot>.parquet
Download a free sampleNo email needed.
Pay nowName, work email and licence check.
Pay the invoiceBy card or bank transfer.
Download from S3 or R2The team prepares the export and emails the bucket path, plus a read-only API key for R2 orders.
Time windows
Every window includes all 2 tables and 146 columns. Only the time range changes.
Two Parquet tables: bonkswap_trades and bonkswap_pools, with 146 documented columns. Full history to yesterday, refreshed daily.
How much activity does Bonkswap see?
It is a small venue compared with Raydium, Orca or Meteora — hundreds of trades a day rather than millions. That makes the dataset compact and quick to work with, and makes every pool's full history tractable to reconstruct.
How is the data delivered?
As flat Parquet files under a stable layout, one prefix per table, with a JSON manifest listing every file and its sha256. We prepare the files within 7 business days of purchase and email you the location. You choose at checkout where to collect them: a Requester Pays S3 bucket, downloaded with your own AWS account, or a Cloudflare R2 bucket with a read-only API key and no egress fees. Files stay available for 7 days from delivery.
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.