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

# Get market fills

> Returns unaggregated fill records for a market, ordered by time descending.
Only fills with valid transaction signatures are included.



## OpenAPI

````yaml /openapi/phoenix-public-api.json get /v1/trades/{symbol}/fills
openapi: 3.1.0
info:
  title: Phoenix Eternal API
  description: >-
    RESTful API for accessing Phoenix Eternal perpetual trading data. Provides
    real-time orderbook levels, asset information, and market metadata.
  termsOfService: https://www.phoenix.trade/terms-of-service
  contact:
    name: Phoenix Development Team
    url: https://github.com/Ellipsis-Labs/phoenix
  license:
    name: Proprietary
  version: 1.0.0
servers:
  - url: https://perp-api.phoenix.trade
    description: Phoenix Eternal Perp API
security: []
tags:
  - name: Auth
    description: Wallet and session authentication.
  - name: Exchange
    description: Exchange, market, candle, and no-referral register-instruction workflows.
  - name: Invite
    description: Invite validation, referral activation, and wallet allowlist checks.
  - name: Notifications
    description: Trader notification reads and acknowledgement helpers.
  - name: Trader
    description: Trader state, account history, and transaction builders.
externalDocs:
  url: https://docs.phoenix.trade
  description: Phoenix developer documentation
paths:
  /v1/trades/{symbol}/fills:
    get:
      tags:
        - Exchange
      summary: Get market fills
      description: >-
        Returns unaggregated fill records for a market, ordered by time
        descending.

        Only fills with valid transaction signatures are included.
      operationId: get.v1.trades.by_symbol.fills
      parameters:
        - name: symbol
          in: path
          description: Market symbol
          required: true
          schema:
            type: string
          example: SOL
        - name: limit
          in: query
          description: 'Maximum number of trade records to return (default: 100, max: 10000)'
          required: false
          schema:
            type:
              - integer
              - 'null'
            format: int64
        - name: cursor
          in: query
          description: Optional opaque cursor returned by a previous request
          required: false
          schema:
            type:
              - string
              - 'null'
        - name: startTime
          in: query
          description: Inclusive start time in milliseconds since Unix epoch.
          required: false
          schema:
            type:
              - integer
              - 'null'
            format: int64
        - name: endTime
          in: query
          description: Exclusive end time in milliseconds since Unix epoch.
          required: false
          schema:
            type:
              - integer
              - 'null'
            format: int64
      responses:
        '200':
          description: Market fills retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FillsResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'
        '404':
          $ref: '#/components/responses/ErrorResponse'
        '500':
          $ref: '#/components/responses/ErrorResponse'
      security:
        - PhoenixBearerAuth: []
components:
  schemas:
    FillsResponse:
      type: object
      description: Fills response with pagination metadata.
      required:
        - data
        - hasMore
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/FillRecord'
        hasMore:
          type: boolean
        nextCursor:
          type:
            - string
            - 'null'
        prevCursor:
          type:
            - string
            - 'null'
    FillRecord:
      type: object
      description: Individual fill record returned by the fills channel.
      required:
        - marketSymbol
        - baseQty
        - quoteQty
        - price
        - timestamp
        - transactionSignature
        - instructionType
      properties:
        baseQty:
          type: string
          description: Human-readable base quantity.
        instructionType:
          type: string
          description: |-
            Instruction type that emitted this fill (e.g., PlaceMarketOrder,
            LiquidateViaMarketOrder).
        marketSymbol:
          type: string
          description: Market symbol associated with the fill (e.g., "SOL-PERP").
        price:
          type: string
          description: Human-readable price derived from the fill quantities.
        quoteQty:
          type: string
          description: Human-readable quote quantity.
        timestamp:
          type: string
          format: date-time
          description: Formatted datetime string (ISO 8601).
        transactionSignature:
          type: string
          description: Transaction signature containing the fill.
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
  responses:
    ErrorResponse:
      description: Standard JSON error payload.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    PhoenixBearerAuth:
      type: http
      scheme: bearer
      description: Bearer access token issued by `/v1/auth/*` login endpoints.

````