UMA resolution dispute and flip base rates by category and criterion clarity; descriptive
UMA resolution dispute and flip base rates by category and criterion clarity; descriptive historical compatibility, not a market-specific forecast. BEFORE YOU PAY: free substitute https://dash.polym.uk/uma-base-rates.json and https://dash.polym.uk/uma-flip-rate.json. THIS ADDS: The two artifacts joined into one response, dispute axis and flip axis already aligned by category. The underlying numbers are the same ones in those two free files.
50000 (raw units)
price
14
calls / 30d
8
unique payers
2026-09-17
updated
Provider
api.polym.uk · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x7b13107779CfDA1bEba3289d0Fbe27310436f3E3",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "50000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {},
"type": "http"
},
"output": {
"example": {
"asOf": "2026-08-31T11:03:16.092Z",
"byCategory": [
{
"category": "Geopolitics",
"disputeInsufficientSample": false,
"disputeRatePctChronological": 2.3,
"disputeRatePctHighVolume": 35.2,
"elevated": true,
"flipInsufficientSample": false,
"flipRatePct": 8,
"lockupHoursIfDisputed": 119,
"lockupHoursPerMarket": 42
}
],
"caveats": [
"SHOWCASE, NOT THE PAID RESPONSE: what you see is one category row of the base-rate table. byCategory is cut to 1 of the 6 rows this response carried. clarity and flipOverall are the aggregate over the whole response, so they are null here and populated in a paid response. Nothing is masked or invented: every value is a dated measurement, kept so you can read the shape, the units and the field semantics. The schema published beside it is complete; a paid call returns the complete set.",
"EXAMPLE ONLY: a paid response captured from api.polym.uk on 2026-09-01, then frozen. A live response carries its own asOf and current values.",
"Category BASE RATE, not a forecast for any specific market. On-chain and Gamma fact, not an accusation.",
"Dispute: two samples. The absolute figure varies several-fold; the signal is the relative RANK. Flip and clarity cells are small and directional, and insufficientSample is flagged when so.",
"Category is a title heuristic and 'Other' is the residual bucket. DVM vote concentration is deferred: cited from press coverage, not recomputed here."
],
"clarity": null,
"dataDegraded": false,
"elevatedRiskCategories": [
"Geopolitics"
],
"flipAsOf": "2026-08-31T11:56:03.265Z",
"flipOverall": null,
"howToRead": "TWO axes per category: dispute (how often markets like this are disputed at UMA) by flip (when disputed, how often the outcome REVERSES). Flip often INVERTS the dispute ranking. clarity: a title that states a checkable threshold is disputed less often than one that does not, and this is orthogonal to category. Read from the TITLE only; the resolution rules are not read."
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"additionalProperties": false,
"properties": {
"asOf": {
"format": "date-time",
"type": "string"
},
"byCategory": {
"items": {
"additionalProperties": false,
"properties": {
"category": {
"type": "string"
},
"disputeInsufficientSample": {
"type": "boolean"
},
"disputeRatePctChronological": {
"maximum": 100,
"minimum": 0,
"type": [
"number",
"null"
]
},
"disputeRatePctHighVolume": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"elevated": {
"type": "boolean"
},
"flipInsufficientSample": {
"type": "boolean"
},
"flipRatePct": {
"maximum": 100,
"minimum": 0,
"type": [
"number",
"null"
]
},
"lockupHoursIfDisputed": {
"minimum": 0,
"type": [
"number",
"null"
]
},
"lockupHoursPerMarket": {
"minimum": 0,
"type": [
"number",
"null"
]
}
},
"required": [
"category",
"disputeRatePctHighVolume",
"disputeRatePctChronological",
"disputeInsufficientSample",
"elevated",
"lockupHoursPerMarket",
"lockupHoursIfDisputed",
"flipRatePct",
"flipInsufficientSample"
],
"type": "object"
},
"type": "array"
},
"caveats": {
"items": {
"type": "string"
},
"type": "array"
},
"clarity": {
"additionalProperties": false,
"properties": {
"checkableTitle": {
"additionalProperties": true,
"properties": {
"disputeRatePct": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"disputedMarkets": {
"description": "Disputed markets in this title-clarity cell. Numerator of disputeRatePct.",
"minimum": 0,
"type": "integer"
},
"marketsScanned": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"marketsScanned",
"disputeRatePct"
],
"type": "object"
},
"uncheckableTitle": {
"additionalProperties": true,
"properties": {
"disputeRatePct": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"disputedMarkets": {
"description": "Disputed markets in this title-clarity cell. Numerator of disputeRatePct.",
"minimum": 0,
"type": "integer"
},
"marketsScanned": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"marketsScanned",
"disputeRatePct"
],
"type": "object"
}
},
"required": [
"checkableTitle",
"uncheckableTitle"
],
"type": [
"object",
"null"
]
},
"dataDegraded": {
"type": "boolean"
},
"elevatedRiskCategories": {
"items": {
"type": "string"
},
"type": "array"
},
"flipAsOf": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"flipOverall": {
"additionalProperties": true,
"properties": {
"disputedResolved": {
"minimum": 0,
"type": "integer"
},
"flipRatePct": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"flipped": {
"description": "Disputes whose outcome reversed. Numerator of flipRatePct.",
"minimum": 0,
"type": "integer"
},
"splitCount": {
"description": "Disputes resolved to a split outcome rather than to one side.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"flipRatePct",
"disputedResolved"
],
"type": [
"object",
"null"
]
},
"howToRead": {
"type": "string"
}
},
"required": [
"asOf",
"flipAsOf",
"dataDegraded",
"elevatedRiskCategories",
"byCategory",
"clarity",
"flipOverall",
"howToRead",
"caveats"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://api.polym.uk/resolution-risk" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.polym.uk/resolution-risk");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.polym.uk/resolution-risk")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/1360.json, and this resource appears in /discovery/resources and /discovery/search.