Quote
Simulate a cross-venue fill for a predexon_id without placing an order
Overview
Simulate filling a single logical order across every routed venue that lists the outcome identified bypredexonId. The router expands the supplied canonical predexon_id to every routed venue listing for that outcome, walks merged fee-inclusive order books, and returns the projected fill price, per-venue breakdown, and fill likelihood.
No order is placed. Quote uses the same routing engine as Place Market Order, so a quote taken immediately before an order is a reliable preview of what the order will do.
See the Order Router concept page for an end-to-end walkthrough of how the router decides which venues to route to.
Path Parameters
| Param | Type | Description |
|---|---|---|
accountId | string | Trading account ID. Must belong to the calling API key. See the Trading API accounts docs for how to create and fund one. |
Query Parameters
| Param | Type | Required | Description |
|---|---|---|---|
predexonId | string | Yes | Canonical predexon_id for the outcome. The router expands it to every routed venue listing for that outcome. |
side | string | Yes | buy or sell. |
amount | number | Required on buy | USD/stablecoin notional to spend. Must be finite and > 0. Must not be set on sell. |
size | number | Required on sell | Number of shares to sell. Must be finite and > 0. Must not be set on buy. |
Response Fields
Top level
| Field | Type | Description |
|---|---|---|
predexonId | string | Echoes the request predexonId. |
title | string | Human-readable outcome label. |
outcome | string | Canonical outcome code (e.g. "atl", "draw"). |
side | string | Echoes the request side. |
requestedAmount | string? | Echo of the request amount. Present on buy quotes; null on sell quotes. |
requestedSize | string? | Echo of the request size. Present on sell quotes; null on buy quotes. |
venues[] | array | One entry per actionable venue — venues the router could currently route to. Venues without a live streaming book are excluded from the array. |
summary | object? | Aggregate projected fill. null when no venue could host any portion of the order. |
Venue entry
| Field | Type | Description |
|---|---|---|
venue | string | polymarket, predict, opinion, or limitless. |
hasPosition | boolean | Sell quotes only — true when the account already holds a position on this venue that can be sold. |
positionSize | string? | Size of the existing position on this venue. null when hasPosition is false (or on buy quotes). |
bestPrice | string | Top-of-book price on the relevant side. |
estimatedFillPrice | string? | Projected volume-weighted average fill price on this venue. null when no fill is projected here. |
estimatedFillSize | string? | Projected shares filled on this venue. null when no fill is projected. |
availableLiquidity | string | Sum of depth on the relevant side, expressed in shares. |
feeBpsAtTop | number | Effective venue fee at top of book, in basis points. May be fractional (e.g. 24.6975). Price-aware — the same venue can return different fees at different price levels. |
Summary
| Field | Type | Description |
|---|---|---|
estimatedAvgPrice | string | Projected volume-weighted fill price across all venues. |
estimatedTotalSize | string | Projected total shares filled across all venues. |
fillLikelihood | string | high (liquidity > 2× requested), medium (> 1× and ≤ 2×), or low (≤ 1×). |
venueBreakdown[] | array | One entry per venue expected to receive allocation. |
venueBreakdown[].venue | string | |
venueBreakdown[].size | string | Projected shares on this venue. |
venueBreakdown[].price | string | Projected price on this venue. |
Errors
Every error response includes a machine-readableerrorCode alongside the human-readable error string.
| Status | errorCode | When |
|---|---|---|
400 | parse_error | Missing or invalid predexonId, side, amount, or size. |
404 | predexon_not_routable | No routed venue carries the supplied predexonId. |
503 | registry_unavailable | Routing registry is temporarily unavailable. Retry with exponential back-off. |
Example
GET /api/accounts/acc_8f2e/router/quote?predexonId=px-uvtpjis2k7bj&side=buy&amount=10
bestPrice but a higher feeBpsAtTop can lose to a nominally worse venue with a thinner fee. feeBpsAtTop is price-aware, so different levels of the same book can surface different basis-point values.venues[] lists only venues the router can actionably route to right now. Venues without a streaming book (infrastructure dropouts) are excluded from the response. The number of entries is therefore the count of routable venues for this outcome, not the size of the cross-venue equivalence set.Authorizations
Trading key provided by Predexon. The data key used by the Sports Discovery API on api.predexon.com is a separate credential.
Path Parameters
Account ID. Must belong to the calling API key.
Query Parameters
Canonical predexon_id for the outcome. The router expands this to every routed venue listing for that canonical outcome.
Order side.
buy, sell USD/stablecoin notional to spend. Required when side=buy. Must not be set when side=sell.
Number of shares to sell. Required when side=sell. Must not be set when side=buy.
Response
Quote simulated successfully.
Echoes the request predexonId.
Human-readable outcome label (e.g. "Atlanta Hawks").
Canonical outcome code (e.g. "atl", "draw").
buy, sell Echo of the amount query parameter (stringified number). Present on buy quotes; null on sell quotes.
Echo of the size query parameter (stringified number). Present on sell quotes; null on buy quotes.
One entry per actionable venue — venues the router cannot currently route to (no book, or a disconnected feed) are excluded from the array entirely.
Aggregate projected fill. null when no venue could host any portion of the order.
