⚠ Nothing on this page is callable Design preview. Private perps data and execution are not currently available from Kairos. The canonical v2 schema defines no order, fill, or position message; the only position concept it carries is theThis page describes how Kairos intends to model private trading state for perpetuals: position episodes, immutable order and fill events, and the projections built from them. Orders, fills, and positions describe different facts. Kairos stores immutable venue events for audit and builds current projections for fast reads.PositionSideenum used by public liquidation events, which are themselves unpublished. The public perpetual market-data surface is live in production behindPERPETUALS_PUBLIC_API_ENABLED, but enabling that flag did not make this page callable in any environment. See Overview.
Position episodes
A position episode begins when exposure moves from flat to non-zero and ends when it returns to flat. A later position in the same instrument is a new episode. This allows realized PnL, funding, fees, and liquidations to be tied to the exposure that produced them. A position can include:- signed native quantity and explicit unit
- long, short, or venue-specific side representation
- entry, mark, and liquidation prices by type
- unrealized and realized PnL
- leverage and margin mode
- isolated collateral where applicable
- venue and Kairos position identifiers
- authoritative observation time and revision
Orders
The current order projection contains the latest accepted state. An immutable order-event history records submissions, acknowledgements, amendments, cancellations, rejections, expirations, and other venue transitions. Order fields include exact price and quantity, side, type, time in force, reduce-only state, client and venue IDs, filled quantity, and rejection detail when present. Venue-only instructions remain namespaced extensions until a common semantic is proven. Client order IDs and idempotency keys are scoped to the trading account. Retries reuse the same idempotency identity.A timeout is an unknown outcome, not proof that the venue rejected the
order. Resolve it by reading state back, not by assuming failure.
Fills
Fills are immutable execution facts. They include:- account and instrument
- order and trade identifiers where available
- exact price, native quantity, and unit
- liquidity role when supplied
- fee amount and fee asset
- realized PnL attribution when supplied
- event and receive times
The Hyperliquid HyperCore fills Kairos already decodes are public
prints, not account fills. They carry no account, no liquidity role, no
fee, and no realized PnL, and their liquidation attribution is recorded as
unknown. They belong to the
trade model,
not to this page. Do not mistake them for private execution data.
