Trading

What Is a Synthetic Book?

KairosAugust 21, 20264 min read

Quick answer

A synthetic book is a live order book for a package of prediction market outcomes. Instead of showing liquidity for one outcome, it shows the price and quantity available for trading every leg of a weighted formula together, without pretending a multi-venue package is a single atomic trade.

The formula

S = w1*A + w2*B + ... + wn*N

Each leg identifies one tradeable outcome and carries a signed weight. A positive weight means buying that outcome when buying the synthetic. A negative weight means selling it. The absolute weight controls how much of the outcome one synthetic unit uses. Synthetic books are useful for comparing equivalent markets across venues, isolating a price range, tracking logical relationships, and pricing weighted baskets.

How bids and asks combine

For the spread S = A - B: ask(S) = ask(A) - bid(B) and bid(S) = bid(A) - ask(B)

The B leg uses the opposite side of its book because buying A minus B means buying A and selling B. Each side of the synthetic quote is built from the side of each underlying book you would actually hit to assemble the package.

Consuming a live synthetic book

The public WebSocket is subscription-only: it accepts a canonical synthetic_id, not a formula. Formula creation is available to provisioned Synthetic Books integrations. If your onboarding materials do not include the definition API URL and credentials, contact Kairos before implementing the creation step, and do not attempt to derive a synthetic_id locally. The stream tutorial in the interactive docs covers the protobuf schema, subscription format, delta handling, and recovery rules.

Frequently asked questions

Comparing equivalent markets across venues, isolating a price range within a multi-outcome event, tracking logical relationships between contracts, and pricing weighted baskets, all as one live quoted book.
Formula creation is currently limited to provisioned Synthetic Books integrations. The public WebSocket only subscribes to existing canonical synthetic_ids. Contact Kairos for provisioning.

Related reading