Rfqs

Create RFQ draft

Changed on

Stores an RFQ-builder draft for the authenticated account.

A draft is inert: it is not sent to the RFQ venue and does not reserve margin. Each account may store at most 20 drafts. The request shares the RFQ-create schema, but only quantity, strategy, and legs are persisted; is_anonymous, counterparties, and label are ignored.

Draft validation permits work in progress. A draft accepts up to 25 legs. Quantity and ratios must be positive decimal strings, every market must exist on Paradex, side must be BUY or SELL, and a supplied hedge-leg price must be positive. strategy is limited to 64 bytes and defaults to custom when omitted. The cross-leg strategy rules enforced by RFQ creation do not apply until the draft is submitted through POST /v1/rfqs.

post/rfqs/drafts

Request

  • Base URL
    https://api.prod.paradex.trade/v1
  • URL
    https://api.prod.paradex.trade/v1/rfqs/drafts
  • Auth
    API key in header Authorization

Request body

counterpartiesstring[]

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

is_anonymousboolean

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

labelstring

User-defined RFQ label; ignored for drafts

max_slippagestring

MaxSlippage sets the collateral held against this RFQ while it is open, as a fraction of underlying spot, replacing the configured bound for this RFQ only. It does not limit the price the RFQ may execute at. Empty leaves the configured one in place. Ignored for drafts.

quantitystring required

Positive total strategy size

side'BUY' | 'SELL'

Side commits the RFQ to one direction of the strategy, which is then the only direction it may be executed in. Empty leaves it two-way. Ignored for drafts.

strategystring

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

Example request

{
  "is_anonymous": true,
  "label": "my-rfq",
  "legs": [
    {
      "market": "BTC-USD-PERP",
      "price": "30000.00",
      "ratio": "1",
      "side": "BUY"
    }
  ],
  "max_slippage": "0.002",
  "quantity": "100",
  "side": "BUY",
  "strategy": "straddle"
}

Response

Created

created_atinteger

Unix milliseconds

idstring

Opaque application-generated RFQ draft identifier

quantitystring
strategystring

User-facing strategy label

updated_atinteger

Unix milliseconds

Example response

{
  "created_at": 1640995200000,
  "id": "1784275070090201698744820000",
  "legs": [
    {
      "market": "BTC-USD-PERP",
      "price": "50000",
      "ratio": "1"
    }
  ],
  "quantity": "10",
  "strategy": "straddle",
  "updated_at": 1640995200000
}

Changes

    • warning

      added the new ADDRESS_BOOK_NOT_PARADEX_ACCOUNT enum value to the //// response property for the response status

    • warning

      added the new ADDRESS_BOOK_NOT_PARADEX_ACCOUNT enum value to the //// response property for the response status

    • warning

      added the new ADDRESS_BOOK_REPEATED_IN_IMPORT enum value to the //// response property for the response status

    • warning

      added the new ADDRESS_BOOK_REPEATED_IN_IMPORT enum value to the //// response property for the response status

    • warning

      added the new STARKNET_PARENT_ONBOARDING_DISABLED enum value to the //// response property for the response status

    • warning

      added the new STARKNET_PARENT_ONBOARDING_DISABLED enum value to the //// response property for the response status

    • warning

      added the new SESSION_EXPIRED enum value to the //// response property for the response status

    • warning

      added the new SESSION_EXPIRED enum value to the //// response property for the response status

    • warning

      added the new SESSION_REVOKED enum value to the //// response property for the response status

    • warning

      added the new SESSION_REVOKED enum value to the //// response property for the response status