> ## 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.

# Builder series

> One builder's figures per bucket over a window, oldest first.



## OpenAPI

````yaml /proto-openapi/api/openapi.yaml get /api/v1/analytics/builders/{builder}/series
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/builders/{builder}/series:
    get:
      tags:
        - AnalyticsService
        - Analytics
      summary: Builder series
      description: One builder's figures per bucket over a window, oldest first.
      operationId: get_builder_series
      parameters:
        - name: builder
          in: path
          required: true
          schema:
            type: string
            default: 2fcec460c89c4bedb06781d4072db931
          example: 2fcec460c89c4bedb06781d4072db931
        - 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.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBuilderSeriesResponse'
        '400':
          description: Invalid window
        '404':
          description: No displayed builder answers to this key
        '429':
          description: Public read rate limit exceeded for this client
        '500':
          description: Internal server error
components:
  schemas:
    GetBuilderSeriesResponse:
      type: object
      properties:
        window:
          $ref: '#/components/schemas/AnalyticsWindow'
        builder:
          $ref: '#/components/schemas/Builder'
        points:
          type: array
          items:
            $ref: '#/components/schemas/BuilderSeriesPoint'
          description: |-
            One point per bucket of the window, oldest first. A bucket without
             trades is present with zeros.
          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.
    Builder:
      type: object
      properties:
        id:
          example: 789e0123-e45b-12d3-a456-426614174000
          type: string
          description: Application UUID, or display group UUID when kind is group
          format: uuid
          nullable: true
        kind:
          example: application
          enum:
            - application
            - group
          type: string
          description: >-
            application: one application. group: a display group of several
            applications shown as one builder.
          nullable: true
        name:
          example: Monaco SDK
          type: string
          description: Display name
          nullable: true
        code:
          example: MON
          type: string
          description: Short display code, if set; also a lookup key
          nullable: true
        color:
          example: '#112233'
          type: string
          description: 'Display color, #rrggbb or #rrggbbaa, if set'
          nullable: true
        verified:
          example: true
          type: boolean
          description: Shown as verified
          nullable: true
        group:
          allOf:
            - $ref: '#/components/schemas/BuilderGroupRef'
          description: >-
            The display group an application is shown under on the directory and
            the
             leaderboard, when it has one. Unset for a group and for an ungrouped
             application.
          nullable: true
        applications:
          type: array
          items:
            $ref: '#/components/schemas/BuilderApplication'
          description: |-
            The application itself (kind application), or the group's displayed
             applications (kind group). Builder attribution on other responses (wallet
             summaries, deposit and withdrawal feeds) may send this empty: there the
             builder is an identity only.
          nullable: true
      description: >-
        A builder's identity: an application, or a display group of
        applications.
    BuilderSeriesPoint:
      type: object
      properties:
        bucketStart:
          example: 1762038000000
          type: integer
          description: Bucket start as Unix milliseconds (UTC; weeks start Monday)
          format: int64
          minimum: 0
          nullable: true
        volumeUsd:
          example: '1200'
          type: string
          description: >-
            Taker volume in USD (USDC 1:1) of the trades the builder's
            applications took
          nullable: true
        spotVolumeUsd:
          example: '0'
          type: string
          description: The spot part of volumeUsd
          nullable: true
        perpVolumeUsd:
          example: '1200'
          type: string
          description: The perpetual (margin) part of volumeUsd
          nullable: true
        tradesCount:
          example: 120
          type: integer
          description: Trades the builder's applications took
          format: int64
          minimum: 0
          nullable: true
        feesUsd:
          example: '12.5'
          type: string
          description: >-
            The builder's own fee revenue in USD: taker add-ons on the trades it
            took plus maker add-ons on the trades it made. Never the protocol
            taker fee.
          nullable: true
        takerFeesUsd:
          example: '10'
          type: string
          description: The taker add-on part of feesUsd
          nullable: true
        makerFeesUsd:
          example: '2.5'
          type: string
          description: >-
            The maker add-on part of feesUsd, earned on trades the builder's
            applications made, whoever took them
          nullable: true
        activeTakers:
          example: 3
          type: integer
          description: Distinct taker wallets that traded through the builder in the bucket
          format: int64
          minimum: 0
          nullable: true
        newTraders:
          example: 1
          type: integer
          description: >-
            Wallets whose first trade through one of the builder's applications
            fell in the bucket, counted once per (application, wallet)
          format: int64
          minimum: 0
          nullable: true
        depositsUsd:
          example: '500'
          type: string
          description: >-
            USDC deposited through the builder's applications in the bucket, in
            USD (1:1)
          nullable: true
        withdrawalsUsd:
          example: '4000'
          type: string
          description: >-
            USDC withdrawals initiated through the builder's applications in the
            bucket, in USD (1:1). Attributed by the application that initiated
            the withdrawal; other tokens are unvalued and not counted.
          nullable: true
        netFlowUsd:
          example: '11000'
          type: string
          description: >-
            depositsUsd less withdrawalsUsd; negative when more left than
            arrived
          nullable: true
        volumeBySource:
          $ref: '#/components/schemas/VolumeUsdBySource'
        newAccounts:
          example: 2
          type: integer
          description: >-
            Accounts registered in the bucket under one of the builder's
            applications, whether or not they traded, summed over a group's
            applications (newTraders counts first trades instead)
          format: int64
          minimum: 0
          nullable: true
    BuilderGroupRef:
      type: object
      properties:
        id:
          example: 5b1e2c9a-0f6d-4e8b-9a71-3c2d4e5f6a7b
          type: string
          description: >-
            Display group UUID; GET /api/v1/analytics/builders/{id} answers the
            group
          format: uuid
          nullable: true
        name:
          example: Monaco
          type: string
          description: The group's display name
          nullable: true
        code:
          example: MON
          type: string
          description: The group's display code, if it has one
          nullable: true
      description: A group's identity, for an application shown under a display group.
    BuilderApplication:
      type: object
      properties:
        id:
          example: 789e0123-e45b-12d3-a456-426614174000
          type: string
          description: Application UUID
          format: uuid
          nullable: true
        name:
          example: Monaco SDK
          type: string
          description: Application name
          nullable: true
        clientId:
          example: 6fe0da813f1a4adcbe675d52ca530a43
          type: string
          description: On-chain client id the application's deposits carry
          nullable: true
        active:
          example: true
          type: boolean
          description: >-
            Whether the application can place new orders. An inactive builder
            keeps the volume it routed.
          nullable: true
        archived:
          example: false
          type: boolean
          description: >-
            Whether the application is archived. Archived applications are left
            out of the builder directory but keep their figures.
          nullable: true
        additionalTakerFeeBps:
          example: 0
          type: integer
          description: Taker add-on the application charges, in basis points
          format: int32
          nullable: true
        additionalMakerFeeBps:
          example: 0
          type: integer
          description: Maker add-on the application charges, in basis points
          format: int32
          nullable: true
        isDefault:
          example: false
          type: boolean
          description: >-
            Whether this is the exchange's default application: the one a
            sign-in that names no client id is placed under
          nullable: true
      description: One application behind a builder.
    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.