BitqueryBitqueryData Store
Polygon logoPolygonLiquidityPoolsEvents

QuickSwap V2 Liquidity

Decoded QuickSwap V2 liquidity on Polygon since September 2020: Mint, Burn and Sync reserves, one row per event, in the standard events schema.

Coverage
Sep 27, 2020→ Oct 20, 2026 · yesterday
Tables
2Parquet, one prefix each
Columns
88across 2 tables
Coverage ends yesterday, UTC

Overview

We decode QuickSwap V2 from Polygon event logs ourselves and keep only pairs created by the QuickSwap V2 factory (0x5757371414417b8c6caad45baef941abc7d3ab32). SushiSwap, Uniswap V2 on Polygon and other forks emit the same event signatures from other factories and are left out. Both tables use the same 44 columns as our Uniswap V2 Liquidity files, with nothing renamed or derived. A row is one event.

quickswap_v2_liquidity_events has Mint(sender, amount0, amount1) and Burn(sender, amount0, amount1, to). quickswap_v2_sync has Sync(reserve0, reserve1), which every swap, mint and burn emits, so the last Sync of a pair before a block gives its reserves at that block. Swaps are in Polygon DEX Trades, which joins on the transaction hash.

Use cases

  • Pool reserves at any block, from the last Sync before it
  • Liquidity added and removed per pair and day
  • Rug detection: a Burn that empties a pair soon after its first Mint
  • LP wallet activity by sender, across pairs

2 tables

88 columns · free sample for each table

quickswap_v2_liquidity_events

44 columns

One row per Mint or Burn event emitted by pairs the QuickSwap V2 factory (0x5757371414417b8c6caad45baef941abc7d3ab32) created, in the standard events schema.

polygon/quickswap_v2_liquidity/quickswap_v2_liquidity_events<start_block>_<end_block>.parquet
Browse columns Sample fileSample updated Oct 21, 2026

quickswap_v2_sync

44 columns

One row per Sync event emitted by pairs the QuickSwap V2 factory created: the pair's reserves after each swap, mint or burn.

polygon/quickswap_v2_liquidity/quickswap_v2_sync<start_block>_<end_block>.parquet
Browse columns Sample fileSample updated Oct 21, 2026

Schema reference

copies a column name
88 columns
quickswap_v2_liquidity_events44 columnsOne row per Mint or Burn event emitted by pairs the QuickSwap V2 factory (0x5757371414417b8c6caad45baef941abc7d3ab32) created, in the standard events schema.
ColumnTypeDescription
Other2
ArgumentsStringDecoded event arguments as a JSON array, when the signature resolved; empty otherwise
ChainIdUInt64EVM chain id; 137 for Polygon
Block3
Block_DateDateUTC date of the block
Block_NumberUInt64Block height
Block_TimeDateTimeBlock timestamp, UTC
Call13
Call_CallPathArrayPath of call indexes from the transaction root down to the emitting frame
Call_CallerIndexInt32Call_Index of the frame that called the emitting frame; -1 at the top level
Call_CreateStringWhether the emitting frame deployed a contract; true or false
Call_ErrorStringError the emitting frame returned; empty on success
Call_FromStringCaller of the emitting frame, 0x-prefixed
Call_GasUInt64Gas supplied to the emitting frame
Call_GasUsedUInt64Gas consumed by the emitting frame and everything beneath it
Call_IndexUInt32Position of the emitting frame within the transaction; join to calls on this plus Transaction_Hash
Call_InternalCallsUInt32Number of calls made beneath the emitting frame
Call_RevertedStringWhether the emitting frame reverted; true or false
Call_SelfDestructStringWhether the emitting contract self-destructed; true or false
Call_ToStringAddress the emitting frame called, 0x-prefixed
Call_ValueStringNative POL sent with the emitting frame, decimal adjusted
Call_Signature5
Call_Signature_AbiStringABI fragment of the function the emitting frame ran
Call_Signature_NameStringName of that function, when resolved
Call_Signature_SignatureStringCanonical signature of that function
Call_Signature_SignatureHashStringFour-byte selector of that function, hex
Call_Signature_SignatureTypeStringHow that function signature was resolved
Fee1
Fee_SenderFeeStringNetwork fee the sender paid for the whole transaction, in POL. It repeats on every log of the transaction, so count it once per transaction
Log10
Log_EnterIndexUInt32Enter index of the emitting frame
Log_ExitIndexUInt32Exit index of the emitting frame
Log_IndexUInt32Position of the log within the transaction
Log_LogAfterCallIndexUInt32Index of the last call frame entered before this log, for ordering logs against calls
Log_Signature_AbiStringABI fragment for the resolved event; empty when the topic is unknown
Log_Signature_NameStringEvent name: Mint or Burn
Log_Signature_SignatureStringCanonical event signature, for example Transfer(address,address,uint256)
Log_Signature_SignatureHashStringKeccak hash of the event signature, hex; the same value as topic 0
Log_Signature_SignatureTypeStringHow the event signature was resolved
Log_SmartContractStringContract that emitted the event, lowercase 0x hex: the pair
LogHeader4
LogHeader_AddressStringAddress recorded in the log header, 0x-prefixed
LogHeader_DataStringRaw non-indexed log data, hex
LogHeader_IndexUInt64Index of the log within the block, as the receipt records it
LogHeader_RemovedStringWhether the log was removed by a reorg; true or false
Topics1
Topics_HashArrayIndexed topics of the log, as an array of hex strings; the first is the event signature hash
Transaction4
Transaction_FromStringAddress that signed the transaction, 0x-prefixed
Transaction_HashStringHash of the containing transaction, 0x-prefixed. The join key
Transaction_IndexUInt64Position of the transaction within the block
Transaction_ToStringAddress the transaction called, 0x-prefixed
TransactionStatus1
TransactionStatus_SuccessStringWhether the transaction succeeded; true or false
Sample file
quickswap_v2_sync44 columnsOne row per Sync event emitted by pairs the QuickSwap V2 factory created: the pair's reserves after each swap, mint or burn.
ColumnTypeDescription
Other2
ArgumentsStringDecoded event arguments as a JSON array, when the signature resolved; empty otherwise
ChainIdUInt64EVM chain id; 137 for Polygon
Block3
Block_DateDateUTC date of the block
Block_NumberUInt64Block height
Block_TimeDateTimeBlock timestamp, UTC
Call13
Call_CallPathArrayPath of call indexes from the transaction root down to the emitting frame
Call_CallerIndexInt32Call_Index of the frame that called the emitting frame; -1 at the top level
Call_CreateStringWhether the emitting frame deployed a contract; true or false
Call_ErrorStringError the emitting frame returned; empty on success
Call_FromStringCaller of the emitting frame, 0x-prefixed
Call_GasUInt64Gas supplied to the emitting frame
Call_GasUsedUInt64Gas consumed by the emitting frame and everything beneath it
Call_IndexUInt32Position of the emitting frame within the transaction; join to calls on this plus Transaction_Hash
Call_InternalCallsUInt32Number of calls made beneath the emitting frame
Call_RevertedStringWhether the emitting frame reverted; true or false
Call_SelfDestructStringWhether the emitting contract self-destructed; true or false
Call_ToStringAddress the emitting frame called, 0x-prefixed
Call_ValueStringNative POL sent with the emitting frame, decimal adjusted
Call_Signature5
Call_Signature_AbiStringABI fragment of the function the emitting frame ran
Call_Signature_NameStringName of that function, when resolved
Call_Signature_SignatureStringCanonical signature of that function
Call_Signature_SignatureHashStringFour-byte selector of that function, hex
Call_Signature_SignatureTypeStringHow that function signature was resolved
Fee1
Fee_SenderFeeStringNetwork fee the sender paid for the whole transaction, in POL. It repeats on every log of the transaction, so count it once per transaction
Log10
Log_EnterIndexUInt32Enter index of the emitting frame
Log_ExitIndexUInt32Exit index of the emitting frame
Log_IndexUInt32Position of the log within the transaction
Log_LogAfterCallIndexUInt32Index of the last call frame entered before this log, for ordering logs against calls
Log_Signature_AbiStringABI fragment for the resolved event; empty when the topic is unknown
Log_Signature_NameStringEvent name: Sync
Log_Signature_SignatureStringCanonical event signature, for example Transfer(address,address,uint256)
Log_Signature_SignatureHashStringKeccak hash of the event signature, hex; the same value as topic 0
Log_Signature_SignatureTypeStringHow the event signature was resolved
Log_SmartContractStringContract that emitted the event, lowercase 0x hex: the pair
LogHeader4
LogHeader_AddressStringAddress recorded in the log header, 0x-prefixed
LogHeader_DataStringRaw non-indexed log data, hex
LogHeader_IndexUInt64Index of the log within the block, as the receipt records it
LogHeader_RemovedStringWhether the log was removed by a reorg; true or false
Topics1
Topics_HashArrayIndexed topics of the log, as an array of hex strings; the first is the event signature hash
Transaction4
Transaction_FromStringAddress that signed the transaction, 0x-prefixed
Transaction_HashStringHash of the containing transaction, 0x-prefixed. The join key
Transaction_IndexUInt64Position of the transaction within the block
Transaction_ToStringAddress the transaction called, 0x-prefixed
TransactionStatus1
TransactionStatus_SuccessStringWhether the transaction succeeded; true or false
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 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:

# quickswap_v2_liquidity_events
polygon/quickswap_v2_liquidity/quickswap_v2_liquidity_events<start_block>_<end_block>.parquet

# quickswap_v2_sync
polygon/quickswap_v2_liquidity/quickswap_v2_sync<start_block>_<end_block>.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. 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 88 columns. Only the time range changes.

30 days
Latest month
Sep 20, 2026 → Oct 20, 2026
$100
Pay now
365 days
Last 12 months
Oct 20, 2025 → Oct 20, 2026
$1,000
Pay now
In every window
  • All 2 tables, 88 columns
  • Parquet files in the layout under Delivery
  • S3 or R2 download, chosen at checkout
  • Licensed under the Data License

FAQ

8 questions
What is in the QuickSwap V2 Liquidity dataset?

Two Parquet tables with 44 columns each, in the standard EVM events schema. quickswap_v2_liquidity_events has the Mint and Burn events of pairs the QuickSwap V2 factory (0x5757371414417b8c6caad45baef941abc7d3ab32) created, and quickswap_v2_sync has their Sync events. Successful transactions and non-reverted calls only. Data starts on 27 September 2020.

How big is it?

The factory had created 136,142 pairs by 21 October 2026. On 19 October 2026 the tables had 151 Mint, 96 Burn and 242,680 Sync rows. These are measured counts, not a size estimate; the delivery manifest gives exact rows and bytes.

How do I read the amounts and addresses?

Arguments is a JSON array with one entry per decoded argument: index, name, path, type and the value slots. Addresses and bytes are hex strings; uint112 and uint256 amounts are decimal strings in raw token units, so divide by the token's decimals yourself. Call_Value and Fee_SenderFee are already in POL.

Why are the Mint arguments named from, value and index?

Our Polygon decoder reads the V2 Mint topic, Mint(address,uint256,uint256), with the names of another contract that uses the same signature. The values are right; read them by position as sender, amount0 and amount1. Burn and Sync carry their usual names.

Are swaps included?

No. Swaps are in the Polygon DEX Trades dataset. Join on Transaction_Hash and the pair to see a swap next to its Sync.

How are these produced, and how were they checked?

The export is one ClickHouse query per table over our decoded Polygon events, filtered to the factory's pairs. We ran both queries for 19 October 2026: row keys (Transaction_Hash, Call_Index, Log_Index) were unique and every row carried decoded Arguments.

How is the data delivered?

As flat Parquet files under a stable layout, one prefix per table, with a JSON manifest listing each 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.

Can I try before I buy?

Yes. Each table links to a public sample file covering Polygon blocks 95,857,700 to 95,857,799 on 20 October 2026: 6 Mint and Burn rows and 477 Sync rows. No email address required.