Skip to content

Spec drift: kalshi — outcome_side/book_side replacing direction field (May 28 deadline) #514

Open

Description

@realfishsam

Summary

Kalshi added outcome_side and book_side fields to Order, Fill, and Trade objects on May 6 2026, and has officially deprecated direction. The direction field will be removed on May 28 2026. Our spec and normalizer still use direction.

Impact

CRITICAL — hard breaking deadline of May 28 2026. After that date, direction will not be present in any Order/Fill/Trade response and all order-direction logic will silently fail.

Details

  • New fields: outcome_side (string: "yes" | "no") and book_side (string: "bid" | "ask")
  • Deprecated field: direction (string: "buy" | "sell") — removal date May 28 2026
  • Affected schemas: Order, Fill, Trade in core/specs/kalshi.yaml
  • The semantic mapping: direction: "buy" ≈ buying Yes = outcome_side: "yes", book_side: "bid"

Required Fix

  1. Add outcome_side and book_side to the Order, Fill, and Trade schemas in core/specs/kalshi.yaml
  2. Mark direction as deprecated in the spec
  3. Update the Kalshi normalizer to read outcome_side/book_side with a fallback to direction for any in-flight responses
  4. Remove the direction fallback after May 28 2026 (or immediately if deploying post-deadline)

Activity

  1. realfishsam commented on Sep 4, 2026

    @realfishsam
    ContributorAuthor

    Additional context from duplicate #1188: the outcome_side/book_side gap also applies specifically to the Fill schema, where the deprecated fields are side and action (not direction as stated above) with a May 14, 2026 removal deadline (earlier than the May 28 deadline cited here for direction). Kalshi appears to use different legacy field names per object type (direction on Order, side+action on Fill) that are all being consolidated into the same outcome_side/book_side replacement pair.

    Note: the companion Trade-schema drift (taker_side → taker_outcome_side/taker_book_side/is_block_trade) was already tracked and fixed separately in #1187 (merged via #1282). This issue should be understood as still covering the Order and Fill schema portions of the outcome_side/book_side migration.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions