Submit RFQ response

Submit a response to a Request for Quote (RFQ) with your pricing.

Makers use this endpoint to provide pricing for RFQ requests they've received. The response structure uses a nested array format where each order is represented as a pair of elements.

Response Structure: The fills array structure mirrors the RFQ request structure with two categories:

  • Basket of options response pairs only: Up to 6 option response pairs
  • Single perpetual response pair only: Exactly 1 perpetual response pair

Each response pair consists of:

  1. First element: A copy of the original RFQ request parameters (instrument_name, contracts, direction)
  2. Second element: The complete signed order with pricing and all execution details

Critical Requirements (MUST follow to avoid errors):

  • Order type MUST be good_til_cancelled (GTC) - Using good_til_date (GTD) will cause validation errors
  • post_only MUST be true - Setting to false will cause validation errors for RFQ responses

Important Validation Rules:

  • All orders from the original RFQ request must be included in the response
  • For each pair, the parameters in the first element must match those in the second element:
    • instrument_name must be identical
    • direction must be OPPOSITE (if request is "buy", response must be "sell" and vice versa)
    • contracts must be identical (perpetual RFQ legs use contracts, not the legacy amount)
  • The taker address must match across all locations (root level and in signed orders)
  • The maker address must be consistent across all signed orders
  • All signatures must be valid EIP-712 signatures and not expired

Key Fields in Signed Orders (second element of each pair):

  • price: Your quoted price for this order
  • type: MUST be "good_til_cancelled" (GTD not supported for RFQ)
  • post_only: MUST be true (false will cause errors)
  • signature: Valid EIP-712 signature for the order
  • signature_deadline: Unix timestamp when the signature expires
  • taker and maker: Must match the root-level addresses

Note: RFQ responses can be cancelled using the DELETE /orders endpoint with the order_id from this response.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Response to a Request for Quote (RFQ), containing the maker's pricing for each requested order.

Structure: The response uses a nested array structure where each element in the fills array contains a pair:

  1. First element: The original RFQ request parameters (instrument_name, contracts, direction) - exact copy of what was requested
  2. Second element: The complete signed limit order from the market maker with pricing and execution details

Validation Rules:

  • CRITICAL REQUIREMENTS (will cause errors if not followed):

    • type field MUST be "good_til_cancelled" - GTD ("good_til_date") is NOT supported
    • post_only field MUST be true - Setting to false will cause validation errors
  • Each fill pair must correspond to an order in the original RFQ request

  • First element (market order) must match the original request exactly:

    • instrument_name (exact match)
    • direction (exact match)
    • contracts (exact match; RFQ legs are contracts-only for both options and perpetuals)
  • Second element (signed limit order) must provide opposite-side liquidity:

    • instrument_name (must match the request)
    • direction (must be OPPOSITE to request - if request is "buy", limit order must be "sell")
    • contracts (must match the request size; RFQ legs are contracts-only)
  • Example: If taker requests to buy 25 BTC calls, maker must respond with a sell limit order for 25 BTC calls at their quoted price - The taker address in both the root object and signed orders must match the original RFQ request

  • All signed orders must include valid EIP-712 signatures from the maker

fills
required
length between 1 and 6

RFQ response fills - must be either a basket of options response pairs OR a single perpetual response pair, cannot mix types

string
required

Unique identifier for this RFQ response

string
required

Taker address - must match the address from the original RFQ request

string
required

Maker address submitting this response

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json