Submit a spot or fixed income request for quote: an outright buy or sell of one security, settled
against a single cash leg. The request is queued and processed asynchronously by
the RFQ engine: a 201 means it was accepted for processing, and it appears in
GET /api/rfq/requests once the engine has applied it.
Requires a completed identity verification, a verified email, and the board the request
is filed on (spot or fixed income) to be enabled on the account.
Security and size. Set instrument_id to a crypto, commodity, or equity
instrument from GET /api/instruments, by its instrument_id (e.g. Amulet) or
its instrument_label (e.g. CC); either is matched ignoring case. instrument_admin
is optional: the API takes the admin from the catalog, and rejects one that does not
match if you send it. Set quantity to the size as a decimal string in the
instrument's native denomination (at most 10 decimal places). The API builds the
request's terms from these fields: it settles in USDCx and fills in the display
details and schedule.
Fixed income. Set product_subtype to fixed_income and instrument_id to a
tradeable US Treasury from GET /api/rfq/securities, by its CUSIP, ISIN, or token id.
quantity is the face amount in dollars. A request to all dealers must meet the
treasury minimum face (treasury_min_face from GET /api/rfq/min-quantities).
Addressing.
- Omit
user_idsto send to every dealer. The request must then meet the asset's
minimum quantity (seeGET /api/rfq/min-quantities). - Set
user_idstorfq_idvalues fromGET /api/rfq/users/searchto address
specific counterparties. No minimum applies. If any id is not an eligible
counterparty, including the caller's own, the whole submission is rejected with
unknown_counterparty.
Expiry. expires_in_minutes is required, from 5 to 240, measured from
submission on the server.
Funding window. Once a quote is accepted, both parties have
allocation_lead_seconds to fund the trade: the allocation deadline is the trade's
creation time plus this value, and the trade settles right after. It defaults to
1800 (30 minutes) and may be 300 to 14400. An unfunded trade is cancelled when the
deadline passes.
Deprecated: sending terms. A request may still send a full terms object
instead of instrument_id, quantity, and allocation_lead_seconds (see
RFQTerms), but this is deprecated and will be
removed; use the individual fields. Sending both is 400 invalid_input.
terms.instrument.fee is always set to the cash leg, and
terms.schedule.startTime, when valid, becomes the request's start_time.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||

