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

# Rfq.maker.poll

> JSON-RPC method `rfq.maker.poll` on the trading socket. Items have the same shape as the `open` push; deduplicate on `rfq_id`. Pass `next_cursor` back as `cursor` until a page has none.



## AsyncAPI

````yaml _generated/asyncapi.yaml rfq.maker.poll
id: rfq.maker.poll
title: rfq.maker.poll
description: >-
  JSON-RPC method `rfq.maker.poll` on the trading socket. Items have the same
  shape as the `open` push; deduplicate on `rfq_id`. Pass `next_cursor` back as
  `cursor` until a page has none.
servers:
  - id: trading
    protocol: wss
    host: joyride.exchange
    bindings: []
    variables: []
address: /
parameters: []
bindings: []
operations:
  - &ref_6
    id: rfq.maker.poll.request
    title: Request
    type: receive
    messages:
      - &ref_8
        id: request
        contentType: application/json
        payload:
          - name: Request params
            type: object
            properties:
              - name: cursor
                type: string
                description: 16-byte RFQ id encoded as lowercase hexadecimal.
                required: false
              - name: limit
                type: integer
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          additionalProperties: false
          properties:
            cursor: &ref_0
              type: string
              pattern: ^[0-9a-f]{32}$
              description: 16-byte RFQ id encoded as lowercase hexadecimal.
              x-parser-schema-id: RfqId
            limit:
              type: integer
              minimum: 1
              maximum: 100
              default: 100
              x-parser-schema-id: <anonymous-schema-114>
          x-parser-schema-id: RfqPageParams
        title: Request params
        example: |-
          {
            "limit": 100
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: request
    bindings: []
    extensions: &ref_5
      - id: x-parser-unique-object-id
        value: rfq.maker.poll
  - &ref_7
    id: rfq.maker.poll.reply
    title: Reply
    type: send
    messages:
      - &ref_9
        id: result
        contentType: application/json
        payload:
          - name: Result
            type: object
            properties:
              - name: items
                type: array
                required: true
                properties:
                  - name: rfq_id
                    type: string
                    description: 16-byte RFQ id encoded as lowercase hexadecimal.
                    required: true
                  - name: legs
                    type: array
                    description: >-
                      Ordered strategy legs, in the taker's submitted order,
                      with resolved terms.
                    required: true
                    properties:
                      - name: instrument
                        type: string
                        description: Listed instrument symbol.
                        required: true
                      - name: quantity
                        type: string
                        description: >-
                          Non-zero signed 6dp contracts in taker-buy
                          orientation.
                        required: true
                      - name: asset
                        type: integer
                        description: Underlying id; 0 is BTC, 1 is ETH, 2 is SOL.
                        enumValues:
                          - 0
                          - 1
                          - 2
                        required: true
                      - name: strike
                        type: string
                        description: Strike in USDC, 6dp.
                        required: true
                      - name: expiry
                        type: integer
                        description: Instrument expiry as Unix seconds.
                        required: true
                      - name: kind
                        type: string
                        enumValues:
                          - call
                          - put
                        required: true
                  - name: side
                    type: string
                    description: >-
                      Which side(s) the maker may quote. On `buy` send only
                      `ask`; on `sell` only `bid`; on `two_way` either or both.
                    required: true
                  - name: taker_account
                    type: integer
                    description: Taker account id.
                    required: true
                  - name: taker_subaccount
                    type: string
                    description: >-
                      Solana base58 subaccount PDA (`["subaccount", owner]`
                      under `deployment.program_id`).
                    required: true
                  - name: taker_funded
                    type: boolean
                    description: >-
                      True when the taker has a covered anchor and positive free
                      balance; balances, side requirements, and writer status
                      are not disclosed.
                    required: true
                  - name: maker_funding
                    type: object
                    description: >-
                      Your own economics for each taker side you may quote,
                      priced at mark through your portfolio and fee tier; a side
                      the request does not allow is `null`. Delivered only to
                      you. `rfq.maker.respond` recomputes the same figures at
                      your signed `bid` and `ask`.
                    required: true
                    properties:
                      - name: anchored
                        type: boolean
                        description: >-
                          Whether a durable subaccount anchor is covered by the
                          live watcher heartbeat.
                        required: true
                      - name: free_balance
                        type: string
                        required: true
                      - name: buy
                        type: object
                        required: true
                        properties:
                          - name: estimate
                            type: boolean
                            description: >-
                              True only for a writer-side requirement computed
                              over a never-anchored empty portfolio.
                            required: true
                          - name: funded
                            type: boolean
                            description: >-
                              True only for a non-estimated requirement with a
                              covered anchor and `free_balance >= required`.
                            required: true
                          - name: package_cash_delta
                            type: string
                            description: >-
                              Signed cash movement before fees from the viewed
                              party's seat; positive means that party receives
                              premium.
                            required: false
                          - name: cash_debit
                            type: string
                            description: '`max(-package_cash_delta, 0)`.'
                            required: false
                          - name: fee
                            type: string
                            description: >-
                              The viewed party's trading fee over the current
                              prices, using its taker or maker tier as
                              appropriate: per leg `min(index_notional × fee_bps
                              / 10000, leg_value × trade_fee_cap_bps / 10000)`,
                              floored and summed.
                            required: false
                          - name: max_fee
                            type: string
                            description: >-
                              `fee` with the venue's signed-fee tolerance
                              applied and rounded up once; the figure to sign as
                              the fee maximum. `required` funds it, and the
                              signer refuses a fill whose exact fee exceeds the
                              signed maximum.
                            required: false
                          - name: writer
                            type: boolean
                            description: >-
                              True when this side leaves the viewed party short
                              at least one leg.
                            required: false
                          - name: lock_increase
                            type: string
                            description: >-
                              `max(post_fill_locked - current_locked, 0)`; zero
                              when the viewed party is not a writer.
                            required: false
                          - name: post_fill_locked
                            type: string
                            description: >-
                              Unbuffered absolute lock for the viewed party
                              after the fill.
                            required: false
                          - name: max_locked_balance
                            type: string
                            description: >-
                              Current lock plus `lock_increase` with the venue's
                              signed-lock tolerance applied and rounded up once;
                              the figure to sign as the lock maximum. Equals
                              `post_fill_locked` when the party is not a writer.
                            required: false
                      - name: sell
                        type: object
                        required: true
                        properties:
                          - name: estimate
                            type: boolean
                            description: >-
                              True only for a writer-side requirement computed
                              over a never-anchored empty portfolio.
                            required: true
                          - name: funded
                            type: boolean
                            description: >-
                              True only for a non-estimated requirement with a
                              covered anchor and `free_balance >= required`.
                            required: true
                          - name: package_cash_delta
                            type: string
                            description: >-
                              Signed cash movement before fees from the viewed
                              party's seat; positive means that party receives
                              premium.
                            required: false
                          - name: cash_debit
                            type: string
                            description: '`max(-package_cash_delta, 0)`.'
                            required: false
                          - name: fee
                            type: string
                            description: >-
                              The viewed party's trading fee over the current
                              prices, using its taker or maker tier as
                              appropriate: per leg `min(index_notional × fee_bps
                              / 10000, leg_value × trade_fee_cap_bps / 10000)`,
                              floored and summed.
                            required: false
                          - name: max_fee
                            type: string
                            description: >-
                              `fee` with the venue's signed-fee tolerance
                              applied and rounded up once; the figure to sign as
                              the fee maximum. `required` funds it, and the
                              signer refuses a fill whose exact fee exceeds the
                              signed maximum.
                            required: false
                          - name: writer
                            type: boolean
                            description: >-
                              True when this side leaves the viewed party short
                              at least one leg.
                            required: false
                          - name: lock_increase
                            type: string
                            description: >-
                              `max(post_fill_locked - current_locked, 0)`; zero
                              when the viewed party is not a writer.
                            required: false
                          - name: post_fill_locked
                            type: string
                            description: >-
                              Unbuffered absolute lock for the viewed party
                              after the fill.
                            required: false
                          - name: max_locked_balance
                            type: string
                            description: >-
                              Current lock plus `lock_increase` with the venue's
                              signed-lock tolerance applied and rounded up once;
                              the figure to sign as the lock maximum. Equals
                              `post_fill_locked` when the party is not a writer.
                            required: false
                  - name: request_deadline
                    type: string
                    description: >-
                      RFC3339 UTC; the RFQ drains to `declined/timeout` if no
                      quote arrives by then.
                    required: true
                  - name: deployment
                    type: object
                    description: >-
                      The deployment identity as the open request carries it:
                      `RfqDeployment` plus the `epoch` the request was created
                      under. Only `program_id` and `deployment_id` enter the
                      signed quote.
                    required: true
                  - name: nearest_leg_close
                    type: string
                    description: >-
                      RFC3339 UTC with milliseconds, the same format as
                      `request_deadline`. The earliest expiry among the legs; no
                      quote may expire after it.
                    required: true
                  - name: max_quote_expires_at
                    type: integer
                    description: >-
                      Unix seconds; `nearest_leg_close` less the landing
                      haircut. Sign an `expires_at` at or before it; a later
                      value is rejected, never clamped.
                    required: true
              - name: next_cursor
                type: string
                description: Present when another page follows; pass it back as `cursor`.
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - items
          properties:
            items:
              type: array
              items:
                type: object
                description: >
                  A pending request as seen by every quoter, from
                  `rfq.maker.poll`

                  items and the `open` push. Everything the maker signs is here:

                  `rfq_id`, the ordered `legs`, `taker_subaccount`, and
                  `deployment`.
                properties:
                  rfq_id: *ref_0
                  legs:
                    type: array
                    minItems: 1
                    maxItems: 13
                    items:
                      type: object
                      additionalProperties: false
                      description: >
                        One strategy leg as the venue returns it: the submitted
                        `instrument`

                        and `quantity` plus the instrument's resolved terms,
                        which are the

                        values the signed quote encodes for the leg.
                      properties:
                        instrument:
                          type: string
                          description: Listed instrument symbol.
                          example: SOL_USDC-6MAR26-150-C
                          x-parser-schema-id: <anonymous-schema-66>
                        quantity:
                          allOf:
                            - &ref_2
                              type: string
                              pattern: ^-?(0|[1-9][0-9]*)(\.[0-9]{1,6})?$
                              description: >
                                Canonical signed decimal with at most six
                                fractional digits. Negative

                                zero, JSON numbers, exponents, and values
                                outside the signed 64-bit

                                6dp range (`i64::MIN` excluded) are rejected.
                              x-parser-schema-id: RfqSignedDecimal
                          description: >-
                            Non-zero signed 6dp contracts in taker-buy
                            orientation.
                          x-parser-schema-id: <anonymous-schema-67>
                        asset:
                          type: integer
                          enum:
                            - 0
                            - 1
                            - 2
                          description: Underlying id; 0 is BTC, 1 is ETH, 2 is SOL.
                          x-parser-schema-id: <anonymous-schema-68>
                        strike:
                          allOf:
                            - &ref_1
                              type: string
                              pattern: ^(0|[1-9][0-9]*)(\.[0-9]{1,6})?$
                              description: >-
                                Canonical unsigned decimal with at most six
                                fractional digits; JSON numbers and exponents
                                are rejected.
                              x-parser-schema-id: RfqDecimal
                          description: Strike in USDC, 6dp.
                          x-parser-schema-id: <anonymous-schema-69>
                        expiry:
                          type: integer
                          description: Instrument expiry as Unix seconds.
                          x-parser-schema-id: <anonymous-schema-70>
                        kind:
                          type: string
                          enum:
                            - call
                            - put
                          x-parser-schema-id: <anonymous-schema-71>
                      required:
                        - instrument
                        - quantity
                        - asset
                        - strike
                        - expiry
                        - kind
                      x-parser-schema-id: RfqResolvedLeg
                    description: >-
                      Ordered strategy legs, in the taker's submitted order,
                      with resolved terms.
                    x-parser-schema-id: RfqResolvedLegs
                  side:
                    allOf:
                      - type: string
                        enum:
                          - buy
                          - sell
                          - two_way
                        description: >-
                          The taker's direction over the package (spec 16 §2.1);
                          `two_way` is the direction-blind request.
                        x-parser-schema-id: RfqRequestSide
                    description: >-
                      Which side(s) the maker may quote. On `buy` send only
                      `ask`; on `sell` only `bid`; on `two_way` either or both.
                    x-parser-schema-id: <anonymous-schema-116>
                  taker_account:
                    type: integer
                    minimum: 0
                    description: Taker account id.
                    x-parser-schema-id: <anonymous-schema-117>
                  taker_subaccount:
                    type: string
                    description: >-
                      Solana base58 subaccount PDA (`["subaccount", owner]`
                      under `deployment.program_id`).
                    x-parser-schema-id: <anonymous-schema-118>
                  taker_funded:
                    type: boolean
                    description: >-
                      True when the taker has a covered anchor and positive free
                      balance; balances, side requirements, and writer status
                      are not disclosed.
                    x-parser-schema-id: <anonymous-schema-119>
                  maker_funding:
                    allOf:
                      - &ref_4
                        type: object
                        additionalProperties: false
                        description: >-
                          Live advisory funding view; the attestation signer
                          remains authoritative.
                        properties:
                          anchored:
                            type: boolean
                            description: >-
                              Whether a durable subaccount anchor is covered by
                              the live watcher heartbeat.
                            x-parser-schema-id: <anonymous-schema-39>
                          free_balance:
                            oneOf:
                              - *ref_1
                              - type: 'null'
                                x-parser-schema-id: <anonymous-schema-41>
                            x-parser-schema-id: <anonymous-schema-40>
                          buy:
                            oneOf:
                              - &ref_3
                                type: object
                                additionalProperties: false
                                description: >
                                  Taker-perspective requirement for one accept
                                  side, computed from one

                                  frozen strategy risk view:

                                  `required = cash_debit + max_fee +
                                  lock_increase`.
                                properties:
                                  required:
                                    allOf:
                                      - *ref_1
                                    description: >-
                                      Free balance required to accept this side
                                      of the quote.
                                    x-parser-schema-id: <anonymous-schema-43>
                                  estimate:
                                    type: boolean
                                    description: >-
                                      True only for a writer-side requirement
                                      computed over a never-anchored empty
                                      portfolio.
                                    x-parser-schema-id: <anonymous-schema-44>
                                  funded:
                                    type: boolean
                                    description: >-
                                      True only for a non-estimated requirement
                                      with a covered anchor and `free_balance >=
                                      required`.
                                    x-parser-schema-id: <anonymous-schema-45>
                                  package_cash_delta:
                                    allOf:
                                      - *ref_2
                                    description: >-
                                      Signed cash movement before fees from the
                                      viewed party's seat; positive means that
                                      party receives premium.
                                    x-parser-schema-id: <anonymous-schema-46>
                                  cash_debit:
                                    allOf:
                                      - *ref_1
                                    description: '`max(-package_cash_delta, 0)`.'
                                    x-parser-schema-id: <anonymous-schema-47>
                                  fee:
                                    allOf:
                                      - *ref_1
                                    description: >-
                                      The viewed party's trading fee over the
                                      current prices, using its taker or maker
                                      tier as appropriate: per leg
                                      `min(index_notional × fee_bps / 10000,
                                      leg_value × trade_fee_cap_bps / 10000)`,
                                      floored and summed.
                                    x-parser-schema-id: <anonymous-schema-48>
                                  max_fee:
                                    allOf:
                                      - *ref_1
                                    description: >-
                                      `fee` with the venue's signed-fee
                                      tolerance applied and rounded up once; the
                                      figure to sign as the fee maximum.
                                      `required` funds it, and the signer
                                      refuses a fill whose exact fee exceeds the
                                      signed maximum.
                                    x-parser-schema-id: <anonymous-schema-49>
                                  writer:
                                    type: boolean
                                    description: >-
                                      True when this side leaves the viewed
                                      party short at least one leg.
                                    x-parser-schema-id: <anonymous-schema-50>
                                  lock_increase:
                                    allOf:
                                      - *ref_1
                                    description: >-
                                      `max(post_fill_locked - current_locked,
                                      0)`; zero when the viewed party is not a
                                      writer.
                                    x-parser-schema-id: <anonymous-schema-51>
                                  post_fill_locked:
                                    allOf:
                                      - *ref_1
                                    description: >-
                                      Unbuffered absolute lock for the viewed
                                      party after the fill.
                                    x-parser-schema-id: <anonymous-schema-52>
                                  max_locked_balance:
                                    allOf:
                                      - *ref_1
                                    description: >-
                                      Current lock plus `lock_increase` with the
                                      venue's signed-lock tolerance applied and
                                      rounded up once; the figure to sign as the
                                      lock maximum. Equals `post_fill_locked`
                                      when the party is not a writer.
                                    x-parser-schema-id: <anonymous-schema-53>
                                required:
                                  - required
                                  - estimate
                                  - funded
                                x-parser-schema-id: RfqFundingRequirement
                              - type: 'null'
                                x-parser-schema-id: <anonymous-schema-54>
                            x-parser-schema-id: <anonymous-schema-42>
                          sell:
                            oneOf:
                              - *ref_3
                              - type: 'null'
                                x-parser-schema-id: <anonymous-schema-56>
                            x-parser-schema-id: <anonymous-schema-55>
                        required:
                          - anchored
                          - free_balance
                          - buy
                          - sell
                        x-parser-schema-id: RfqTakerFunding
                    description: >-
                      Your own economics for each taker side you may quote,
                      priced at mark through your portfolio and fee tier; a side
                      the request does not allow is `null`. Delivered only to
                      you. `rfq.maker.respond` recomputes the same figures at
                      your signed `bid` and `ask`.
                    x-parser-schema-id: <anonymous-schema-120>
                  request_deadline:
                    type: string
                    format: date-time
                    description: >-
                      RFC3339 UTC; the RFQ drains to `declined/timeout` if no
                      quote arrives by then.
                    x-parser-schema-id: <anonymous-schema-121>
                  deployment:
                    type: object
                    description: >-
                      The deployment identity as the open request carries it:
                      `RfqDeployment` plus the `epoch` the request was created
                      under. Only `program_id` and `deployment_id` enter the
                      signed quote.
                    allOf:
                      - type: object
                        description: >-
                          The margin-vault deployment the request is bound to.
                          `program_id` and `deployment_id` are copied into every
                          signed quote and acceptance.
                        properties:
                          program_id:
                            type: string
                            description: Solana base58 program id.
                            x-parser-schema-id: <anonymous-schema-76>
                          deployment_id:
                            type: string
                            pattern: ^[0-9a-f]{64}$
                            x-parser-schema-id: <anonymous-schema-77>
                          config_pda:
                            type: string
                            description: Solana base58 config PDA.
                            x-parser-schema-id: <anonymous-schema-78>
                        required:
                          - program_id
                          - deployment_id
                          - config_pda
                        x-parser-schema-id: RfqDeployment
                      - type: object
                        properties:
                          epoch:
                            type: integer
                            minimum: 0
                            description: Deployment epoch the RFQ was created under.
                            x-parser-schema-id: <anonymous-schema-123>
                        required:
                          - epoch
                        x-parser-schema-id: <anonymous-schema-122>
                    x-parser-schema-id: RfqOpenDeployment
                  nearest_leg_close:
                    type: string
                    format: date-time
                    description: >-
                      RFC3339 UTC with milliseconds, the same format as
                      `request_deadline`. The earliest expiry among the legs; no
                      quote may expire after it.
                    x-parser-schema-id: <anonymous-schema-124>
                  max_quote_expires_at:
                    type: integer
                    format: int64
                    description: >-
                      Unix seconds; `nearest_leg_close` less the landing
                      haircut. Sign an `expires_at` at or before it; a later
                      value is rejected, never clamped.
                    x-parser-schema-id: <anonymous-schema-125>
                required:
                  - rfq_id
                  - legs
                  - side
                  - taker_account
                  - taker_subaccount
                  - taker_funded
                  - maker_funding
                  - request_deadline
                  - deployment
                  - nearest_leg_close
                  - max_quote_expires_at
                x-parser-schema-id: OpenRfqObject
              x-parser-schema-id: <anonymous-schema-115>
            next_cursor:
              allOf:
                - *ref_0
              description: Present when another page follows; pass it back as `cursor`.
              x-parser-schema-id: <anonymous-schema-126>
          x-parser-schema-id: RfqMakerPollResult
        title: Result
        example: |-
          {
            "items": [
              {
                "rfq_id": "0192f1a3b4c5d6e7f8091a2b3c4d5e6f",
                "side": "two_way",
                "legs": [
                  {
                    "instrument": "BTC_USDC-2MAY26-77000-C",
                    "quantity": "1.000000",
                    "asset": 0,
                    "strike": "77000.000000",
                    "expiry": 1777708800,
                    "kind": "call"
                  },
                  {
                    "instrument": "BTC_USDC-2MAY26-80000-C",
                    "quantity": "-2.000000",
                    "asset": 0,
                    "strike": "80000.000000",
                    "expiry": 1777708800,
                    "kind": "call"
                  }
                ],
                "taker_account": 2077,
                "taker_subaccount": "<base58 subaccount PDA>",
                "taker_funded": true,
                "maker_funding": {
                  "anchored": true,
                  "free_balance": "12500.000000",
                  "buy": {
                    "required": "262.500000",
                    "estimate": false,
                    "funded": true,
                    "package_cash_delta": "470.000000",
                    "cash_debit": "0.000000",
                    "fee": "0.000000",
                    "max_fee": "0.000000",
                    "writer": true,
                    "lock_increase": "250.000000",
                    "post_fill_locked": "1250.000000",
                    "max_locked_balance": "1262.500000"
                  },
                  "sell": {
                    "required": "732.500000",
                    "estimate": false,
                    "funded": true,
                    "package_cash_delta": "-470.000000",
                    "cash_debit": "470.000000",
                    "fee": "0.000000",
                    "max_fee": "0.000000",
                    "writer": true,
                    "lock_increase": "250.000000",
                    "post_fill_locked": "1250.000000",
                    "max_locked_balance": "1262.500000"
                  }
                },
                "request_deadline": "2026-05-01T15:40:06.000Z",
                "deployment": {
                  "program_id": "4BecHK2cEh6DgfpCdxbQAm812audv4ZXxTQB12RkMWB8",
                  "deployment_id": "<64 hex characters>",
                  "config_pda": "ECJGDQXPnzjoaaPveifT4FSKmYgSbNf1GeiHbtdi626u",
                  "epoch": 3
                },
                "nearest_leg_close": "2026-05-02T08:00:00.000Z",
                "max_quote_expires_at": 1777708798
              }
            ]
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: result
      - &ref_10
        id: error
        contentType: application/json
        payload:
          - name: Error
            description: >-
              Every `rfq.*` failure is JSON-RPC error `1200`; this is its
              `error.data` object.
            type: object
            properties:
              - name: error
                type: string
                description: >-
                  The RFQ error code. `retryable` says whether the same call can
                  succeed later; for `RFQ_NOT_READY` the `message` names the
                  cause. `RFQ_TAKER_UNFUNDED`, `RFQ_MAKER_UNFUNDED` and
                  `RFQ_SIGNED_LIMIT_BELOW_REQUIREMENT` carry the funding view in
                  `details`; `RFQ_INVALID_INSTRUMENT` and `RFQ_QUOTE_EXPIRED`
                  from a leg check carry `{leg_index}`. `RFQ_SIDE_NOT_REQUESTED`
                  is a side the request did not ask for, on respond or accept;
                  `RFQ_SIDE_NOT_QUOTED` is an accept of a side the quote left
                  absent.
                enumValues:
                  - RFQ_NOT_ENABLED
                  - RFQ_WRONG_ROLE
                  - RFQ_NOT_READY
                  - RFQ_INVALID_INSTRUMENT
                  - RFQ_SIZE_INVALID
                  - RFQ_INVALID_PARAMS
                  - RFQ_VALUE_OUT_OF_RANGE
                  - RFQ_PRECISION_UNSUPPORTED
                  - RFQ_INVALID_SIGNATURE
                  - RFQ_CANONICAL_MISMATCH
                  - RFQ_NOT_FOUND
                  - RFQ_STATE_CONFLICT
                  - RFQ_OPEN_LIMIT
                  - RFQ_QUOTE_EXPIRED
                  - RFQ_SIGNED_LIMIT_BELOW_REQUIREMENT
                  - RFQ_TAKER_UNFUNDED
                  - RFQ_MAKER_UNFUNDED
                  - RFQ_RATE_LIMITED
                  - RFQ_SIDE_NOT_QUOTED
                  - RFQ_SIDE_NOT_REQUESTED
                required: true
              - name: message
                type: string
                required: true
              - name: operation_id
                type: string
                description: Server-side correlation id; quote it when asking for support.
                required: true
              - name: retryable
                type: boolean
                required: true
              - name: rfq_id
                type: string
                description: 16-byte RFQ id encoded as lowercase hexadecimal.
                required: false
              - name: quote_id
                type: string
                description: SHA-256 of the canonical 1,066-byte StrategyQuotePayload.
                required: false
              - name: details
                type: object
                description: >-
                  Code-specific context; the funding view for the three funding
                  codes, `{leg_index}` for a leg that stopped trading. Absent
                  otherwise.
                required: false
                properties:
                  - name: anchored
                    type: boolean
                    description: >-
                      Whether a durable subaccount anchor is covered by the live
                      watcher heartbeat.
                    required: true
                  - name: free_balance
                    type: string
                    required: true
                  - name: buy
                    type: object
                    required: true
                    properties:
                      - name: estimate
                        type: boolean
                        description: >-
                          True only for a writer-side requirement computed over
                          a never-anchored empty portfolio.
                        required: true
                      - name: funded
                        type: boolean
                        description: >-
                          True only for a non-estimated requirement with a
                          covered anchor and `free_balance >= required`.
                        required: true
                      - name: package_cash_delta
                        type: string
                        description: >-
                          Signed cash movement before fees from the viewed
                          party's seat; positive means that party receives
                          premium.
                        required: false
                      - name: cash_debit
                        type: string
                        description: '`max(-package_cash_delta, 0)`.'
                        required: false
                      - name: fee
                        type: string
                        description: >-
                          The viewed party's trading fee over the current
                          prices, using its taker or maker tier as appropriate:
                          per leg `min(index_notional × fee_bps / 10000,
                          leg_value × trade_fee_cap_bps / 10000)`, floored and
                          summed.
                        required: false
                      - name: max_fee
                        type: string
                        description: >-
                          `fee` with the venue's signed-fee tolerance applied
                          and rounded up once; the figure to sign as the fee
                          maximum. `required` funds it, and the signer refuses a
                          fill whose exact fee exceeds the signed maximum.
                        required: false
                      - name: writer
                        type: boolean
                        description: >-
                          True when this side leaves the viewed party short at
                          least one leg.
                        required: false
                      - name: lock_increase
                        type: string
                        description: >-
                          `max(post_fill_locked - current_locked, 0)`; zero when
                          the viewed party is not a writer.
                        required: false
                      - name: post_fill_locked
                        type: string
                        description: >-
                          Unbuffered absolute lock for the viewed party after
                          the fill.
                        required: false
                      - name: max_locked_balance
                        type: string
                        description: >-
                          Current lock plus `lock_increase` with the venue's
                          signed-lock tolerance applied and rounded up once; the
                          figure to sign as the lock maximum. Equals
                          `post_fill_locked` when the party is not a writer.
                        required: false
                  - name: sell
                    type: object
                    required: true
                    properties:
                      - name: estimate
                        type: boolean
                        description: >-
                          True only for a writer-side requirement computed over
                          a never-anchored empty portfolio.
                        required: true
                      - name: funded
                        type: boolean
                        description: >-
                          True only for a non-estimated requirement with a
                          covered anchor and `free_balance >= required`.
                        required: true
                      - name: package_cash_delta
                        type: string
                        description: >-
                          Signed cash movement before fees from the viewed
                          party's seat; positive means that party receives
                          premium.
                        required: false
                      - name: cash_debit
                        type: string
                        description: '`max(-package_cash_delta, 0)`.'
                        required: false
                      - name: fee
                        type: string
                        description: >-
                          The viewed party's trading fee over the current
                          prices, using its taker or maker tier as appropriate:
                          per leg `min(index_notional × fee_bps / 10000,
                          leg_value × trade_fee_cap_bps / 10000)`, floored and
                          summed.
                        required: false
                      - name: max_fee
                        type: string
                        description: >-
                          `fee` with the venue's signed-fee tolerance applied
                          and rounded up once; the figure to sign as the fee
                          maximum. `required` funds it, and the signer refuses a
                          fill whose exact fee exceeds the signed maximum.
                        required: false
                      - name: writer
                        type: boolean
                        description: >-
                          True when this side leaves the viewed party short at
                          least one leg.
                        required: false
                      - name: lock_increase
                        type: string
                        description: >-
                          `max(post_fill_locked - current_locked, 0)`; zero when
                          the viewed party is not a writer.
                        required: false
                      - name: post_fill_locked
                        type: string
                        description: >-
                          Unbuffered absolute lock for the viewed party after
                          the fill.
                        required: false
                      - name: max_locked_balance
                        type: string
                        description: >-
                          Current lock plus `lock_increase` with the venue's
                          signed-lock tolerance applied and rounded up once; the
                          figure to sign as the lock maximum. Equals
                          `post_fill_locked` when the party is not a writer.
                        required: false
                  - name: leg_index
                    type: integer
                    required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: >-
            The `error.data` object of every `rfq.*` failure (JSON-RPC code
            `1200`).
          properties:
            error:
              type: string
              description: >-
                The RFQ error code. `retryable` says whether the same call can
                succeed later; for `RFQ_NOT_READY` the `message` names the
                cause. `RFQ_TAKER_UNFUNDED`, `RFQ_MAKER_UNFUNDED` and
                `RFQ_SIGNED_LIMIT_BELOW_REQUIREMENT` carry the funding view in
                `details`; `RFQ_INVALID_INSTRUMENT` and `RFQ_QUOTE_EXPIRED` from
                a leg check carry `{leg_index}`. `RFQ_SIDE_NOT_REQUESTED` is a
                side the request did not ask for, on respond or accept;
                `RFQ_SIDE_NOT_QUOTED` is an accept of a side the quote left
                absent.
              enum:
                - RFQ_NOT_ENABLED
                - RFQ_WRONG_ROLE
                - RFQ_NOT_READY
                - RFQ_INVALID_INSTRUMENT
                - RFQ_SIZE_INVALID
                - RFQ_INVALID_PARAMS
                - RFQ_VALUE_OUT_OF_RANGE
                - RFQ_PRECISION_UNSUPPORTED
                - RFQ_INVALID_SIGNATURE
                - RFQ_CANONICAL_MISMATCH
                - RFQ_NOT_FOUND
                - RFQ_STATE_CONFLICT
                - RFQ_OPEN_LIMIT
                - RFQ_QUOTE_EXPIRED
                - RFQ_SIGNED_LIMIT_BELOW_REQUIREMENT
                - RFQ_TAKER_UNFUNDED
                - RFQ_MAKER_UNFUNDED
                - RFQ_RATE_LIMITED
                - RFQ_SIDE_NOT_QUOTED
                - RFQ_SIDE_NOT_REQUESTED
              x-parser-schema-id: <anonymous-schema-34>
            message:
              type: string
              x-parser-schema-id: <anonymous-schema-35>
            operation_id:
              type: string
              description: Server-side correlation id; quote it when asking for support.
              x-parser-schema-id: <anonymous-schema-36>
            retryable:
              type: boolean
              x-parser-schema-id: <anonymous-schema-37>
            rfq_id: *ref_0
            quote_id:
              type: string
              pattern: ^[0-9a-f]{64}$
              description: SHA-256 of the canonical 1,066-byte StrategyQuotePayload.
              x-parser-schema-id: QuoteId
            details:
              description: >-
                Code-specific context; the funding view for the three funding
                codes, `{leg_index}` for a leg that stopped trading. Absent
                otherwise.
              oneOf:
                - *ref_4
                - type: object
                  properties:
                    leg_index:
                      type: integer
                      minimum: 0
                      x-parser-schema-id: <anonymous-schema-58>
                  required:
                    - leg_index
                  x-parser-schema-id: <anonymous-schema-57>
              x-parser-schema-id: <anonymous-schema-38>
          required:
            - error
            - message
            - operation_id
            - retryable
          x-parser-schema-id: RfqTypedError
        title: Error
        description: >-
          Every `rfq.*` failure is JSON-RPC error `1200`; this is its
          `error.data` object.
        example: |-
          {
            "error": "RFQ_NOT_READY",
            "message": "RFQ chain-service state is not warm",
            "operation_id": "rfq-18",
            "retryable": true,
            "rfq_id": "0192f1a3b4c5d6e7f8091a2b3c4d5e6f"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: error
    bindings: []
    extensions: *ref_5
sendOperations:
  - *ref_6
receiveOperations:
  - *ref_7
sendMessages:
  - *ref_8
receiveMessages:
  - *ref_9
  - *ref_10
extensions:
  - id: x-parser-unique-object-id
    value: rfq.maker.poll
securitySchemes: []

````

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