Skip to main content
POST

Authorizations

KALSHI-ACCESS-KEY
string
header
required

Your API key ID

KALSHI-ACCESS-SIGNATURE
string
header
required

Base64 signature of the pre-sign text (timestamp + method + path) made with the API key's algorithm - RSA-PSS with SHA-256 for RSA keys, Ed25519 for Ed25519 keys

KALSHI-ACCESS-TIMESTAMP
string
header
required

Request timestamp in milliseconds

Body

application/json
source_subtrader_id
string
required

Full id of the FCM subtrader giving up the position, {user_id}_{subtrader_suffix}, as returned by POST /margin/fcm/subtraders.

target_subtrader_id
string
required

Subtrader under your error account that receives the position, {error_account_id}_{suffix} with a 1-16 character alphanumeric suffix. Created if it does not exist.

side
enum<string>
required

Side of the position being moved. long moves a long position, short moves a short one.

Available options:
long,
short
count
string
required

Contracts to move, as a whole number of exchange contracts (e.g. "10").

Example:

"10.00"

price
string
required

Transfer price in dollars per contract with 2-4 decimal places (e.g. "63000.00"), greater than zero. Both sides' cost basis moves at this price.

Example:

"0.5600"

client_transfer_id
string<uuid>
required

Client-chosen UUID that makes the request idempotent for the source subtrader. A repeat from the same source, to any target, returns 409 with code transfer_already_applied.

ticker
string

Market ticker. Supply ticker or market_id; ticker takes precedence when both are provided.

market_id
string

Stable exchange market UUID. May be supplied instead of ticker.

Response

Position transferred

position_transfer_id
string
required

Id of the executed transfer, as it appears in the position_transfer_audit report.