communications

Endpoint for creating a new RFQ. You can have a maximum of 100 open RFQs at a time.

post/communications/rfqs

Request

  • Base URL
    https://external-api.kalshi.com/trade-api/v2
  • URL
    https://external-api.kalshi.com/trade-api/v2/communications/rfqs
  • Auth
    API key in header KALSHI-ACCESS-KEY and API key in header KALSHI-ACCESS-SIGNATURE and API key in header KALSHI-ACCESS-TIMESTAMP

Request body

market_tickerstring required

The ticker of the market for which to create an RFQ

contractsinteger

Whole-contract count for the RFQ. Use contracts_fp for partial contract values; if both are provided, they must match.

contracts_fpstring

Fixed-point contract count string (2 decimals, e.g., "10.00"; referred to as "fp" in field names). Requests accept 0-2 decimal places (e.g., "10", "10.0", "10.00"); responses always emit 2 decimals. Fractional contract values (e.g., "2.50") are supported; the minimum granularity is 0.01 contracts.

target_cost_centi_centsinteger

DEPRECATED: The target cost for the RFQ in centi-cents. Use target_cost_dollars instead.

target_cost_dollarsstring

Fixed-point US dollar string. Most request fields accept 2-4 decimal places (e.g., "0.56", "0.5600"); responses emit up to 6. Valid quote intervals for a given market are constrained by that market's price level structure.

target_cost_excludes_feesboolean

Sizes quotes against the target cost as principal only (contracts = target cost / price), with your taker fees charged on top of the target cost. By default (false) the target cost caps principal plus Kalshi fees, and quote sizes are reduced to make room for the fees. Only valid together with a target cost.

obscure_creator_idboolean

Replace the RFQ creator's public communications ID with a shared empty-input SHA-256 hash for other users. Applies to RFQ responses and broadcasts, and to quotes before successful execution. Successful execution reveals the normal ID in subsequent RFQ responses and in the executed quote. Accepting or confirming a quote does not reveal the ID. The creator always sees their normal ID. See the RFQ guide for the placeholder and visibility rules.

rest_remainderboolean required

Whether to rest the remainder of the RFQ after execution

replace_existingboolean

Whether to delete existing RFQs as part of this RFQ's creation

subtrader_idstring

The subtrader to create the RFQ for (FCM members only)

subaccountinteger

The subaccount number to create the RFQ for (direct members only; 0 for primary, 1-63 for subaccounts)

Example request

{
  "contracts_fp": "10.00",
  "target_cost_dollars": "0.5600"
}

Response

RFQ created successfully

idstring required

UUID of the newly created RFQ. Pass it unchanged in subsequent requests.

Changes