Pay-per-call JSON feed of cross-platform arbitrage opportunities between Polymarket and Kalshi.
What it does
This x402-gated endpoint scans prediction markets on Polymarket and Kalshi, identifies matched events, and returns actionable arbitrage opportunities where buying complementary positions across the two platforms yields a guaranteed profit. The API is charged only when actionable opportunities are found, paying up to 0.25 USDC per request on the Base network.
Each opportunity in the response includes full details for both the Polymarket and Kalshi legs: current yes/no ask prices, liquidity, expiry dates, price source (CLOB or snapshot), and the computed total cost, profit amount, and profit percentage. A match-quality indicator shows whether the cross-platform pairing was found via exact or fuzzy matching, along with a confidence score. The response also includes metadata such as the applied minimum-profit filter and an ISO 8601 timestamp.
Callers can tune results with two optional query parameters: `limit` (1–3, controlling how many opportunities are returned) and `min_profit` (a percentage threshold, e.g. 1 for 1%). The endpoint accepts POST for the x402 payment flow. The upstream API also exposes health-check, rule-based matching update, and LLM-based matching trigger endpoints, though only the opportunities feed is payment-gated.
Capabilities
Use cases
- —Automated agents scanning for risk-free prediction-market arbitrage trades
- —Portfolio tools alerting users when cross-platform price discrepancies exceed a threshold
- —Research dashboards tracking prediction-market efficiency across Polymarket and Kalshi
- —Trading bots that execute matched yes/no positions across platforms for guaranteed profit
Fit
Best for
- —Agents or bots that need structured, machine-readable arbitrage signals
- —Traders looking for guaranteed-profit opportunities across Polymarket and Kalshi
- —Quantitative researchers studying prediction-market price efficiency
Not for
- —Users needing arbitrage across platforms other than Polymarket and Kalshi
- —Anyone looking for free, unlimited market data feeds without per-call payment
- —Execution or order-placement — this endpoint only identifies opportunities
Quick start
curl -X POST "https://arb.axryl.com/opportunities/json?limit=2&min_profit=1" \
-H "X-PAYMENT: <x402-payment-header>"Example
Request
{
"url": "https://arb.axryl.com/opportunities/json?limit=2&min_profit=1",
"method": "POST",
"headers": {
"X-PAYMENT": "<x402-payment-header>"
}
}Response
{
"minProfit": 1,
"opportunities": [
{
"match": {
"score": 0.92,
"method": "fuzzy"
},
"profit": 0.05,
"minNoAsk": 0.33,
"minYesAsk": 0.62,
"totalCost": 0.95,
"polyMarket": {
"id": "0xabc123",
"noAsk": 0.4,
"yesAsk": 0.62,
"noLabel": "No",
"question": "Will BTC exceed $100k by July 2025?",
"yesLabel": "Yes",
"liquidity": 125000,
"expiryDate": "2025-07-01T00:00:00Z",
"priceSource": "clob",
"daysUntilExpiry": 45
},
"minNoSource": "Kalshi",
"kalshiMarket": {
"noAsk": 0.33,
"title": "Bitcoin above $100,000 on July 1?",
"ticker": "BTC-100K-JUL25",
"yesAsk": 0.65,
"noLabel": "No",
"yesLabel": "Yes",
"liquidity": 80000,
"expiryDate": "2025-07-01T00:00:00Z",
"priceSource": "clob",
"daysUntilExpiry": 45
},
"minYesSource": "Polymarket",
"earliestExpiry": "2025-07-01T00:00:00Z",
"priceTimestamp": "2025-05-16T12:00:00Z",
"profitPercentage": 5.26,
"daysUntilEarliestExpiry": 45
}
],
"opportunityCount": 1,
"responseGeneratedAt": "2025-05-16T12:00:01Z"
}Endpoint
Quality
The x402 challenge is live and includes a detailed outputSchema covering both input parameters and full response structure. No formal OpenAPI doc or dedicated documentation page exists, but the schema is rich enough to fully describe the API. Pricing is clear from the challenge (max 0.25 USDC on Base). Minor deductions for missing dedicated docs and no usage examples from the provider.
Warnings
- —No dedicated documentation page exists (/docs returns 404)
- —No OpenAPI spec or AI plugin manifest found
- —Example response is synthetic — no real response sample was captured from the provider
- —Prediction-market arbitrage may involve regulatory considerations depending on jurisdiction
Citations
- —Endpoint returns 402 with x402 payment challenge on POSThttps://arb.axryl.com/opportunities/json
- —Max payment is 250000 units (0.25 USDC) on Base network using USDC contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913https://arb.axryl.com/opportunities/json
- —API root lists endpoints including GET /opportunities/json, GET /health, POST /update/all, and POST /match/llmhttps://arb.axryl.com
- —Description states charged only when actionable opportunities are returnedhttps://arb.axryl.com/opportunities/json
- —Output schema includes query params limit (1-3) and min_profithttps://arb.axryl.com/opportunities/json