> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dune.com/llms.txt
> Use this file to discover all available pages before exploring further.

# polymarket_polygon.combo_trades

> Polymarket Combos trade fills — multi-leg parlay trades on the v3 Exchange with joint-probability prices, fees, and maker/taker addresses.

export const TableSample = ({tableName, tableSchema}) => <>
    <div className="hidden dark:block">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}&darkMode=true`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
    <div className="dark:hidden">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
  </>;

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

| Column               | Type        | Description                                                                                                                                       |
| -------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `block_month`        | `DATE`      | UTC month of the event block time (partition key)                                                                                                 |
| `block_time`         | `TIMESTAMP` | UTC event block time                                                                                                                              |
| `block_number`       | `BIGINT`    | Block number in which the trade was executed                                                                                                      |
| `action`             | `VARCHAR`   | Type of trade (RFQ trade)                                                                                                                         |
| `combo_condition_id` | `VARBINARY` | Combo condition ID (bytes31), shared by the combo's YES and NO tokens; for combo detail join `combo_details` on `token_id = asset_id`             |
| `asset_id`           | `UINT256`   | v3 PositionManager token ID of the combo side traded; joins `combo_details.token_id`                                                              |
| `outcome_index`      | `INTEGER`   | Combo side traded: 0 = YES, 1 = NO                                                                                                                |
| `outcome`            | `VARCHAR`   | Combo side traded as label; Yes pays out only if every leg wins                                                                                   |
| `amount`             | `DOUBLE`    | Amount in USD (pUSD treated 1:1 as USD)                                                                                                           |
| `shares`             | `DOUBLE`    | Amount of combo shares transferred                                                                                                                |
| `price`              | `DOUBLE`    | Price of the combo side traded = its joint probability (0–1)                                                                                      |
| `fee`                | `DOUBLE`    | Per-fill fee in USD (reconciles exactly with the Exchange `FeeCharged` events)                                                                    |
| `maker`              | `VARBINARY` | Trader whose order is being filled                                                                                                                |
| `taker`              | `VARBINARY` | Trader filling the order; the v3 Exchange proxy on the aggregate taker fill                                                                       |
| `is_taker_side`      | `BOOLEAN`   | TRUE on the aggregate taker fill (one per settlement). Filter `WHERE is_taker_side` for single-counted volume                                     |
| `maker_side`         | `VARCHAR`   | `BUY` = maker acquiring combo tokens, `SELL` = releasing them                                                                                     |
| `taker_side`         | `VARCHAR`   | Inverse of `maker_side`                                                                                                                           |
| `maker_amount_raw`   | `UINT256`   | Raw `makerAmountFilled` (6 decimals)                                                                                                              |
| `taker_amount_raw`   | `UINT256`   | Raw `takerAmountFilled` (6 decimals)                                                                                                              |
| `order_hash`         | `VARBINARY` | EIP-712 hash of the filled order                                                                                                                  |
| `builder`            | `VARBINARY` | Builder attribution field (bytes32) from the signed order                                                                                         |
| `metadata`           | `VARBINARY` | Order metadata field (bytes32)                                                                                                                    |
| `combo_name`         | `VARCHAR`   | Generated combo name (`question: outcome AND ...`); NULL unless every leg is labeled                                                              |
| `token_outcome_name` | `VARCHAR`   | Combination of the side traded and the combo name (`Yes-...` / `No-...`); NULL when `combo_name` is NULL                                          |
| `leg_count`          | `BIGINT`    | Number of legs in the combo                                                                                                                       |
| `settlement_value`   | `DOUBLE`    | What 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_address`   | `VARBINARY` | v3 Exchange proxy that emitted the fill                                                                                                           |
| `evt_index`          | `INTEGER`   | Index of the event within the transaction                                                                                                         |
| `tx_hash`            | `VARBINARY` | Transaction hash                                                                                                                                  |
| `_updated_at`        | `TIMESTAMP` | When this row was last inserted or updated by the dbt pipeline                                                                                    |

## Table sample

<TableSample tableSchema="polymarket_polygon" tableName="combo_trades" />

## Example query

```sql theme={null}
-- Combo volume and fees by day (single-counted)
SELECT
  DATE_TRUNC('day', block_time) AS day,
  SUM(amount) AS volume_usd,
  SUM(fee) AS fees_usd,
  COUNT(*) AS num_fills
FROM polymarket_polygon.combo_trades
WHERE is_taker_side
  AND block_time >= NOW() - INTERVAL '30' DAY
GROUP BY 1
ORDER BY 1
```
