From ca26f499f7a1c04e1832f0edffd3fcc985832e16 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Mon, 16 Mar 2026 13:30:05 -0700 Subject: [PATCH] Docs: note Kalshi fixed-point migration --- readme | 42 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/readme b/readme index 23adfbb..4df7193 100644 --- a/readme +++ b/readme @@ -1,7 +1,37 @@ -Kalshi bot @ kal.planetrenox.com -JavaScript -Next.js -surrealdb:v2.3.10 -Dokploy -ntfy +Kalshi bot @ kal.planetrenox.com +JavaScript +Next.js +surrealdb:v2.3.10 +Dokploy +ntfy kxbtc15m/bitcoin-price-up-down + +## Kalshi API Compatibility Notes (March 2026) + +Kalshi migrated API payloads from legacy integer-centric fields to fixed-point fields. + +- **March 10, 2026:** fixed-point migration docs updated +- **March 12, 2026:** legacy integer fields removed from API responses (per migration timeline) + +### What changed + +Use these fields when parsing order/fill data: + +- `fill_count_fp` (string) instead of `fill_count` +- `taker_fill_cost_dollars` (string dollars) instead of `taker_fill_cost` (cents) +- `yes_price_dollars` / `no_price_dollars` for price strings +- similar `_fp` / `_dollars` fields across REST + WebSocket + +### Why this matters for Kalbot + +If code only reads legacy integer fields, a real fill can be interpreted as zero fill, causing: +- missing ntfy fill alerts +- position visible on Kalshi but not tracked correctly in local live state + +### Reference docs + +- Fixed-Point Migration: https://docs.kalshi.com/getting_started/subpenny_pricing +- Create Order: https://docs.kalshi.com/api-reference/orders/create-order +- Get Order: https://docs.kalshi.com/api-reference/orders/get-order +- User Orders WS: https://docs.kalshi.com/websockets/user-orders +- User Fills WS: https://docs.kalshi.com/websockets/user-fills