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

# List your RFQs

> List your RFQs.

 The caller's own RFQs as the taker, newest first, in every state, those
 that filled nothing included. Each carries what GetRfq gives the taker
 except the live view: read GetRfq for that.



## OpenAPI

````yaml /proto-openapi/api/openapi.yaml get /api/v1/rfqs
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/rfqs:
    get:
      tags:
        - RfqService
        - RFQ
      summary: List your RFQs
      description: |-
        List your RFQs.

         The caller's own RFQs as the taker, newest first, in every state, those
         that filled nothing included. Each carries what GetRfq gives the taker
         except the live view: read GetRfq for that.
      operationId: list_rfqs
      parameters:
        - name: pageSize
          in: query
          schema:
            type: integer
            format: uint32
            minimum: 1
            maximum: 100
            default: 50
          description: RFQs per page, 1 to 100 (default 50)
        - name: pageToken
          in: query
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRfqsResponse'
        '400':
          description: Invalid page size or malformed page token
        '401':
          description: Authentication required
        '403':
          description: RFQ is not enabled for this account (RFQ_DISABLED)
        '503':
          description: RFQ service unavailable; retry
      security:
        - monacoSignature: []
        - monacoHttpSignature: []
components:
  schemas:
    ListRfqsResponse:
      type: object
      properties:
        rfqs:
          type: array
          items:
            $ref: '#/components/schemas/RfqStatus'
          description: >-
            Newest first. Each is the taker's status as GetRfq gives it, without
            the live view
          nullable: true
        nextPageToken:
          type: string
          description: Pass as pageToken for the next page; empty once there are no more
          nullable: true
    RfqStatus:
      type: object
      properties:
        terms:
          $ref: '#/components/schemas/RfqRequestTerms'
        state:
          type: string
          description: >-
            COLLECTING, LAST_LOOK, RISK_CLEARING, CONFIRMED, SETTLED, CANCELLED,
            EXPIRED or REJECTED
          nullable: true
        stateVersion:
          type: integer
          format: int64
          nullable: true
        acceptedSide:
          type: string
          description: BUY or SELL, once accepted
          nullable: true
        lastLookDeadlineAtMs:
          type: integer
          format: int64
          nullable: true
        view:
          $ref: '#/components/schemas/RfqView'
        ownQuote:
          $ref: '#/components/schemas/RfqQuoteVersion'
        ownSelection:
          $ref: '#/components/schemas/RfqMakerSelection'
        ownLatestVersion:
          type: integer
          description: The expected version for the caller's next quote or withdrawal
          format: int64
          nullable: true
        ownQuoteWithdrawn:
          type: boolean
          nullable: true
        outcome:
          $ref: '#/components/schemas/RfqOutcome'
        durableSequence:
          type: integer
          format: int64
          nullable: true
        ownFills:
          type: array
          items:
            $ref: '#/components/schemas/RfqMakerFill'
          description: >-
            Maker only: your own fills once the RFQ settled, never another
            maker's
          nullable: true
        acceptance:
          $ref: '#/components/schemas/RfqAcceptanceRecord'
      description: Authoritative RFQ status.
    RfqRequestTerms:
      type: object
      properties:
        rfqId:
          type: string
          description: RFQ UUID
          format: uuid
          nullable: true
        tradingPairId:
          type: string
          description: Trading pair UUID
          format: uuid
          nullable: true
        product:
          type: string
          description: SPOT or PERPETUAL
          nullable: true
        quantity:
          type: string
          description: Maximum base quantity; not a guaranteed fill
          nullable: true
        createdAtMs:
          type: integer
          description: Creation time, Unix milliseconds
          format: int64
          nullable: true
        deadlineAtMs:
          type: integer
          description: 'Request deadline, Unix milliseconds: no new quotes after it'
          format: int64
          nullable: true
        side:
          type: string
          description: >-
            The taker's side, BUY or SELL, for a one-way RFQ, shown to makers
            too; absent for a two-way RFQ
          nullable: true
        leverage:
          type: string
          description: 'Taker only: the leverage given on CreateRfq (perpetuals)'
          nullable: true
        marginMode:
          type: string
          description: 'Taker only: the margin mode given on CreateRfq (perpetuals)'
          nullable: true
        quoteSide:
          type: string
          description: >-
            The side makers quote on a one-way RFQ, the one that fills the
            taker: ASK (an offer) when the taker buys, BID when it sells; a
            quote on the other side is refused (RFQ_SIDE_NOT_REQUESTED). Absent
            for a two-way RFQ, where makers may quote either or both
          nullable: true
      description: The request as created.
    RfqView:
      type: object
      properties:
        viewVersion:
          type: integer
          description: The version to accept; a newer view refuses an older one
          format: int64
          nullable: true
        bid:
          $ref: '#/components/schemas/RfqSideView'
        ask:
          $ref: '#/components/schemas/RfqSideView'
        asOfMs:
          type: integer
          description: View time, Unix milliseconds
          format: int64
          nullable: true
        monacoFeeCbps:
          type: integer
          description: The taker's Monaco fee rate in this view, in centi-bps
          format: int32
          nullable: true
        builderFeeCbps:
          type: integer
          description: The taker's builder fee rate in this view, in centi-bps
          format: int32
          nullable: true
      description: The taker's current view of the quotes.
    RfqQuoteVersion:
      type: object
      properties:
        rfqId:
          type: string
          nullable: true
          format: uuid
        quoteId:
          type: string
          nullable: true
          format: uuid
        version:
          type: integer
          description: This version; name it to replace or withdraw
          format: int64
          nullable: true
        bid:
          $ref: '#/components/schemas/RfqQuoteTerms'
        ask:
          $ref: '#/components/schemas/RfqQuoteTerms'
        issuedAtMs:
          type: integer
          format: int64
          nullable: true
        validUntilMs:
          type: integer
          format: int64
          nullable: true
        leverage:
          type: string
          description: 'Perpetuals: the leverage the quote''s orders reserve with'
          nullable: true
        marginMode:
          type: string
          description: 'Perpetuals: ISOLATED or CROSS'
          nullable: true
        refusedSides:
          type: array
          items:
            $ref: '#/components/schemas/RfqRefusedSide'
          description: >-
            Quoted sides the venue refused. A quote reserves funds as a resting
            limit order does, each side on its own: the version holds only the
            funded sides, and a refused side on a replacement is withdrawn. When
            no side is funded the quote is refused instead
          nullable: true
      description: A quote version as its maker sees it.
    RfqMakerSelection:
      type: object
      properties:
        acceptanceId:
          type: string
          nullable: true
          format: uuid
        takerSide:
          type: string
          description: BUY or SELL
          nullable: true
        quoteId:
          type: string
          nullable: true
          format: uuid
        quoteVersion:
          type: integer
          format: int64
          nullable: true
        quantity:
          type: string
          nullable: true
        frozenTerms:
          $ref: '#/components/schemas/RfqQuoteTerms'
        lastLookDeadlineAtMs:
          type: integer
          format: int64
          nullable: true
        monacoFeeCbps:
          type: integer
          description: >-
            Your Monaco maker fee rate in centi-bps, frozen at acceptance;
            negative for a rebate
          format: int32
          nullable: true
        maxBuilderFeeCbps:
          type: integer
          description: >-
            The MOST your frontend's builder add-on charges on this fill, in
            centi-bps: the rate stored on your quote order. A fill charges this
            rate or nothing, never more; the receipt shows what was charged. An
            IMPROVE re-places the quote at the rate configured then. Absent when
            it could not be read
          format: int32
          nullable: true
        estimatedNet:
          type: string
          description: >-
            Estimated net at the selected quantity and frozen price, in the
            quote asset, at monacoFeeCbps plus the maximum builder add-on: the
            least you receive when selling, the most you pay when buying. Absent
            with maxBuilderFeeCbps
          nullable: true
      description: A selected maker's own part of an acceptance, for answering last look.
    RfqOutcome:
      type: object
      properties:
        executedQuantity:
          type: string
          nullable: true
        unfilledQuantity:
          type: string
          nullable: true
        vwap:
          type: string
          nullable: true
        fills:
          type: array
          items:
            $ref: '#/components/schemas/RfqFill'
          nullable: true
        allInVwap:
          type: string
          description: >-
            Your all-in VWAP: notional plus your whole fee for a buy, minus it
            for a sell, over the executed quantity. Empty when nothing filled
          nullable: true
        bookAtFill:
          $ref: '#/components/schemas/RfqBookComparison'
        bookAtFillFullSize:
          type: boolean
          description: >-
            Whether a fresh book snapshot filled the executed quantity then;
            absent when none was fresh
          nullable: true
      description: What an accepted RFQ executed.
    RfqMakerFill:
      type: object
      properties:
        executionId:
          type: string
          description: The trade id
          format: uuid
          nullable: true
        price:
          type: string
          nullable: true
        quantity:
          type: string
          nullable: true
        fee:
          type: string
          description: >-
            Your whole fee on this fill as charged: monacoFee plus builderFee;
            negative for a net rebate. Unset until trade history has the fill
          nullable: true
        monacoFee:
          type: string
          description: Your Monaco maker fee as charged; negative is a rebate
          nullable: true
        builderFee:
          type: string
          description: The builder add-on your frontend charged, as charged (0 when none)
          nullable: true
      description: One fill of the calling maker's quote.
    RfqAcceptanceRecord:
      type: object
      properties:
        viewVersion:
          type: integer
          description: The view version you accepted
          format: int64
          nullable: true
        acceptedAtMs:
          type: integer
          description: When you accepted, Unix milliseconds
          format: int64
          nullable: true
        vwap:
          type: string
          description: All-in VWAP shown for the accepted side, fees included
          nullable: true
        grossVwap:
          type: string
          description: VWAP shown before fees
          nullable: true
        availableQuantity:
          type: string
          description: Quantity the shown allocation filled
          nullable: true
        monacoFeeCbps:
          type: integer
          description: Your Monaco fee rate frozen at acceptance, in centi-bps
          format: int32
          nullable: true
        builderFeeCbps:
          type: integer
          description: Your builder fee rate frozen at acceptance, in centi-bps
          format: int32
          nullable: true
        book:
          $ref: '#/components/schemas/RfqBookComparison'
        bookFullSize:
          type: boolean
          description: >-
            Whether that snapshot filled the whole size; absent when no snapshot
            at most 500 ms old was held at acceptance
          nullable: true
      description: What your view showed on the accepted side when you accepted.
    RfqSideView:
      type: object
      properties:
        vwap:
          type: string
          description: All-in volume-weighted price of the allocation, fees included
          nullable: true
        availableQuantity:
          type: string
          description: Quantity the allocation fills
          nullable: true
        grossVwap:
          type: string
          description: VWAP before fees
          nullable: true
        estimatedMonacoFee:
          type: string
          description: Estimated Monaco taker fee on available_quantity, in the quote asset
          nullable: true
        estimatedBuilderFee:
          type: string
          description: Estimated builder fee on available_quantity, in the quote asset
          nullable: true
        estimatedTotalFee:
          type: string
          description: Estimated total taker fee on available_quantity, in the quote asset
          nullable: true
        book:
          $ref: '#/components/schemas/RfqBookComparison'
      description: One side of the taker's view.
    RfqQuoteTerms:
      required:
        - price
        - capacity
      type: object
      properties:
        price:
          example: '65000.5'
          type: string
          description: Price in quote units per base unit, exact decimal string
        capacity:
          example: '10'
          type: string
          description: Capacity in base units, exact decimal string
      additionalProperties: false
      description: A quote's price and capacity.
    RfqRefusedSide:
      type: object
      properties:
        side:
          type: string
          description: BID or ASK
          nullable: true
        code:
          type: string
          description: INSUFFICIENT_BALANCE or QUOTE_REJECTED
          nullable: true
        reason:
          type: string
          nullable: true
      description: A quoted side the venue refused; nothing is reserved for it.
    RfqFill:
      type: object
      properties:
        executionId:
          type: string
          nullable: true
        price:
          type: string
          nullable: true
        quantity:
          type: string
          nullable: true
        fee:
          type: string
          description: 'The taker''s whole fee on this fill: monacoFee plus builderFee'
          nullable: true
        monacoFee:
          type: string
          description: The Monaco part of fee
          nullable: true
        builderFee:
          type: string
          description: The builder part of fee
          nullable: true
      description: One fill of an executed RFQ.
    RfqBookComparison:
      type: object
      properties:
        vwap:
          type: string
          description: >-
            All-in book VWAP with the same fee rates as the view: cost per unit
            when buying, net proceeds per unit when selling
          nullable: true
        grossVwap:
          type: string
          description: Book VWAP before fees
          nullable: true
        asOfMs:
          type: integer
          description: When the book snapshot was read, Unix milliseconds
          format: int64
          nullable: true
        levels:
          type: integer
          description: Price levels the size walked
          format: uint32
          nullable: true
      description: The taker's requested size priced against the public order book.
  securitySchemes:
    monacoSignature:
      type: apiKey
      description: >-
        Ed25519 session-key request signing. Every authenticated request carries
        three headers: `X-Monaco-PublicKey` (64-char lowercase-hex session
        public key), `X-Monaco-Timestamp` (Unix milliseconds, within 30s of
        server time), and `X-Monaco-Signature` (hex ed25519 signature). The
        signature is over `METHOD\npath?query\ntimestamp_ms\nSHA256_hex(body)`,
        where the body hash is the SHA-256 of the empty byte string when there
        is no body. Obtain the session keypair from `POST
        /api/v1/auth/challenge` followed by `POST /api/v1/auth/verify`.
      name: X-Monaco-Signature
      in: header
    monacoHttpSignature:
      type: apiKey
      description: >-
        RFC 9421 Ed25519 session-key request signatures. Send Signature-Input,
        Signature, and Content-Digest together; never combine them with
        X-Monaco-* credentials. The monaco signature covers @method, @path,
        @query, and content-digest in that order, with created (Unix seconds
        within 30s of server time), keyid (registered lowercase-hex session
        public key), and alg=ed25519 parameters. Content-Digest uses RFC 9530
        sha-256 over the exact body bytes, including the empty body. Query
        coverage retains ordering and percent encoding. Timestamp freshness does
        not reject repeated identical requests; use endpoint idempotency where
        supported. Existing legacy signing remains supported during server-first
        migration; SDK RFC 9421 signing is opt-in. See
        https://docs.0xmonaco.com/reference/http-message-signatures for the
        complete profile and trust model.
      name: Signature
      in: header

````

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