Skip to main content
Prefer WebSocket for order submission. Placing and cancelling orders over the persistent /ws socket is lower-latency (one round trip instead of the REST submit/poll pair) and simpler to build: one connection, one auth handshake, and pushed order_update/fill events instead of polling. See Order Execution over WebSocket.
Kairos provides a unified order entry layer that abstracts the differences between venue order models. You submit orders through a single Execution API, and Kairos handles the translation, routing, and signature requirements for each underlying venue. This page covers how orders are structured, how they move through their lifecycle, and how to cancel them when needed.

Order Types

Kairos supports two fundamental order types across prediction market venues:

Limit Orders

You specify a maximum buy price or minimum sell price. The order rests on the order book until it matches or you cancel it. Most prediction market venues only support limit orders.

Market Orders

You accept the best available price immediately. Market orders fill against the existing book and do not rest. Availability depends on venue capabilities — check supports_market_orders before submitting.

Key Order Fields

Every order you submit includes a standard set of fields. The table below describes each one:

Example Order Payload

Submit it with POST /orders:

Order Lifecycle

Once submitted, an order moves through the following states:
1

Open

The order has been accepted by the venue and is resting on the order book, waiting for a counterparty at your price.
2

Partially Filled

Some — but not all — of your requested size has been matched. The unfilled remainder continues to rest on the book (for GTC orders).
3

Filled

The full order size has been matched. Your position is updated and collateral is debited/credited accordingly.
4

Cancelled

The order was removed from the book — either by you explicitly, by a cancel-all call, or because it expired (IOC/FOK with no fill).

Checking Order Status

Fetch a single order by its Kairos-assigned ID:
List all your open orders with GET /orders.

Fee Quotes

Before submitting an order, request a combined platform + venue fee quote so you know the exact cost:
Always fetch a fee quote before displaying a trade confirmation UI to your users. Fees vary by venue and can differ between maker and taker.

Hosted vs Self-Custody Execution

Kairos offers two execution modes for on-chain venues (Polymarket, Predict.fun, Opinion):
Kairos holds signing keys on your behalf. You call POST /orders and Kairos signs and submits the on-chain transaction for you. This is the simplest integration path.

EIP-712 Signing

For self-custody orders, Kairos returns a structured EIP-712 typed data object from /v2/orders/intent. Sign it with your wallet using eth_signTypedData_v4 and pass the resulting hex signature to /v2/orders/submit.
EIP-712 signing keeps your private key off Kairos servers entirely. The signature is mathematically bound to the exact order parameters — it cannot be modified after signing.

Cancelling Orders

Cancel a single order

Cancel a specific set of orders atomically

Use POST /orders/cancel-batch to cancel multiple order IDs in a single atomic operation at the routing layer:

Cancel all open orders on a venue

cancel-all cancels every open order you have on the specified exchange. There is no undo. Confirm the exchange value carefully before calling this endpoint.

Cross-Venue Routing

When the same market exists on multiple venues (e.g., matched on both Polymarket and Kalshi), Kairos can split your order across both legs automatically. This lets you fill larger sizes than any single venue’s book can absorb. Step 1 — Price the route:
The response shows the expected fill price and per-leg breakdown. If the route looks good, execute it: Step 2 — Execute the routed buy:
Use GET /orders/routes to list your open routed parent orders and track each leg’s fill status.

Synthetic Books

Kairos can create a Synthetic Book — a virtual order book that combines liquidity across multiple related markets or venues. Synthetic books are useful for cross-venue arbitrage strategies and unified pricing views. Create or join a Synthetic Book definition with POST /v1/synthetics. Inspect an existing one with GET /v1/synthetics/{synthetic_id}. Leases expire and must be refreshed with POST /v1/synthetics/subscriptions/{subscription_id}/refresh.

Combos and Parlays

For Polymarket, Kairos supports combo orders — multi-leg parlays where you take a position on multiple independent outcomes simultaneously. Get a quote without executing with POST /combo/quote, then execute with POST /combo/execute. Manage open positions with GET /combo/positions.

Current Position Exposure

Check your live position exposure across all open orders and fills: