ToolAssay

Cross-platform arbitrage detection between Polymarket and Kalshi

Cross-platform arbitrage detection between Polymarket and Kalshi: matched markets, price spreads, fee-adjusted EV. Coverage: liquid Polymarket markets in politics/geopolitics/elections/tech/economy/finance; low-volume long-tail, sports, culture, and weather are not included.

Answeringour last check, 2026-09-24
1 of 1checks answered this week
631 msmedian answer time
$0.01listed price per call
$0.01price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

GET https://polynews.news/api/v1/arbitrage

CategoryMarket data
Provider hostpolynews.news
Networkseip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days2 from 2 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.01 631 ms

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "category": "politics",
    "limit": "50"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "category": {
              "type": "string"
            },
            "limit": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "data": {
              "properties": {
                "matchedMarkets": {
                  "type": "number"
                },
                "opportunities": {
                  "items": {
                    "properties": {
                      "arbitrage": {
                        "description": "Fee-adjusted arb calc",
                        "properties": {
                          "confidence": {
                            "description": "high | medium | low",
                            "type": "string"
                          },
                          "impliedProfit": {
                            "description": "Fee-adjusted EV",
                            "type": "number"
                          },
                          "spreadNet": {
                            "description": "After fees",
                            "type": "number"
                          },
                          "spreadRaw": {
                            "type": "number"
                          },
                          "type": {
                            "description": "e.g. BUY_YES_POLY_NO_KALSHI",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "kalshiTitle": {
                        "type": "string"
                      },
                      "kalshiYesAsk": {
                        "type": "number"
                      },
                      "matchConfidence": {
                        "type": "number"
                      },
                      "polymarketQuestion": {
                        "type": "string"
                      },
                      "polymarketYesPrice": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON