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

> JSON-RPC method `rfq.list` on the trading socket.



## AsyncAPI

````yaml _generated/asyncapi.yaml rfq.list
id: rfq.list
title: rfq.list
description: JSON-RPC method `rfq.list` on the trading socket.
servers:
  - id: trading
    protocol: wss
    host: joyride.exchange
    bindings: []
    variables: []
address: /
parameters: []
bindings: []
operations:
  - &ref_11
    id: rfq.list.request
    title: Request
    type: receive
    messages:
      - &ref_13
        id: request
        contentType: application/json
        payload:
          - name: Request params
            type: object
            properties:
              - name: states
                type: array
                required: false
                properties:
                  - name: item
                    type: string
                    enumValues:
                      - pending
                      - quoted
                      - accepted
                      - submitting
                      - filled
                      - declined
                      - expired
                      - failed
                    required: false
              - 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:
            states:
              type: array
              uniqueItems: true
              items: &ref_1
                type: string
                enum:
                  - pending
                  - quoted
                  - accepted
                  - submitting
                  - filled
                  - declined
                  - expired
                  - failed
                x-parser-schema-id: RfqState
              x-parser-schema-id: <anonymous-schema-107>
            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-108>
          x-parser-schema-id: RfqListParams
        title: Request params
        example: |-
          {
            "states": [
              "quoted",
              "accepted"
            ],
            "limit": 50
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: request
    bindings: []
    extensions: &ref_10
      - id: x-parser-unique-object-id
        value: rfq.list
  - &ref_12
    id: rfq.list.reply
    title: Reply
    type: send
    messages:
      - &ref_14
        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: client_ref
                    type: string
                    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: >-
                      The side named at creation; `two_way` when none was. Only
                      this side (either on `two_way`) may be accepted.
                    required: true
                  - name: state
                    type: string
                    enumValues:
                      - pending
                      - quoted
                      - accepted
                      - submitting
                      - filled
                      - declined
                      - expired
                      - failed
                    required: true
                  - name: request_deadline
                    type: string
                    required: true
                  - name: nearest_leg_close
                    type: string
                    description: >-
                      RFC3339 UTC with milliseconds; the earliest expiry among
                      the legs.
                    required: false
                  - name: deployment
                    type: object
                    description: >-
                      The deployment the request is bound to.
                      `quote.taker_subaccount` is the PDA for seeds
                      `["subaccount", owner]` under `program_id`; a client can
                      re-derive it, and it also appears in
                      `quote.quote_payload`, which hashes to `quote_id`.
                    required: false
                    properties:
                      - name: program_id
                        type: string
                        description: Solana base58 program id.
                        required: true
                      - name: deployment_id
                        type: string
                        required: true
                      - name: config_pda
                        type: string
                        description: Solana base58 config PDA.
                        required: true
                  - name: quote
                    type: object
                    description: >-
                      The one quote the taker is shown: the accepted quote once
                      accepted; before that, on a `buy` request the best live
                      ask and on a `sell` request the best live bid, which can
                      change between pushes as better quotes land. Absent on a
                      `two_way` request while it is quoted, because its best bid
                      and best ask may be different makers' quotes: read `best`.
                    required: false
                    properties:
                      - name: quote_id
                        type: string
                        description: >-
                          SHA-256 of the canonical 1,066-byte
                          StrategyQuotePayload.
                        required: true
                      - 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: bid
                        type: string
                        description: >-
                          What the taker receives selling the package; `null`
                          when the maker did not quote that side. At least one
                          of `bid` / `ask` is a price.
                        required: true
                      - name: ask
                        type: string
                        description: >-
                          What the taker pays buying the package; `null` when
                          the maker did not quote that side.
                        required: true
                      - name: maker_subaccount
                        type: string
                        description: Solana base58 PDA.
                        required: true
                      - name: taker_subaccount
                        type: string
                        description: Solana base58 PDA.
                        required: true
                      - name: issued_at
                        type: integer
                        required: true
                      - name: expires_at
                        type: integer
                        required: true
                      - name: max_maker_fee
                        type: string
                        description: >-
                          Canonical unsigned decimal with at most six fractional
                          digits; JSON numbers and exponents are rejected.
                        required: true
                      - name: max_maker_locked_balance
                        type: string
                        description: >-
                          Canonical unsigned decimal with at most six fractional
                          digits; JSON numbers and exponents are rejected.
                        required: true
                      - name: quote_payload
                        type: string
                        description: >-
                          Base64 of the canonical 1,066-byte v3
                          StrategyQuotePayload.
                        required: true
                      - name: maker_signature
                        type: string
                        description: Base64 of the 64-byte Ed25519 signature.
                        required: true
                  - name: best
                    type: object
                    description: >-
                      Present while `state` is `quoted`: the best live quote per
                      side, possibly from different makers, and the only quotes
                      a `two_way` request shows. Accept `ask` to buy and `bid`
                      to sell.
                    required: false
                    properties:
                      - name: bid
                        type: object
                        required: false
                        properties:
                          - name: quote_id
                            type: string
                            description: >-
                              SHA-256 of the canonical 1,066-byte
                              StrategyQuotePayload.
                            required: true
                          - 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: bid
                            type: string
                            description: >-
                              What the taker receives selling the package;
                              `null` when the maker did not quote that side. At
                              least one of `bid` / `ask` is a price.
                            required: true
                          - name: ask
                            type: string
                            description: >-
                              What the taker pays buying the package; `null`
                              when the maker did not quote that side.
                            required: true
                          - name: maker_subaccount
                            type: string
                            description: Solana base58 PDA.
                            required: true
                          - name: taker_subaccount
                            type: string
                            description: Solana base58 PDA.
                            required: true
                          - name: issued_at
                            type: integer
                            required: true
                          - name: expires_at
                            type: integer
                            required: true
                          - name: max_maker_fee
                            type: string
                            description: >-
                              Canonical unsigned decimal with at most six
                              fractional digits; JSON numbers and exponents are
                              rejected.
                            required: true
                          - name: max_maker_locked_balance
                            type: string
                            description: >-
                              Canonical unsigned decimal with at most six
                              fractional digits; JSON numbers and exponents are
                              rejected.
                            required: true
                          - name: quote_payload
                            type: string
                            description: >-
                              Base64 of the canonical 1,066-byte v3
                              StrategyQuotePayload.
                            required: true
                          - name: maker_signature
                            type: string
                            description: Base64 of the 64-byte Ed25519 signature.
                            required: true
                      - name: ask
                        type: object
                        required: false
                        properties:
                          - name: quote_id
                            type: string
                            description: >-
                              SHA-256 of the canonical 1,066-byte
                              StrategyQuotePayload.
                            required: true
                          - 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: bid
                            type: string
                            description: >-
                              What the taker receives selling the package;
                              `null` when the maker did not quote that side. At
                              least one of `bid` / `ask` is a price.
                            required: true
                          - name: ask
                            type: string
                            description: >-
                              What the taker pays buying the package; `null`
                              when the maker did not quote that side.
                            required: true
                          - name: maker_subaccount
                            type: string
                            description: Solana base58 PDA.
                            required: true
                          - name: taker_subaccount
                            type: string
                            description: Solana base58 PDA.
                            required: true
                          - name: issued_at
                            type: integer
                            required: true
                          - name: expires_at
                            type: integer
                            required: true
                          - name: max_maker_fee
                            type: string
                            description: >-
                              Canonical unsigned decimal with at most six
                              fractional digits; JSON numbers and exponents are
                              rejected.
                            required: true
                          - name: max_maker_locked_balance
                            type: string
                            description: >-
                              Canonical unsigned decimal with at most six
                              fractional digits; JSON numbers and exponents are
                              rejected.
                            required: true
                          - name: quote_payload
                            type: string
                            description: >-
                              Base64 of the canonical 1,066-byte v3
                              StrategyQuotePayload.
                            required: true
                          - name: maker_signature
                            type: string
                            description: Base64 of the 64-byte Ed25519 signature.
                            required: true
                  - name: funding
                    type: object
                    description: >-
                      Present while the request is quoted and not yet accepted;
                      each side computed from that side's best quote, recomputed
                      from the live risk view.
                    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: accepted_side
                    type: string
                    enumValues:
                      - buy
                      - sell
                    required: false
                  - name: tx_signature
                    type: string
                    description: Solana base58 transaction signature.
                    required: false
                  - name: fill_finality
                    type: string
                    enumValues:
                      - confirmed
                      - finalized
                      - reverted
                    required: false
                  - name: decline_reason
                    type: string
                    description: >-
                      The six maker reasons, plus `timeout` (the window closed
                      with no quote) and `leg_not_tradable` (a leg stopped
                      trading while the request was open), which only the venue
                      sets.
                    enumValues:
                      - unlisted_instrument
                      - near_expiry
                      - size_limit
                      - stale_data
                      - low_confidence
                      - queue_overflow
                      - timeout
                      - leg_not_tradable
                    required: false
                  - name: decline_reasons
                    type: array
                    description: >-
                      Each maker that declined this request, by reason, in
                      arrival order; makers are not named. Present while the
                      request is still `pending` and after it drains.
                    required: false
                    properties:
                      - name: item
                        type: string
                        description: >-
                          The six maker reasons, plus `timeout` (the window
                          closed with no quote) and `leg_not_tradable` (a leg
                          stopped trading while the request was open), which
                          only the venue sets.
                        enumValues:
                          - unlisted_instrument
                          - near_expiry
                          - size_limit
                          - stale_data
                          - low_confidence
                          - queue_overflow
                          - timeout
                          - leg_not_tradable
                        required: false
                  - name: failure
                    type: object
                    required: false
                    properties:
                      - name: code
                        type: string
                        enumValues:
                          - RFQ_ATTESTATION_FAILED
                          - RFQ_TX_FAILED
                          - RFQ_PRICE_TOLERANCE
                          - RFQ_BALANCE_INSUFFICIENT
                          - RFQ_FEE_LIMIT_EXCEEDED
                          - RFQ_LOCK_LIMIT_EXCEEDED
                        required: true
                      - name: detail
                        type: string
                        required: false
                      - name: tx_signature
                        type: string
                        required: false
                      - name: onchain_code
                        type: integer
                        required: false
                  - name: created_at
                    type: string
                    required: true
                  - name: updated_at
                    type: string
                    required: true
              - name: next_cursor
                type: string
                description: 16-byte RFQ id encoded as lowercase hexadecimal.
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - items
          properties:
            items:
              type: array
              items:
                type: object
                description: >-
                  The caller's view of its own request, from `rfq.get`,
                  `rfq.list`, and every `rfq` push.
                properties:
                  rfq_id: *ref_0
                  client_ref:
                    type: string
                    format: uuid
                    x-parser-schema-id: <anonymous-schema-65>
                  legs: &ref_2
                    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_3
                              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_4
                              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: >-
                      The side named at creation; `two_way` when none was. Only
                      this side (either on `two_way`) may be accepted.
                    x-parser-schema-id: <anonymous-schema-72>
                  state: *ref_1
                  request_deadline:
                    type: string
                    format: date-time
                    x-parser-schema-id: <anonymous-schema-73>
                  nearest_leg_close:
                    type: string
                    format: date-time
                    description: >-
                      RFC3339 UTC with milliseconds; the earliest expiry among
                      the legs.
                    x-parser-schema-id: <anonymous-schema-74>
                  deployment:
                    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
                    description: >-
                      The deployment the request is bound to.
                      `quote.taker_subaccount` is the PDA for seeds
                      `["subaccount", owner]` under `program_id`; a client can
                      re-derive it, and it also appears in
                      `quote.quote_payload`, which hashes to `quote_id`.
                    x-parser-schema-id: <anonymous-schema-75>
                  quote:
                    allOf:
                      - &ref_5
                        type: object
                        description: >-
                          One maker's immutable signed quote as shown to the
                          taker. The taker is never told which maker, or how
                          many quoted.
                        properties:
                          quote_id: &ref_8
                            type: string
                            pattern: ^[0-9a-f]{64}$
                            description: >-
                              SHA-256 of the canonical 1,066-byte
                              StrategyQuotePayload.
                            x-parser-schema-id: QuoteId
                          rfq_id: *ref_0
                          legs: *ref_2
                          bid:
                            oneOf:
                              - *ref_3
                              - type: 'null'
                                x-parser-schema-id: <anonymous-schema-81>
                            description: >-
                              What the taker receives selling the package;
                              `null` when the maker did not quote that side. At
                              least one of `bid` / `ask` is a price.
                            x-parser-schema-id: <anonymous-schema-80>
                          ask:
                            oneOf:
                              - *ref_3
                              - type: 'null'
                                x-parser-schema-id: <anonymous-schema-83>
                            description: >-
                              What the taker pays buying the package; `null`
                              when the maker did not quote that side.
                            x-parser-schema-id: <anonymous-schema-82>
                          maker_subaccount:
                            type: string
                            description: Solana base58 PDA.
                            x-parser-schema-id: <anonymous-schema-84>
                          taker_subaccount:
                            type: string
                            description: Solana base58 PDA.
                            x-parser-schema-id: <anonymous-schema-85>
                          issued_at:
                            type: integer
                            format: int64
                            x-parser-schema-id: <anonymous-schema-86>
                          expires_at:
                            type: integer
                            format: int64
                            x-parser-schema-id: <anonymous-schema-87>
                          max_maker_fee: *ref_4
                          max_maker_locked_balance: *ref_4
                          quote_payload:
                            type: string
                            description: >-
                              Base64 of the canonical 1,066-byte v3
                              StrategyQuotePayload.
                            x-parser-schema-id: <anonymous-schema-88>
                          maker_signature:
                            type: string
                            description: Base64 of the 64-byte Ed25519 signature.
                            x-parser-schema-id: <anonymous-schema-89>
                        required:
                          - quote_id
                          - rfq_id
                          - legs
                          - bid
                          - ask
                          - maker_subaccount
                          - taker_subaccount
                          - issued_at
                          - expires_at
                          - max_maker_fee
                          - max_maker_locked_balance
                          - quote_payload
                          - maker_signature
                        x-parser-schema-id: QuoteObject
                    description: >-
                      The one quote the taker is shown: the accepted quote once
                      accepted; before that, on a `buy` request the best live
                      ask and on a `sell` request the best live bid, which can
                      change between pushes as better quotes land. Absent on a
                      `two_way` request while it is quoted, because its best bid
                      and best ask may be different makers' quotes: read `best`.
                    x-parser-schema-id: <anonymous-schema-79>
                  best:
                    type: object
                    description: >-
                      Present while `state` is `quoted`: the best live quote per
                      side, possibly from different makers, and the only quotes
                      a `two_way` request shows. Accept `ask` to buy and `bid`
                      to sell.
                    properties:
                      bid:
                        oneOf:
                          - *ref_5
                          - type: 'null'
                            x-parser-schema-id: <anonymous-schema-92>
                        x-parser-schema-id: <anonymous-schema-91>
                      ask:
                        oneOf:
                          - *ref_5
                          - type: 'null'
                            x-parser-schema-id: <anonymous-schema-94>
                        x-parser-schema-id: <anonymous-schema-93>
                    x-parser-schema-id: <anonymous-schema-90>
                  funding:
                    allOf:
                      - &ref_9
                        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_4
                              - type: 'null'
                                x-parser-schema-id: <anonymous-schema-41>
                            x-parser-schema-id: <anonymous-schema-40>
                          buy:
                            oneOf:
                              - &ref_6
                                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_4
                                    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_3
                                    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_4
                                    description: '`max(-package_cash_delta, 0)`.'
                                    x-parser-schema-id: <anonymous-schema-47>
                                  fee:
                                    allOf:
                                      - *ref_4
                                    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_4
                                    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_4
                                    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_4
                                    description: >-
                                      Unbuffered absolute lock for the viewed
                                      party after the fill.
                                    x-parser-schema-id: <anonymous-schema-52>
                                  max_locked_balance:
                                    allOf:
                                      - *ref_4
                                    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_6
                              - 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: >-
                      Present while the request is quoted and not yet accepted;
                      each side computed from that side's best quote, recomputed
                      from the live risk view.
                    x-parser-schema-id: <anonymous-schema-95>
                  accepted_side:
                    type: string
                    enum:
                      - buy
                      - sell
                    x-parser-schema-id: <anonymous-schema-96>
                  tx_signature:
                    type: string
                    description: Solana base58 transaction signature.
                    x-parser-schema-id: <anonymous-schema-97>
                  fill_finality:
                    type: string
                    enum:
                      - confirmed
                      - finalized
                      - reverted
                    x-parser-schema-id: <anonymous-schema-98>
                  decline_reason: &ref_7
                    type: string
                    enum:
                      - unlisted_instrument
                      - near_expiry
                      - size_limit
                      - stale_data
                      - low_confidence
                      - queue_overflow
                      - timeout
                      - leg_not_tradable
                    description: >-
                      The six maker reasons, plus `timeout` (the window closed
                      with no quote) and `leg_not_tradable` (a leg stopped
                      trading while the request was open), which only the venue
                      sets.
                    x-parser-schema-id: RfqDeclineReason
                  decline_reasons:
                    type: array
                    items: *ref_7
                    description: >-
                      Each maker that declined this request, by reason, in
                      arrival order; makers are not named. Present while the
                      request is still `pending` and after it drains.
                    x-parser-schema-id: <anonymous-schema-99>
                  failure:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - RFQ_ATTESTATION_FAILED
                          - RFQ_TX_FAILED
                          - RFQ_PRICE_TOLERANCE
                          - RFQ_BALANCE_INSUFFICIENT
                          - RFQ_FEE_LIMIT_EXCEEDED
                          - RFQ_LOCK_LIMIT_EXCEEDED
                        x-parser-schema-id: <anonymous-schema-101>
                      detail:
                        type: string
                        x-parser-schema-id: <anonymous-schema-102>
                      tx_signature:
                        type: string
                        x-parser-schema-id: <anonymous-schema-103>
                      onchain_code:
                        type: integer
                        x-parser-schema-id: <anonymous-schema-104>
                    required:
                      - code
                    x-parser-schema-id: <anonymous-schema-100>
                  created_at:
                    type: string
                    format: date-time
                    x-parser-schema-id: <anonymous-schema-105>
                  updated_at:
                    type: string
                    format: date-time
                    x-parser-schema-id: <anonymous-schema-106>
                required:
                  - rfq_id
                  - client_ref
                  - legs
                  - side
                  - state
                  - request_deadline
                  - created_at
                  - updated_at
                x-parser-schema-id: RfqObject
              x-parser-schema-id: <anonymous-schema-109>
            next_cursor: *ref_0
          x-parser-schema-id: RfqListResult
        title: Result
        example: No examples found
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: result
      - &ref_15
        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: *ref_8
            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_9
                - 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_10
sendOperations:
  - *ref_11
receiveOperations:
  - *ref_12
sendMessages:
  - *ref_13
receiveMessages:
  - *ref_14
  - *ref_15
extensions:
  - id: x-parser-unique-object-id
    value: rfq.list
securitySchemes: []

````

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