Onboarding

Connect your own Kalshi account by storing its API credentials

Kalshi is the one venue where Kairos does NOT custody or provision an identity — you trade against your own Kalshi account, so you supply your own Kalshi API key and RSA private key here. The server validates the PEM, proves the credentials work by calling Kalshi's balance endpoint, then encrypts them (AES-256-GCM) and stores them. You are handing over a live private key. It is stored encrypted and used only to sign Kalshi requests on your behalf. Rotate it at Kalshi and re-run this endpoint to replace it. Both PKCS#1 and PKCS#8 PEM encodings are accepted, and a key pasted as a single line with literal \n escapes is normalized before parsing. POST /exchanges/kalshi_offchain/enable-trading is a deprecated alias of this route, kept for clients that are not deployed in lockstep.

Error shape. Minimal {"error": "...", "code": "..."} (OrderSimpleErrorResponse), not the structured envelope. Auth & scope. Requires trade:execute for kalshi and the mutation gate.

post/exchanges/kalshi/enable-trading

Request

  • Base URL
    https://execution.kairos.trade
  • Auth
    API key in header X-Client-Id and API key in header X-Api-Key and API key in header X-Api-Secret

Request body

api_key_idstring required

Kalshi API Key ID (the public identifier). Must be non-blank.

private_key_pemstring required

The matching RSA private key, PEM-encoded. Both PKCS#1 (BEGIN RSA PRIVATE KEY) and PKCS#8 (BEGIN PRIVATE KEY) are accepted, and a key pasted as a single line with literal \n escape sequences is normalized server-side.

Response

Credentials validated against Kalshi and stored.

successboolean required
messagestring required

Changes

No recorded changes to this operation across all 1 revision of this API.