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

# Combo Daily Activity

> Chart complete UTC-day Combo fills, share volume, lifecycle activity, mapped transfers, and exact redemptions.

`GET /v3/combos/activity/daily` returns one zero-filled row for every UTC day
in a bounded window. Use it to build daily Combo charts without paging and
joining four separate feeds in your application.

History is complete from `2026-05-29`. The current UTC day is included but has
`complete: false` because more activity can still arrive.

## Request

```text theme={null}
GET /v3/combos/activity/daily
```

### Query parameters

| Parameter    | Type   | Default | Description                                                       |
| ------------ | ------ | ------- | ----------------------------------------------------------------- |
| `period`     | string | `30d`   | `1d`, `7d`, or `30d`. Do not combine it with explicit dates.      |
| `start_date` | date   | none    | Inclusive UTC date in `YYYY-MM-DD` format. Requires `end_date`.   |
| `end_date`   | date   | none    | Inclusive UTC date in `YYYY-MM-DD` format. Requires `start_date`. |
| `interval`   | string | `day`   | Only `day` is supported.                                          |

An explicit range can contain at most 30 days, including both endpoints. It
cannot begin before `2026-05-29` or end after the current UTC date.

## Examples

Use a rolling period:

```bash theme={null}
curl "https://api.polynode.dev/v3/combos/activity/daily?period=7d" \
  -H "x-api-key: $POLYNODE_API_KEY"
```

Use an inclusive date range:

```bash theme={null}
curl "https://api.polynode.dev/v3/combos/activity/daily?start_date=2026-08-01&end_date=2026-08-02" \
  -H "x-api-key: $POLYNODE_API_KEY"
```

```json theme={null}
{
  "start_date": "2026-08-01",
  "end_date": "2026-08-02",
  "interval": "day",
  "timezone": "UTC",
  "coverage_start": "2026-05-29",
  "complete_through": "2026-08-01",
  "as_of": "2026-08-02T12:04:05Z",
  "as_of_block": 90000000,
  "share_volume_unit": "shares",
  "share_volume_semantics": "sum of indexed combo fill share size, not USD notional",
  "side_semantics": "BUY and SELL are the signed ExchangeV3 OrderFilled order side, not wallet-direction or platform-net flow",
  "count_semantics": {
    "fills": "indexed combo trade rows",
    "lifecycle": "indexed Prepare, Split, Merge, and Redeem events",
    "transfers": "indexed combo position transfer rows joined to the canonical position-to-combo mapping",
    "exact_redemptions": "canonical redemption rows, split into full, partial, and transformation scopes"
  },
  "days": [
    {
      "date": "2026-08-01",
      "complete": true,
      "fill_count": 18,
      "signed_order_buy_fill_count": 10,
      "signed_order_sell_fill_count": 8,
      "share_volume_e6": "42500000",
      "share_volume": "42.5",
      "signed_order_buy_share_volume_e6": "25000000",
      "signed_order_buy_share_volume": "25",
      "signed_order_sell_share_volume_e6": "17500000",
      "signed_order_sell_share_volume": "17.5",
      "lifecycle_count": 9,
      "prepare_event_count": 2,
      "prepared_combo_count": 2,
      "split_count": 3,
      "merge_count": 2,
      "redeem_event_count": 2,
      "mapped_transfer_count": 21,
      "exact_redemption_count": 3,
      "full_redemption_count": 1,
      "partial_redemption_count": 1,
      "transformation_count": 1
    },
    {
      "date": "2026-08-02",
      "complete": false,
      "fill_count": 0,
      "signed_order_buy_fill_count": 0,
      "signed_order_sell_fill_count": 0,
      "share_volume_e6": "0",
      "share_volume": "0",
      "signed_order_buy_share_volume_e6": "0",
      "signed_order_buy_share_volume": "0",
      "signed_order_sell_share_volume_e6": "0",
      "signed_order_sell_share_volume": "0",
      "lifecycle_count": 0,
      "prepare_event_count": 0,
      "prepared_combo_count": 0,
      "split_count": 0,
      "merge_count": 0,
      "redeem_event_count": 0,
      "mapped_transfer_count": 0,
      "exact_redemption_count": 0,
      "full_redemption_count": 0,
      "partial_redemption_count": 0,
      "transformation_count": 0
    }
  ]
}
```

## Metric semantics

| Fields                                             | Meaning                                                                                                                            |
| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `fill_count`, `share_volume*`                      | Indexed Combo fill rows and their share size. The `_e6` values are exact integer micro-shares; display values are decimal strings. |
| `signed_order_buy_*`, `signed_order_sell_*`        | The signed ExchangeV3 order side on each fill. These are not a wallet's direction.                                                 |
| `prepare_event_count`                              | Indexed `Prepare` lifecycle events.                                                                                                |
| `prepared_combo_count`                             | Distinct Combo condition IDs prepared that day.                                                                                    |
| `split_count`, `merge_count`, `redeem_event_count` | Indexed lifecycle events with those actions.                                                                                       |
| `mapped_transfer_count`                            | Transfer rows whose position ID joins to the canonical position-to-Combo mapping.                                                  |
| `exact_redemption_count`                           | Canonical redemption rows; the full, partial, and transformation counts partition this family.                                     |

`redeem_event_count` and `exact_redemption_count` come from different canonical
fact families. Do not assume they are equal on every day.

## Completeness and no-go interpretations

* `complete_through` is the last fully covered UTC date certified by all
  required checkpoints. A day after it has `complete: false`.
* Zeroes are emitted only inside the documented coverage window. They mean no
  matching canonical facts were indexed for that day, not missing pagination.
* Share volume is **not USD notional**. Do not put a dollar sign on it or add it
  to USD volume.
* Signed BUY/SELL is **not wallet direction** and cannot establish wallet buys,
  wallet sells, or net platform flow.
* This route does not reconstruct a historical active-Combo count or infer a
  state snapshot from lifecycle events.

## Errors

| Status | Error                                  | When it occurs                                                                                                          |
| ------ | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `400`  | `invalid_period` or `invalid_interval` | Unsupported period or an interval other than `day`.                                                                     |
| `400`  | `conflicting_date_range`               | `period` was combined with explicit dates.                                                                              |
| `400`  | `incomplete_date_range`                | Only one explicit date was supplied.                                                                                    |
| `400`  | `invalid_date` or `invalid_date_range` | A date is malformed, reversed, outside coverage, or in the future.                                                      |
| `400`  | `date_range_too_large`                 | The inclusive range exceeds 30 days.                                                                                    |
| `401`  | authentication error                   | The API key is missing or invalid.                                                                                      |
| `503`  | `temporarily_unavailable`              | A required checkpoint or bounded query is unavailable. The response fails closed instead of returning a partial series. |

The `503` body is intentionally generic. Retry the complete request; do not
treat it as a zero-activity window.


## OpenAPI

````yaml GET /v3/combos/activity/daily
openapi: 3.1.0
info:
  title: PolyNode API
  description: >-
    Real-time Polymarket data API with decoded mempool settlements, OHLCV
    candles, and full Polygon JSON-RPC proxy.
  contact:
    name: PolyNode
    url: https://polynode.dev
  license:
    name: ''
  version: 2.0.0
servers:
  - url: https://api.polynode.dev
    description: Production
security:
  - api_key: []
paths:
  /v3/combos/activity/daily:
    get:
      tags:
        - V3 Combos
      summary: Combo daily activity
      description: >-
        Complete zero-filled UTC-day Combo fills, share volume, lifecycle
        activity, mapped transfers, and exact redemptions. Share volume is
        shares, not USD notional; BUY and SELL are signed ExchangeV3 order
        sides, not wallet direction.
      operationId: v3_combo_activity_daily
      parameters:
        - name: period
          in: query
          required: false
          description: Rolling UTC window. Do not combine with start_date or end_date.
          schema:
            type: string
            enum:
              - 1d
              - 7d
              - 30d
            default: 30d
        - name: start_date
          in: query
          required: false
          description: >-
            Inclusive UTC start date. Requires end_date; coverage begins
            2026-05-29.
          schema:
            type: string
            format: date
        - name: end_date
          in: query
          required: false
          description: >-
            Inclusive UTC end date. Requires start_date; the range can contain
            at most 30 days.
          schema:
            type: string
            format: date
        - name: interval
          in: query
          required: false
          description: Bucket interval. Only day is supported.
          schema:
            type: string
            enum:
              - day
            default: day
      responses:
        '200':
          description: Complete bounded UTC-day activity rectangle.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V3ComboActivityDailyResponse'
        '400':
          description: >-
            Invalid period, interval, date combination, coverage bound, or range
            width.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V3ComboActivityBadRequest'
        '401':
          description: Unauthorized
        '503':
          description: >-
            A required checkpoint or bounded query is unavailable; no partial
            series is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V3ComboActivityUnavailable'
              example:
                error: temporarily_unavailable
                message: Combo series are temporarily unavailable.
      security:
        - api_key: []
components:
  schemas:
    V3ComboActivityDailyResponse:
      type: object
      additionalProperties: false
      required:
        - start_date
        - end_date
        - interval
        - timezone
        - coverage_start
        - complete_through
        - as_of
        - as_of_block
        - share_volume_unit
        - share_volume_semantics
        - side_semantics
        - count_semantics
        - days
      properties:
        start_date:
          type: string
          format: date
        end_date:
          type: string
          format: date
        interval:
          type: string
          enum:
            - day
        timezone:
          type: string
          enum:
            - UTC
        coverage_start:
          type: string
          format: date
          enum:
            - '2026-05-29'
        complete_through:
          type: string
          format: date
        as_of:
          type: string
          format: date-time
        as_of_block:
          type: integer
          format: int64
          minimum: 0
        share_volume_unit:
          type: string
          enum:
            - shares
        share_volume_semantics:
          type: string
        side_semantics:
          type: string
        count_semantics:
          $ref: '#/components/schemas/V3ComboActivityCountSemantics'
        days:
          type: array
          minItems: 1
          maxItems: 30
          items:
            $ref: '#/components/schemas/V3ComboActivityDay'
    V3ComboActivityBadRequest:
      type: object
      additionalProperties: false
      required:
        - error
        - message
      properties:
        error:
          type: string
          enum:
            - invalid_interval
            - conflicting_date_range
            - incomplete_date_range
            - invalid_date
            - invalid_period
            - invalid_date_range
            - date_range_too_large
        message:
          type: string
    V3ComboActivityUnavailable:
      type: object
      additionalProperties: false
      required:
        - error
        - message
      properties:
        error:
          type: string
          enum:
            - temporarily_unavailable
        message:
          type: string
    V3ComboActivityCountSemantics:
      type: object
      additionalProperties: false
      required:
        - fills
        - lifecycle
        - transfers
        - exact_redemptions
      properties:
        fills:
          type: string
        lifecycle:
          type: string
        transfers:
          type: string
        exact_redemptions:
          type: string
    V3ComboActivityDay:
      type: object
      additionalProperties: false
      required:
        - date
        - complete
        - fill_count
        - signed_order_buy_fill_count
        - signed_order_sell_fill_count
        - share_volume_e6
        - share_volume
        - signed_order_buy_share_volume_e6
        - signed_order_buy_share_volume
        - signed_order_sell_share_volume_e6
        - signed_order_sell_share_volume
        - lifecycle_count
        - prepare_event_count
        - prepared_combo_count
        - split_count
        - merge_count
        - redeem_event_count
        - mapped_transfer_count
        - exact_redemption_count
        - full_redemption_count
        - partial_redemption_count
        - transformation_count
      properties:
        date:
          type: string
          format: date
        complete:
          type: boolean
        fill_count:
          type: integer
          format: int64
          minimum: 0
        signed_order_buy_fill_count:
          type: integer
          format: int64
          minimum: 0
        signed_order_sell_fill_count:
          type: integer
          format: int64
          minimum: 0
        share_volume_e6:
          $ref: '#/components/schemas/V3UnsignedIntegerString'
        share_volume:
          $ref: '#/components/schemas/V3NonNegativeDecimalString'
        signed_order_buy_share_volume_e6:
          $ref: '#/components/schemas/V3UnsignedIntegerString'
        signed_order_buy_share_volume:
          $ref: '#/components/schemas/V3NonNegativeDecimalString'
        signed_order_sell_share_volume_e6:
          $ref: '#/components/schemas/V3UnsignedIntegerString'
        signed_order_sell_share_volume:
          $ref: '#/components/schemas/V3NonNegativeDecimalString'
        lifecycle_count:
          type: integer
          format: int64
          minimum: 0
        prepare_event_count:
          type: integer
          format: int64
          minimum: 0
        prepared_combo_count:
          type: integer
          format: int64
          minimum: 0
        split_count:
          type: integer
          format: int64
          minimum: 0
        merge_count:
          type: integer
          format: int64
          minimum: 0
        redeem_event_count:
          type: integer
          format: int64
          minimum: 0
        mapped_transfer_count:
          type: integer
          format: int64
          minimum: 0
        exact_redemption_count:
          type: integer
          format: int64
          minimum: 0
        full_redemption_count:
          type: integer
          format: int64
          minimum: 0
        partial_redemption_count:
          type: integer
          format: int64
          minimum: 0
        transformation_count:
          type: integer
          format: int64
          minimum: 0
    V3UnsignedIntegerString:
      type: string
      pattern: ^[0-9]+$
      description: An exact non-negative integer encoded as a string.
    V3NonNegativeDecimalString:
      type: string
      pattern: ^[0-9]+(?:[.][0-9]+)?$
      description: An exact non-negative decimal encoded as a string.
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: x-api-key

````