Skip to main content

Documentation Index

Fetch the complete documentation index at: https://pmxt.dev/docs/llms.txt

Use this file to discover all available pages before exploring further.

Given a market on any venue, find semantically equivalent or related markets on every other venue PMXT ingests. Each match comes with a relation type, confidence score, and reasoning.

fetchMarketMatches

import pmxt

router = pmxt.Router(pmxt_api_key="pmxt_live_...")

matches = router.fetch_market_matches(market_id="d35bc8c6-...", min_confidence=0.8)

for m in matches:
    print(m.relation, m.confidence, m.market.title)
    print(f"  best bid: {m.best_bid}  best ask: {m.best_ask}")

Parameters

ParameterTypeDefaultNotes
marketIdstringInternal PMXT market ID.
slugstringMarket slug (alternative to marketId).
urlstringMarket URL on the source venue (alternative to marketId).
relationstringFilter to a specific relation type (see below).
minConfidencenumberOnly return matches above this threshold (0–1).
limitintegerMax matches to return.
includePricesbooleanfalseAttach live bestBid / bestAsk to each match.
Provide one of marketId, slug, or url. The Router resolves the market and searches every other venue for matches.

Response shape

{
  "market": { "marketId": "...", "title": "...", "outcomes": [...] },
  "relation": "identity",
  "confidence": 0.95,
  "reasoning": "Same resolution condition: will BTC exceed $100k by Dec 31.",
  "bestBid": 0.60,
  "bestAsk": 0.65
}

Relation types

Every match is classified into one of five set-theoretic relations describing how two markets’ resolution conditions relate:
RelationMeaningExample
identitySame resolution condition.”BTC > $100k by Dec 31” on Polymarket and Kalshi.
subsetA resolving YES implies B resolves YES, not vice versa.”Democrats win presidency” (A) ⊂ “Democrats win popular vote” (B).
supersetB resolving YES implies A resolves YES, not vice versa.”Anyone wins popular vote” (A) ⊃ “Democrats win popular vote” (B).
overlapRelated, but neither implies the other.”Fed cuts in June” vs “Fed cuts in 2025” — June is a subset of 2025, but a cut in September would satisfy B without A.
disjointCannot both resolve YES.”Democrats win” vs “Republicans win” the same election.
Filter to a specific relation with the relation parameter:
# Only identity matches (same market, different venue)
matches = router.fetch_market_matches(market_id="...", relation="identity")

# Only subset/superset (see fetchRelatedMarkets for a dedicated method)
matches = router.fetch_market_matches(market_id="...", relation="subset")
To match an entire event and all its child markets at once, see Find Similar Events.