The data model
Every venue lists its own copy of a real-world question. AGG stores each venue’s listing and links equivalent ones together.
You trade an outcome. Quotes, direct orders, and limit orders all take a
venueMarketOutcomeId. Orderbook and midpoint reads take the market id or the outcome id,
depending on the route. The two are not interchangeable.
Each object also carries externalIdentifier, the venue’s own id (a Kalshi ticker, a Polymarket
token id). Use it to look up AGG ids from venue ids.
Market status is one of unopened, paused, open, closed, or resolved. Only open
markets can be traded. How a closed or resolved market pays out, including splits and voids, is
covered in Market resolution & voids.
Find a market to trade
data[] carries venueMarketOutcomes[]. Take the outcome’s id. Prices are not
on the listing; read them from GET /midpoints or a quote. For full filters and search modes see
Building market views and the
List venue markets reference.
Matching across venues
AGG links listings of the same event on different venues into a matched cluster. Discovery returns the cluster already assembled, so you do not match markets yourself.GET /venue-eventsreturns one row per cluster, the anchor event. Use itsidas your cross-venue key.matchedVenueEvents[],matchedVenueMarkets[], andmatchedVenueMarketOutcomes[]list the same event, market, or outcome on the other venues.venues[]andvenueCountsummarize which venues list it.
fills[]. See Quotes & smart routing.
aggKey
aggKey is a deterministic key computed from a venue’s own data, on events and markets. It is a
convenient filter for fetching every venue’s row for one contract. It is not the cross-venue
join key: it is null on many markets, and two members of one cluster can carry different keys.
Join on the cluster instead.
Settlement can differ
Venues do not always settle the same question the same way, for example on timing or on a cancelled match.GET /venue-events/:id returns a per-venue breakdown of those differences. Show
it before users trade across venues.
Guides
Matched clusters
Anchors, members, which id to join on, and why a cluster can look empty.
Look up by venue identifier
Resolve a Kalshi ticker or Polymarket token id to the full cluster.
aggKey
Fetch every venue’s row for one contract with one key.
Settlement key differences
Show how each venue settles a matched market.