Skip to main content
Omnibook orders use side × outcome × tick-in-own-outcome-space. That is deliberate: one price field, four user actions, and no shorting concept. The matcher normalizes to YES-space internally. You always quote in the outcome you named.

The four actions

There is no “short YES” as a separate verb — selling requires inventory. reduce_only refuses any order that would increase exposure.

Tick does not flip with outcome

A buy-YES at tick 47 and a buy-NO at tick 47 are both “47¢ for that outcome.” They are not the same book level. A NO bid at 47 rests opposite a YES ask implied at 53 (100 − 47). See Orderbook responses.

How fills report direction

On your fills and the public tape, direction is the taker’s (or your own order’s) origin:

Why not Kalshi’s bid/ask vocabulary?

Kalshi is migrating toward outcome_side + book_side (bid≡yes, ask≡no) to escape a legacy two-price shape. Omnibook never had that shape — side and outcome map 1:1 onto the core NEW_ORDER message. New integrations should use the table above; there is no deprecated action/is_yes layer to migrate off.