x402-factory
GET x402-factory.com/v1/odds/compare/:slug
Why an agent can trust this route.
Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.
Observed outcomes
Per-venue implied vs vig-adjusted odds with summarized depth for one market — Venue-by-venue comparison for a market: implied probability, vig-adjusted probability (overround removed via the quoted book), summarized depth near the touch, plus the cross-venue spread and a disagreement flag when it exceeds 5 points.
Resource: x402-factory.com/v1/odds/compare/republicans-hold-house-midterms-2026-11
Network: eip155:8453 · Asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 · Pay to: 0xCc42Ed39a06b6cF3f484307eF76B88Bf56Fb305f
Payment methods: — · Last validation: 2026-09-14 16:45:05.168+00
{
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"pathParams": {
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
}
}
},
"queryParams": {
"type": "object",
"properties": {}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "object",
"required": [
"per_venue",
"venue_spread",
"disagreement_flag"
],
"properties": {
"per_venue": {
"type": "array",
"items": {
"type": "object",
"required": [
"venue",
"implied_p",
"vig_adjusted_p",
"depth_within_1c_usd",
"depth_within_5c_usd"
],
"properties": {
"venue": {
"enum": [
"kalshi",
"polymarket"
],
"type": "string"
},
"implied_p": {
"type": "number",
"maximum": 1,
"minimum": 0
},
"vig_adjusted_p": {
"type": "number",
"maximum": 1,
"minimum": 0
},
"depth_within_1c_usd": {
"type": "number"
},
"depth_within_5c_usd": {
"type": "number"
}
},
"additionalProperties": false
}
},
"venue_spread": {
"type": "number",
"maximum": 1,
"minimum": 0
},
"disagreement_flag": {
"type": "boolean"
}
},
"additionalProperties": false
},
"meta": {
"type": "object"
}
}
}
}
},
"paymentRequirements": [
{
"raw": {
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xCc42Ed39a06b6cF3f484307eF76B88Bf56Fb305f",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 120
},
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0xCc42Ed39a06b6cF3f484307eF76B88Bf56Fb305f",
"scheme": "exact",
"network": "eip155:8453",
"amountAtomic": "20000"
}
]
}Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.