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

# Market volumes

> Volume per market over a window, largest first.



## OpenAPI

````yaml /proto-openapi/api/openapi.yaml get /api/v1/analytics/markets/volume
openapi: 3.0.3
info:
  title: Monaco Protocol API
  description: REST API for the Monaco Protocol hybrid CLOB exchange.
  version: 1.0.0
servers:
  - url: https://apimonaco.xyz
    description: Production (Sei mainnet)
security: []
tags:
  - name: AccountsService
  - name: AnalyticsService
  - name: ApplicationsService
  - name: AuthService
  - name: BuildercodeRewardsService
  - name: ComplianceService
  - name: CopyTradingService
  - name: DelegatedAgentsService
  - name: FaucetService
  - name: FeesService
  - name: HealthService
  - name: ManagedMarketsService
    description: |-
      Wallet-authenticated maker assignments. The signed session must match both
       configured maker user and application. Owner IDs are process fences, never auth.
       Only wallet sessions are supported; delegated-agent sessions receive 403.
  - name: MarginAccountsService
    description: |-
      Current public isolated-margin semantics:
       - a user has one parent margin account per application scope
       - opening orders create or reuse isolated position buckets under that parent
       - parent account creation is handled internally by margin workflows
  - name: MarketService
  - name: OrderbookService
  - name: OrdersService
  - name: PositionsService
    description: |-
      Current public isolated-margin semantics:
       - positions link to a parent margin account and, when applicable, a bucket id
       - opening orders create or reuse isolated position buckets under the parent
       - users can open another isolated position by reusing the parent account with a different market bucket
  - name: PulseService
  - name: RfqService
  - name: SweeperService
  - name: TraderCodeService
  - name: TradesService
  - name: WithdrawalsService
paths:
  /api/v1/analytics/markets/volume:
    get:
      tags:
        - AnalyticsService
        - Analytics
      summary: Market volumes
      description: Volume per market over a window, largest first.
      operationId: list_market_volumes
      parameters:
        - name: window
          in: query
          schema:
            type: string
            default: 24h
            enum:
              - 24h
              - 7d
              - 30d
              - all
              - custom
            minLength: 1
          description: >-
            Window: the last 24 hours, 7 days or 30 days before endTime, all
            time, or custom (startTime to endTime)
        - name: startTime
          in: query
          schema:
            type: integer
            minimum: 0
            maximum: 4102444800000
            format: int64
          description: >-
            Custom window start as Unix milliseconds. Required with
            window=custom and rejected otherwise.
        - name: endTime
          in: query
          schema:
            type: integer
            minimum: 0
            maximum: 4102444800000
            format: int64
          description: >-
            Window end as Unix milliseconds; defaults to now. Buckets starting
            at or before it count. A window counted in hours (2.5 days or
            shorter) must start within the last 90 days.
        - name: limit
          in: query
          schema:
            type: integer
            format: uint32
            minimum: 1
            maximum: 100
            default: 25
          description: Markets to return, largest volume first (max 100)
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMarketVolumesResponse'
        '400':
          description: Invalid window or limit
        '429':
          description: Public read rate limit exceeded for this client
        '500':
          description: Internal server error
components:
  schemas:
    ListMarketVolumesResponse:
      type: object
      properties:
        window:
          allOf:
            - $ref: '#/components/schemas/AnalyticsWindow'
          description: The window these volumes cover
          nullable: true
        markets:
          type: array
          items:
            $ref: '#/components/schemas/MarketVolume'
          description: |-
            Markets that traded in the window, largest volume first (ties by
             trading pair id), up to limit.
          nullable: true
    AnalyticsWindow:
      type: object
      properties:
        startTime:
          example: 1762041600000
          type: integer
          description: >-
            Window start as Unix milliseconds. Buckets starting at or after it
            count.
          format: int64
          minimum: 0
          nullable: true
        endTime:
          example: 1762128000000
          type: integer
          description: >-
            Window end as Unix milliseconds. Buckets starting at or before it
            count, so the bucket holding it (usually partial) is included.
          format: int64
          minimum: 0
          nullable: true
        granularity:
          example: hour
          enum:
            - hour
            - day
            - week
          type: string
          description: >-
            Bucket size the window is counted in: hour up to 2.5 days, day up to
            45 days, week beyond. UTC; weeks start Monday.
          nullable: true
      description: The window a response covers, as the server resolved it.
    MarketVolume:
      type: object
      properties:
        tradingPairId:
          example: 123e4567-e89b-12d3-a456-426614174000
          type: string
          description: Trading pair UUID
          format: uuid
          nullable: true
        volumeUsd:
          example: '830000'
          type: string
          description: Taker volume in USD over every trade in the market
          nullable: true
        protocolFeesUsd:
          example: '415'
          type: string
          description: Protocol taker fees in USD
          nullable: true
        tradesCount:
          example: 2100
          type: integer
          description: Trades in the market
          format: int64
          minimum: 0
          nullable: true
        volumeBySource:
          $ref: '#/components/schemas/VolumeUsdBySource'
      description: >-
        One market's figures over the window, all builders included. Resolve the
        symbol from the trading pairs listing.
    VolumeUsdBySource:
      type: object
      properties:
        orderBookVolumeUsd:
          example: '1180000.5'
          type: string
          description: >-
            The part of volumeUsd filled on the order book: volumeUsd less
            rfqVolumeUsd
          nullable: true
        rfqVolumeUsd:
          example: '70000'
          type: string
          description: The part of volumeUsd filled by RFQ block trades
          nullable: true
      description: >-
        A USD volume split by how it executed (RFQ-17): the order-book part and
        the
         RFQ part add back exactly to the volumeUsd beside it.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.