Exchange
kalshi
Severity
MEDIUM
What Our Normalizer Expects
The kalshi normalizer does not access collateral_return_type from raw event objects. The field is not declared in the KalshiRawEvent TypeScript interface and is not mapped to any unified field.
What The Live API Returns
The live events endpoint (GET /trade-api/v2/events) returns:
events[].collateral_return_type: string
This field determines how collateral is returned to participants upon market settlement (e.g., proportional, winner-take-all, refund on void).
Impact
- Normalized kalshi events carry no information about collateral return behavior
- Consumers cannot correctly model expected returns or risk exposure without knowing how collateral is returned on settlement
- Particularly important for voided or ambiguous market resolution scenarios
Suggested Fix
- Add
collateral_return_type?: string to the KalshiRawEvent interface
- Surface it on normalized events (e.g., in
sourceMetadata or as a dedicated field)
Found by automated response shape drift audit
Exchange
kalshi
Severity
MEDIUM
What Our Normalizer Expects
The kalshi normalizer does not access
collateral_return_typefrom raw event objects. The field is not declared in theKalshiRawEventTypeScript interface and is not mapped to any unified field.What The Live API Returns
The live events endpoint (
GET /trade-api/v2/events) returns:This field determines how collateral is returned to participants upon market settlement (e.g., proportional, winner-take-all, refund on void).
Impact
Suggested Fix
collateral_return_type?: stringto theKalshiRawEventinterfacesourceMetadataor as a dedicated field)Found by automated response shape drift audit