Overview
Kalshi is migrating from integer to fixed-point contract representation across all APIs to support fractional trading. At this time, all*_fp fields must represent whole contract values (e.g., "10", "10.0", "10.00"), but the fixed-point format supports future fractional precision.
Rollout stages
- Fixed-point fields released (current rollout):
_fpfields are added across APIs;_fpvalues must be whole-number quantities; integer fields are still supported. - Integer fields deprecated (future): integer fields will be deprecated with notice.
- Fractional orders enabled (future, per-market):
_fpvalues may include fractional quantities.
Format
*_fpfields are strings- Accept 0–2 decimal places on input (responses always emit 2 decimals)
- Currently must represent whole values (e.g.,
"10.00", not"10.50") - In requests where both integer and
_fpfields are provided, they must match
Migration
Clients should migrate to using the*_fp fields. The integer count fields will be deprecated with notice in a future stage.
This rollout includes:
- REST API
- WebSockets
- FIX
Preparing for Fractional Trading
Fractional trading will be enabled on a per-market basis. To prepare, consider multiplying the_fp value by 100 internally. For example, treating "1.00" as 100 units of 1c contracts allows continued use of integer arithmetic while supporting future fractional quantities.