---
title: "Create RFQ draft"
method: POST
path: "/rfqs/drafts"
tags: ["Rfqs"]
---

# Create RFQ draft

`POST /rfqs/drafts`

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`.

## Request body

- RequestsRfqCreateRequest
  - `counterparties` string[] — Reserved for future use; currently ignored for RFQ creation and drafts
  - `is_anonymous` boolean — Whether to hide the taker desk name from RFQ counterparties; ignored for drafts
  - `label` string — User-defined RFQ label; ignored for drafts
  - `legs` RequestsRfqLeg[], required — Strategy and optional fixed-price hedge legs; maximum 25
    - `market` string, required — Paradex market symbol
    - `price` string — Positive fixed price in the instrument's quote currency; set only for hedge legs
    - `ratio` string, required — Positive decimal multiplier for the leg
    - `side` 'BUY' | 'SELL', required — Leg direction
  - `max_slippage` string — MaxSlippage bounds how far this RFQ may execute from mark, as a fraction of underlying spot, replacing the configured bound for this RFQ only. Empty leaves the configured one in place. Ignored for drafts.
  - `quantity` string, required — Positive total strategy size
  - `strategy` string — Draft strategy label; maximum 64 bytes and defaults to custom for drafts; ignored on RFQ create

## Response `201`

Created

- ResponsesRfqDraftResult
  - `created_at` integer — Unix milliseconds
  - `id` string — Opaque application-generated RFQ draft identifier
  - `legs` ResponsesRfqLegResult[]
    - `market` string — Paradex market symbol
    - `price` string — Hedge legs only
    - `ratio` string
    - `side` 'BUY' | 'SELL'
  - `quantity` string
  - `strategy` string — User-facing strategy label
  - `updated_at` integer — Unix milliseconds

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/tradeparadex/apis/paradex-rest-api-2.md) · [All operations](https://skmtc.net/tradeparadex/apis/paradex-rest-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tradeparadex/paradex-rest-api-2/revisions/e8fca3e578c7/schema)
