Predexon API
  • Documentation
  • API Reference
Matching
    Get Matching MarketsgetGet Active Exact Matched Pairsget
Kalshi
    Get Kalshi MarketsgetGet Kalshi TradesgetGet Kalshi Orderbook Historyget
Polymarket
    Get Wallet PnlgetGet Wallet PositionsgetGet CandlesticksgetGet Market PricegetGet ActivitygetGet TradesgetGet Polymarket TradesgetGet MarketsgetGet Active MarketsgetGet Market Volume Time SeriesgetGet Market Open Interest Time SeriesgetGet Orderbook Historyget
Other endpoints
    Health Checkget
Schemas
powered by Zudoku
Predexon Data Service API

Matching

Endpoint:https://api.predexon.com

Get Matching Markets

GET
https://api.predexon.com
/v1/matching-markets

Find matching markets across Polymarket and Kalshi platforms.

Provide either a Polymarket market slug OR a Kalshi market ticker (not both).

Important: You must provide exactly one of polymarket_market_slug or kalshi_market_ticker. Providing both parameters simultaneously is not allowed and will result in a 400 Bad Request error.

Returns

  • Exact matches: Markets representing the same event
  • Related matches: Markets for correlated events

Each category is further split by market status (active/closed).

Match Types

Exact Matches

Same underlying event with equivalent resolution criteria. Ideal for arbitrage. Similarity score >= 0.95.

Related Matches

Similar or correlated events (same entity different outcome, or same event different candidate). Useful for hedging and research. Similarity score between 0.90 and 0.95.

Note: The similarity field may be null for matches created before January 4th, 2025.

Finding Market Identifiers

Polymarket Market Slug

Refer to the Polymarket Gamma Markets API documentation for retrieving market slugs.

Note: A market slug is different from an event slug. An event can contain multiple markets, so ensure you're using the correct market-level identifier.

Kalshi Market Ticker

To find a market ticker:

  1. Navigate to any market on Kalshi
  2. Click the Timeline and Payout button on the market page to find the market ticker

Get Matching Markets › query Parameters

polymarket_market_slug
string

Polymarket market slug to find matches for

kalshi_market_ticker
string

Kalshi market ticker to find matches for

Get Matching Markets › Headers

Authorization
string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Get Matching Markets › Responses

Successful Response

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object · requires: query, matches, summary
type = object · requires: query, matches, summary
Properties for Variant 1:
Response for Polymarket market matching query
object · required

Polymarket query information

object · required

Matches grouped by platform

object · required
GET/v1/matching-markets
curl --request GET \
  --url https://api.predexon.com/v1/matching-markets \
  --header 'Authorization: <string>'
shell
Example Responses
{
  "query": {
    "platform": "POLYMARKET",
    "market_slug": "will-lebron-james-win-the-2028-democratic-presidential-nomination",
    "title": "Will LeBron James win the 2028 Democratic presidential nomination?",
    "status": "active"
  },
  "matches": {
    "KALSHI": {
      "exact": [
        {
          "market_ticker": "KXPRESNOMD-28-LJAM",
          "title": "Will Lebron James be the Democratic Presidential nominee in 2028?",
          "yes_subtitle": "Lebron James",
          "status": "active",
          "explanation": "Same entity (LeBron James), same outcome (wins and accepts the 2028 Democratic presidential nomination), same timeframe (2028) — resolves identically.",
          "similarity": 0.97
        }
      ],
      "related": [
        {
          "market_ticker": "KXPRESNOMD-28-ZMAM",
          "title": "Will Zohran Mamdani be the Democratic Presidential nominee in 2028?",
          "yes_subtitle": "Zohran Mamdani",
          "status": "active",
          "explanation": "Same event (2028 Democratic nomination), different candidate (LeBron James vs Zohran Mamdani) — competitive/correlated outcomes.",
          "similarity": 0.93
        },
        {
          "market_ticker": "KXPRESNOMD-28-SAS",
          "title": "Will Stephen A. Smith be the Democratic Presidential nominee in 2028?",
          "yes_subtitle": "Stephen A. Smith",
          "status": "active",
          "explanation": "Same event (2028 Democratic presidential nomination), different candidate (Stephen A. Smith vs LeBron James) — competitive/related outcomes.",
          "similarity": 0.92
        },
        {
          "market_ticker": "KXPRESNOMD-28-RKHA",
          "title": "Will Ro Khanna be the Democratic Presidential nominee in 2028?",
          "yes_subtitle": "Ro Khanna",
          "status": "active",
          "explanation": "Same event (2028 Democratic presidential nomination), different candidate (Ro Khanna vs LeBron James) — competitive/related outcomes.",
          "similarity": 0.91
        },
        {
          "market_ticker": "KXPRESNOMD-28-RGAL",
          "title": "Will Ruben Gallego be the Democratic Presidential nominee in 2028?",
          "yes_subtitle": "Ruben Gallego",
          "status": "active",
          "explanation": "Same event (2028 Democratic presidential nomination), different candidate (Ruben Gallego vs LeBron James) — competitive/related outcomes.",
          "similarity": 0.91
        },
        {
          "market_ticker": "KXPRESNOMD-28-REMA",
          "title": "Will Rahm Emanuel be the Democratic Presidential nominee in 2028?",
          "yes_subtitle": "Rahm Emanuel",
          "status": "active",
          "explanation": "Same event (2028 Democratic presidential nomination), different candidate (Rahm Emanuel vs LeBron James) — competitive/related outcomes.",
          "similarity": 0.9
        }
      ]
    }
  },
  "summary": {
    "total_matches": 6,
    "exact_matches": 1,
    "related_matches": 5,
    "platforms": [
      "KALSHI"
    ]
  }
}
json
application/json

Get Active Exact Matched Pairs

GET
https://api.predexon.com
/v1/matching-markets/pairs

Get all active exact-matched market pairs across Polymarket and Kalshi.

Returns pairs of markets that have been exactly matched, where both markets are currently active. Only returns exact matches (similarity >= 95) - related matches are excluded since one market can have multiple related matches which doesn't fit the pair concept.

This endpoint is useful for discovering arbitrage opportunities across platforms without needing to query individual markets.

Key Differences from Get Matching Markets

AspectGet Matching MarketsGet Active Exact Matched Pairs
InputRequires a specific market slug/tickerNo input required - returns all pairs
Match TypesReturns both exact and relatedOnly exact matches
StatusReturns all statusesOnly active pairs (both markets must be active)
Use CaseLook up matches for a specific marketDiscover all arbitrage opportunities

Notes

  • Similarity scale: 0-100 (not 0-1). A similarity of 97 means 97% match confidence.
  • Pagination: Results are ordered by similarity (highest first). Use pagination_key from the response to fetch the next page.
  • Active pairs only: A pair is only returned if both the Polymarket and Kalshi markets are currently active/open.
  • The similarity field may be null for matches created before January 4th, 2025.

Get Active Exact Matched Pairs › query Parameters

min_similarity
integer · min: 0 · max: 100

Minimum similarity score (0-100). Only returns pairs with similarity >= this value.

limit
integer · min: 1 · max: 50

Maximum number of pairs to return (1-50).

Default: 50
pagination_key
string

Cursor from previous response for pagination.

Get Active Exact Matched Pairs › Headers

Authorization
string · required

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Get Active Exact Matched Pairs › Responses

Successful Response

Response for matched market pairs endpoint
object[] · required
object · required

Cursor-based pagination

GET/v1/matching-markets/pairs
curl --request GET \
  --url https://api.predexon.com/v1/matching-markets/pairs \
  --header 'Authorization: <string>'
shell
Example Responses
{
  "pairs": [
    {
      "POLYMARKET": {
        "market_slug": "will-lebron-james-win-the-2028-democratic-presidential-nomination",
        "title": "Will LeBron James win the 2028 Democratic presidential nomination?"
      },
      "KALSHI": {
        "market_ticker": "KXPRESNOMD-28-LJAM",
        "title": "Will Lebron James be the Democratic Presidential nominee in 2028?",
        "yes_subtitle": "Lebron James"
      },
      "similarity": 97,
      "explanation": "Same entity (LeBron James), same outcome (wins and accepts the 2028 Democratic presidential nomination), same timeframe (2028) — resolves identically."
    }
  ],
  "pagination": {
    "limit": 50,
    "count": 1,
    "pagination_key": "eyJzaW1pbGFyaXR5Ijo5NywicG1fc2x1ZyI6IndpbGwtbGVicm9uLWphbWVzLXdpbi4uLiJ9",
    "has_more": false
  }
}
json
application/json

Kalshi