Full cross-venue matched-market clusters. Router only.
const url = 'https://data.predictefy.com/api/polymarket/fetchMatchedMarketClusters?relation=identity&includeRawMatches=false&sort=spread&limit=20&offset=0';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://data.predictefy.com/api/polymarket/fetchMatchedMarketClusters?relation=identity&includeRawMatches=false&sort=spread&limit=20&offset=0' \ --header 'Authorization: Bearer <token>'Projection of the persisted clusters + cluster_members store. Returns delist-stable clusterId values and full UnifiedMarket members. similarity is the stored matcher score, never confidence. volume24h is deliberately OMITTED because the cluster store has no aggregate column; a missing field is not a fabricated zero. No per-cluster relations field is emitted. The relations filter can ask only what verified stores prove: identity membership or subset/superset market_relation_edges; overlap/disjoint return 400 VALIDATION_ERROR. includeRawMatches adds at most 100 pairwise rows per cluster plus rawMatchesTruncated. This stored projection does not implement withOrderbook or a live/order-book overlay. Unknown parameters are ignored.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”One of the 17 product venues, or router for the all-venues union. SX Bet serves catalog reads, real CLOB order books, the public trades tape, tape-derived candles, Trader Intelligence, and public account resources. It has no server execution lane. Its separate client-side SDK trading lane is live as of 2026-07-27. The SX Bet trading wallet must have a registered sx.bet account and betting enabled once per token per network. There is no venue-official history claim. pascal, xo and pred all serve catalog reads and real CLOB order books, plus a public trades tape on pascal only — xo and pred answer 501 NOT_SUPPORTED for fetchTrades. XO’s is a venue property rather than a gap: its trade endpoints are caller-scoped, so no public XO tape exists to serve. Their execution state differs per venue and is no longer uniform. Pascal is ARMED in production for build, submit, and signed cancel permits (armed 2026-08-12; fleet-verified 2026-08-15). XO advertises exactly its registry row — cancel plus the client-credentialed status refresh, with hosted build and submit disarmed. PRED is production-DARKED (2026-08-13) pending the venue’s key model: PRED_EXCHANGE_ADDRESSES is empty, which unregisters the entire lane, so every PRED execution route including build answers 404 VENUE_NOT_SUPPORTED. None of the three has an account or venue-official history lane. GET /v1/exec/venues remains the authoritative live list; this description is not a claim about one deployment’s runtime gates. PredictStreet serves keyless catalog/detail reads and real two-sided CLOB books. Its ADI Chain execution lane is armed for build and submit; it has no server cancel or hosted settlement lane. Predict Street Limited states it operates under Gibraltar licence 167, and FIFA names it the official prediction-market partner of the FIFA World Cup 2026. Venue eligibility and jurisdiction restrictions remain an operator/compliance responsibility. Pascal’s restricted-jurisdiction and API/data clauses are under owner review. PRED restricts the US, UK, France, Ontario, Singapore, Poland, Thailand, and Taiwan and prohibits location masking; pascal is US-restricted at the venue, and XO read access is partner-provided.
Query Parameters
Section titled “Query Parameters”Canonical “{venue}:{marketId}” anchor. Presence enables lookup mode.
Venue market slug. Cross-venue collisions return 400; use marketId.
Title/question substring.
CSV allow-list; the cluster must touch at least one.
CSV deny-list; the cluster must touch none.
Singular alias for relations.
CSV of identity, subset, and/or superset. overlap/disjoint return 400.
Cluster row content-write-time lower bound for identity; edge write-time for typed-only relation filters. Freshness-only matcher refreshes advance asOf (computed_at), not updated_at.
One-based alias for offset; explicit offset wins.
Responses
Section titled “Responses”A cluster-grained page of full matched-market clusters.
object
A delist-stable market cluster. There is deliberately no relations response field: absence is no relation claim. volume24h is deliberately omitted because no stored cluster aggregate exists; member markets retain their own venue-reported volume24h.
object
Delist-stable internal id; never a venue key.
Stored matcher similarity, never confidence.
Indicative stored spread; not executable.
Indicative stored spread; not executable.
object
object
Stable binary side when asserted by the venue; omitted otherwise.
What the numeric price represents at the venue.
venue-composite: Venue-provided composite price whose inputs are not decomposed here.mid: Midpoint of the best bid and best ask.ask: Best ask or equivalent venue buy price.bid: Best bid or equivalent venue sell price.last-trade: Most recent executed trade price.amm-spot: Current AMM spot probability.pool-share: Outcome pool divided by the total parimutuel pool.odds-implied: Probability implied by venue odds.complement: Synthesized as one minus the paired outcome price.
object
Null means the venue publishes no such figure; 0 is a real venue-published zero
Metric-specific provenance for volume24h. venue is published by the venue; derived_cumulative is Predictefy-derived from cumulative snapshots; derived_tape is Predictefy-derived from captured fills. A derived value must carry this field.
Null means the venue publishes no such figure; 0 is a real venue-published zero
Known-absent is null; this key is always emitted for market records.
Known-absent is null; event/parent artwork is distinct from market artwork.
object
object
Stable binary side when asserted by the venue; omitted otherwise.
What the numeric price represents at the venue.
venue-composite: Venue-provided composite price whose inputs are not decomposed here.mid: Midpoint of the best bid and best ask.ask: Best ask or equivalent venue buy price.bid: Best bid or equivalent venue sell price.last-trade: Most recent executed trade price.amm-spot: Current AMM spot probability.pool-share: Outcome pool divided by the total parimutuel pool.odds-implied: Probability implied by venue odds.complement: Synthesized as one minus the paired outcome price.
object
object
Stable binary side when asserted by the venue; omitted otherwise.
What the numeric price represents at the venue.
venue-composite: Venue-provided composite price whose inputs are not decomposed here.mid: Midpoint of the best bid and best ask.ask: Best ask or equivalent venue buy price.bid: Best bid or equivalent venue sell price.last-trade: Most recent executed trade price.amm-spot: Current AMM spot probability.pool-share: Outcome pool divided by the total parimutuel pool.odds-implied: Probability implied by venue odds.complement: Synthesized as one minus the paired outcome price.
object
object
Stable binary side when asserted by the venue; omitted otherwise.
What the numeric price represents at the venue.
venue-composite: Venue-provided composite price whose inputs are not decomposed here.mid: Midpoint of the best bid and best ask.ask: Best ask or equivalent venue buy price.bid: Best bid or equivalent venue sell price.last-trade: Most recent executed trade price.amm-spot: Current AMM spot probability.pool-share: Outcome pool divided by the total parimutuel pool.odds-implied: Probability implied by venue odds.complement: Synthesized as one minus the paired outcome price.
object
object
Stable binary side when asserted by the venue; omitted otherwise.
What the numeric price represents at the venue.
venue-composite: Venue-provided composite price whose inputs are not decomposed here.mid: Midpoint of the best bid and best ask.ask: Best ask or equivalent venue buy price.bid: Best bid or equivalent venue sell price.last-trade: Most recent executed trade price.amm-spot: Current AMM spot probability.pool-share: Outcome pool divided by the total parimutuel pool.odds-implied: Probability implied by venue odds.complement: Synthesized as one minus the paired outcome price.
object
object
Venue-rest — per-request REST via the venue adapter (all 16 venues; the default stamp). predictefy-live — served from the live WebSocket hub or live order book; SX Bet overlay-bridge rows use this explicit source. fixture — offline sample data, never production venues. overlay — a serve-time catalog price overlay replaced the stored snapshot price for a fresh price-refresher entry.
Market capability flags. history is true only when Predictefy’s history coverage for the venue is proven under docs/history-coverage.md; it is independent of venue-native history endpoints and the hosted fetchOHLCV route’s availability.
object
True when the venue exposes real order-book depth rather than an emulated or synthetic top-of-book (such as a single level synthesized from spot price, AMM pool, parimutuel odds, or P2P offer odds). Does not imply tradeable.
Clusters.computed_at; data-as-of, never live.
object
Venue-rest — per-request REST via the venue adapter (all 16 venues; the default stamp). predictefy-live — served from the live WebSocket hub or live order book; SX Bet overlay-bridge rows use this explicit source. fixture — offline sample data, never production venues.
object
Canonical markets.id endpoint.
Canonical markets.id endpoint.
Present with rawMatches; true when more than 100 verified pairs exist.
object
Present on archive-backed trade pages; earliest/latest archived trade for this outcome.
object
object
Present when page.total came from the exact background totals matrix.
Present if and only if page.total is null, explaining why the total is missing. Distinguishes “nothing matched” (total 0) from “your page was served but its matches were not counted” (total null).
object
Venue-rest — per-request REST via the venue adapter (all 16 venues; the default stamp). predictefy-live — served from the live WebSocket hub or live order book; SX Bet overlay-bridge rows use this explicit source. fixture — offline sample data, never production venues.
object
Total matching rows, or null when the total was NOT computed — never a fabricated 0. The data page is the product and the count is metadata, so routes may warm an exact total off-request or abandon a count that exceeds its short budget while the page is still served. null is always accompanied by meta.totalUnavailable, which says why; use hasMore / nextCursor to walk the result set.
Whether another page exists. Determined by fetching one row beyond the requested limit, so it stays correct even when total is null.
Opaque cursor for the next page. Omitted on the final page.
Example
{ "data": [ { "markets": [ { "outcomes": [ { "side": "yes", "priceBasis": "venue-composite" } ], "volume24hSource": "venue", "yes": { "side": "yes", "priceBasis": "venue-composite" }, "no": { "side": "yes", "priceBasis": "venue-composite" }, "up": { "side": "yes", "priceBasis": "venue-composite" }, "down": { "side": "yes", "priceBasis": "venue-composite" }, "provenance": { "source": "venue-rest" } } ], "provenance": { "source": "venue-rest" }, "rawMatches": [ { "relation": "identity" } ] } ], "meta": { "provenance": { "source": "venue-rest" } }}Enveloped error.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Enveloped error.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Enveloped error.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Enveloped error.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Enveloped error.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Enveloped error.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Enveloped error.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}Enveloped error.
object
object
Always present on errors; quote this id when reporting a failed request.
Present only when a venue error is attributed to a specific exchange.
Example
{ "success": false, "error": { "code": "VALIDATION_ERROR" }}