What does the market think?
What does the market think? Ask any event question in plain English and get the implied probability from live Polymarket and Kalshi prediction markets: per-venue odds, a liquidity-weighted consensus forecast, and a cross-venue divergence flag.
Answeringour last check, 2026-09-24
1 of 1checks answered this week
375 msmedian answer time
$0.015listed price per call
$0.015price 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
POST https://x402.fenixfoundry.com/probability
| Category | Market data |
|---|---|
| Provider host | x402.fenixfoundry.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 3 from 2 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-24 | valid payment request | 402 | $0.015 | 375 ms |
Example input (from the provider)
{
"body": {
"maxMarkets": 4,
"q": "Will the Fed cut rates before September 2026?"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"maxMarkets": {
"default": 6,
"description": "Maximum number of matched markets to aggregate and return (top-K by match quality). Defaults to 6.",
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"q": {
"description": "Natural-language description of the event you want odds for, e.g. \"Will the Fed cut rates before September 2026?\". Matched against Polymarket and Kalshi market questions.",
"maxLength": 500,
"minLength": 3,
"type": "string"
}
},
"required": [
"q"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"asOf": {
"type": "string"
},
"attribution": {
"type": "string"
},
"confidence": {
"description": "0..1 \u2014 match quality x venue coverage x liquidity.",
"type": "number"
},
"divergence": {
"description": "Highest minus lowest venue probability; a large value means the venues disagree.",
"type": [
"number",
"null"
]
},
"markets": {
"description": "Top-K matched markets only, never a bulk market dump.",
"items": {
"properties": {
"closeTime": {
"type": [
"string",
"null"
]
},
"id": {
"description": "Polymarket slug or Kalshi ticker.",
"type": "string"
},
"liquidity": {
"type": [
"number",
"null"
]
},
"matchScore": {
"type": "number"
},
"probability": {
"type": "number"
},
"question": {
"type": "string"
},
"status": {
"enum": [
"open",
"closed",
"resolved"
],
"type": "string"
},
"url": {
"type": "string"
},
"venue": {
"enum": [
"polymarket",
"kalshi"
],
"type": "string"
},
"volume": {
"type": [
"number",
"null"
]
}
},
"required": [
"venue",
"id",
"question",
"url",
"probability"
],
"type": "object"
},
"type": "array"
},
"probability": {
"description": "Liquidity-weighted cross-venue implied probability, 0..1. Null when no market matched.",
"type": [
"number",
"null"
]
},
"query": {
"type": "string"
},
"source": {
"enum": [
"index",
"live"
],
"type": "string"
}
},
"required": [
"probability",
"confidence",
"markets",
"divergence",
"asOf",
"attribution"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}