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.