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. Grid and conversion: Ticks, pips, and subcents.

The four actions

There is no “short YES” as a separate verb, selling requires inventory. reduce_only refuses any order that would increase exposure. A buy at 4700 costs 4,700 pips (47.00¢) per contract. If that outcome wins, the contract pays 10,000 pips ($1).

Tick does not flip with outcome

A buy-YES at tick 4700 and a buy-NO at tick 4700 are both “47.00¢ for that outcome.” They are not the same book level. A NO bid at 4700 rests opposite a YES ask implied at 5300 (10000 − 4700). 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.