Skip to main content
POST
Create Rfq

Authorizations

X-River-Key-Id
string
header
required

UUID of your API key (from Settings → API Keys).

X-River-Timestamp
string
header
required

Current unix milliseconds (unix seconds also accepted). Must be within 30s of server time.

X-River-Signature
string
header
required

Base64 Ed25519 signature over the canonical request: METHOD\nPATH\nSORTED_QUERY\nTIMESTAMP\nSHA256(body) hex. See /api-reference/authentication for the full recipe.

Body

application/json
subaccount_id
string<uuid>
required

Non-custodial subaccount to post the RFQ under

river_id
integer
required

The market to request quotes on: a single market, or a combo from POST /v1/parlays/build. The exchange follows from the market.

contracts
integer | null

Whole-contract size. Provide either contracts or contracts_fp.

Required range: x >= 1
contracts_fp

Fixed-point contract size for fractional sizing.

Required range: x > 0
target_cost_dollars

Total target cost in USD. Kalshi: optional alongside contracts. Polymarket US: the size itself, instead of contracts.

Required range: x >= 0
obscure_creator_id
boolean
default:true

Kalshi only: hide your creator ID from makers until a quote executes.

Response

Successful Response

river_rfq_id
string<uuid>
required

River's id for the RFQ; the handle for get, quotes, accept and cancel

exchange_rfq_id
string
required

The exchange's own id for the same RFQ