Skip to main content
The polymarket_polygon.combo_trades table contains trade-level activity for Polymarket Combos (multi-leg parlays) on the v3 Exchange. One row per fill, enriched with combo metadata from combo_details. A combo’s YES token pays out only if every leg wins; its price is the joint probability of that outcome. The exchange emits maker fills plus one aggregate taker fill per settlement — filter WHERE is_taker_side for single-counted volume.

Table Schema

ColumnTypeDescription
block_monthDATEUTC month of the event block time (partition key)
block_timeTIMESTAMPUTC event block time
block_numberBIGINTBlock number in which the trade was executed
actionVARCHARType of trade (RFQ trade)
combo_condition_idVARBINARYCombo condition ID (bytes31), shared by the combo’s YES and NO tokens; for combo detail join combo_details on token_id = asset_id
asset_idUINT256v3 PositionManager token ID of the combo side traded; joins combo_details.token_id
outcome_indexINTEGERCombo side traded: 0 = YES, 1 = NO
outcomeVARCHARCombo side traded as label; Yes pays out only if every leg wins
amountDOUBLEAmount in USD (pUSD treated 1:1 as USD)
sharesDOUBLEAmount of combo shares transferred
priceDOUBLEPrice of the combo side traded = its joint probability (0–1)
feeDOUBLEPer-fill fee in USD (reconciles exactly with the Exchange FeeCharged events)
makerVARBINARYTrader whose order is being filled
takerVARBINARYTrader filling the order; the v3 Exchange proxy on the aggregate taker fill
is_taker_sideBOOLEANTRUE on the aggregate taker fill (one per settlement). Filter WHERE is_taker_side for single-counted volume
maker_sideVARCHARBUY = maker acquiring combo tokens, SELL = releasing them
taker_sideVARCHARInverse of maker_side
maker_amount_rawUINT256Raw makerAmountFilled (6 decimals)
taker_amount_rawUINT256Raw takerAmountFilled (6 decimals)
order_hashVARBINARYEIP-712 hash of the filled order
builderVARBINARYBuilder attribution field (bytes32) from the signed order
metadataVARBINARYOrder metadata field (bytes32)
combo_nameVARCHARGenerated combo name (question: outcome AND ...); NULL unless every leg is labeled
token_outcome_nameVARCHARCombination of the side traded and the combo name (Yes-... / No-...); NULL when combo_name is NULL
leg_countBIGINTNumber of legs in the combo
settlement_valueDOUBLEWhat the side traded settled at per share (0–1). Realized PnL of a buy = (settlement_value - price) * shares. NULL while the combo is undecided
contract_addressVARBINARYv3 Exchange proxy that emitted the fill
evt_indexINTEGERIndex of the event within the transaction
tx_hashVARBINARYTransaction hash
_updated_atTIMESTAMPWhen this row was last inserted or updated by the dbt pipeline

Table sample

Example query