Create RFQ

Creates an RFQ for the authenticated account. RFQ creation is asynchronous. Subscribe to the private WebSocket channel `rfq` before sending the request. A successful HTTP response is `202 Accepted` and contains a Paradex `request_id`; it confirms only that the command was queued. The later WebSocket `RESULT` event with the same `request_id` reports whether the venue accepted the command. On success, the event's top-level `rfq_id` is the venue-issued identifier used by the read, execute, cancel, and filtered-subscription APIs. The request accepts up to 25 legs. It must contain at least one strategy leg, represented by omitting `price`. At least one strategy leg must have `side=BUY`, and at least one must have `ratio=1`. A fixed-price hedge leg includes a strictly positive `price`. All quantities and ratios are positive decimal strings. Every leg market must exist on Paradex and be available for RFQ. Each fixed hedge price must be an exact multiple of that market's minimum price increment. The strategy quantity must be at least the largest minimum block size among its strategy legs. The platform selects eligible counterparties; a client-supplied `counterparties` value is ignored. The optional `strategy` field is a draft label and is not sent to the venue. Validation or risk-check failures that occur after queueing are reported by the WebSocket `RESULT` event.

Authentication

Authorizationstring
API Key authentication via header

Request

RFQ create request
legslist of objectsRequired

Strategy and optional fixed-price hedge legs; maximum 25

quantitystringRequired
Positive total strategy size
counterpartieslist of stringsOptional

Reserved for future use; currently ignored for RFQ creation and drafts

is_anonymousbooleanOptional

Whether to hide the taker desk name from RFQ counterparties; ignored for drafts

labelstringOptional

User-defined RFQ label; ignored for drafts

strategystringOptional

Draft strategy label; maximum 64 bytes and defaults to custom for drafts; ignored on RFQ create

Response

Accepted
accepted_atintegerOptional
Unix milliseconds when the request was queued
request_idstringOptional

request_id identifies this request. It is echoed on the RESULT event delivered later on the WebSocket rfq channel, so a client with several requests in flight can match each outcome to the request that caused it. On Create it is the only identifier available until the venue issues the rfq_id.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error