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

# List fills

> Returns a paginated list of trade fills (executions) from Kalshi and Polymarket.

Defaults to fills from the last 24 hours unless `start_time` is provided
or `market_id`/`market_platform_id` narrows the scope.




## OpenAPI

````yaml /openapi.yaml get /api/v1/fills
openapi: 3.1.0
info:
  title: Probalytics API
  description: >
    Probalytics is a prediction market data platform that provides unified
    access to market data

    and trade fills from Kalshi and Polymarket.


    Orderbook snapshots are not available over REST. Query them directly via SQL
    — see the

    [SQL Guide](/docs/sql-guide/overview) and the `orderbook_snapshots` table.


    ## Authentication


    All data endpoints require API key authentication via Bearer token.


    ```

    Authorization: Bearer <credential_id>:<credential_secret>

    ```


    API keys can be created and managed through the Probalytics dashboard.


    ## Pagination


    List endpoints use cursor-based pagination. When a full page of results is
    returned,

    the response includes a `next_cursor` field. Pass it as the `cursor` query
    parameter

    to fetch the next page.


    ## Rate Limits


    The hard limit is 3,000 requests per 10 seconds. The database may saturate
    before

    that under heavy parallel load, so we recommend staying well below the
    ceiling and

    batching requests where possible.
  version: 1.0.0
  contact:
    name: Probalytics Support
    url: https://probalytics.io
    email: admin@probalytics.io
servers:
  - url: https://api.probalytics.io
    description: Production
security:
  - apiKey: []
tags:
  - name: Markets
    description: >-
      Prediction market metadata — listings, statuses, outcomes, and resolutions
      across all supported platforms.
  - name: Fills
    description: >-
      Individual trade fills (executions) with price, size, and participant
      details.
paths:
  /api/v1/fills:
    get:
      tags:
        - Fills
      summary: List fills
      description: >
        Returns a paginated list of trade fills (executions) from Kalshi and
        Polymarket.


        Defaults to fills from the last 24 hours unless `start_time` is provided

        or `market_id`/`market_platform_id` narrows the scope.
      operationId: listFills
      parameters:
        - name: platform
          in: query
          description: Filter by prediction market platform.
          schema:
            type: string
            enum:
              - KALSHI
              - POLYMARKET
        - name: market_id
          in: query
          description: Filter by Probalytics internal market UUID.
          schema:
            type: string
            format: uuid
        - name: market_platform_id
          in: query
          description: >
            Filter by the platform's native market identifier (e.g. Kalshi
            ticker or Polymarket condition ID).

            Resolved to an internal market UUID before querying fills.
          schema:
            type: string
        - name: taker_side
          in: query
          description: Filter by the taker's side of the trade.
          schema:
            type: string
            enum:
              - BUY
              - SELL
        - name: trader_id
          in: query
          description: Filter fills where this address/ID appears as either taker or maker.
          schema:
            type: string
        - name: start_time
          in: query
          description: Include fills at or after this timestamp (RFC 3339).
          schema:
            type: string
            format: date-time
        - name: end_time
          in: query
          description: Include fills at or before this timestamp (RFC 3339).
          schema:
            type: string
            format: date-time
        - name: limit
          in: query
          description: Maximum number of results to return.
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 100
        - name: cursor
          in: query
          description: Pagination cursor returned from a previous request.
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of fills.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FillsResponse'
        '400':
          description: Invalid query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Insufficient tier or feature access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    FillsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Fill'
        next_cursor:
          type: string
          description: Cursor for the next page. Absent when there are no more results.
    Error:
      type: object
      properties:
        code:
          type: integer
          description: HTTP status code.
        message:
          type: string
          description: Human-readable error message.
        data:
          type: object
          description: Additional error details (e.g. validation errors).
    Fill:
      type: object
      description: A single trade fill (execution) on a prediction market.
      properties:
        id:
          type: string
          format: uuid
          description: Probalytics internal fill identifier.
        market_id:
          type: string
          format: uuid
          description: Probalytics internal market identifier.
        market_platform_id:
          type: string
          description: Platform's native market identifier.
        platform:
          type: string
          enum:
            - KALSHI
            - POLYMARKET
          description: Source platform.
        platform_id:
          type: string
          description: Platform's native trade/fill identifier.
        outcome:
          $ref: '#/components/schemas/Outcome'
          description: The outcome that was traded.
        size:
          type: string
          description: Number of contracts traded (decimal string).
        price:
          type: string
          description: Raw execution price in platform-native units (decimal string).
        normalized_price:
          type: string
          description: Price normalized to a 0–1 probability scale (decimal string).
        taker_side:
          type: string
          enum:
            - BUY
            - SELL
          description: Whether the taker was buying or selling.
        taker_cash_flow:
          type: string
          description: >-
            Cash flow for the taker (negative = paid, positive = received).
            Decimal string.
        maker_cash_flow:
          type: string
          description: Cash flow for the maker. Decimal string.
        taker_id:
          type: string
          nullable: true
          description: >-
            Taker's address or identifier (Polymarket on-chain address, Kalshi
            member ID if available).
        maker_id:
          type: string
          nullable: true
          description: Maker's address or identifier.
        fee:
          type: string
          description: Fee amount (decimal string).
        timestamp:
          type: string
          format: date-time
          description: When the fill occurred.
    Outcome:
      type: object
      description: A possible outcome within a market.
      properties:
        id:
          type: string
          format: uuid
          description: Probalytics internal outcome identifier.
        platform_id:
          type: string
          description: Platform's native outcome identifier (e.g. CLOB token ID).
        name:
          type: string
          description: Human-readable outcome name (e.g. "Yes", "No", "Donald Trump").
        index:
          type: integer
          description: Zero-based position of this outcome in the market's outcome list.
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >
        API key in the format `credential_id:credential_secret`.


        Example: `Authorization: Bearer
        api_brave_cosmic_falcon:sk_life_AbCdEfGh...`

````