Skip to content

betting_combat.consumers.kalshi.auth

Kalshi request signing (RSA-PSS, SHA-256).

Each signed request carries three headers: the key id, a millisecond timestamp, and a base64 RSA-PSS signature over timestamp + METHOD + path, where path is the full URL path (/trade-api/v2/...) without the query string. The WebSocket handshake signs GET /trade-api/ws/v2 the same way. Verified against production 2026-09-26 (signed balance read).

Classes

KalshiSigner

headers

headers(method: str, path: str) -> dict[str, str]

Headers for one request. path must be the full path, without a query string.