curl --request GET \
--url https://api.routeur.app/v1/accuracyimport requests
url = "https://api.routeur.app/v1/accuracy"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.routeur.app/v1/accuracy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.routeur.app/v1/accuracy"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"data": {
"headline": {
"checked": 18240,
"violated": 3,
"violation_rate": "0.0002",
"violation_rate_high": "0.0005",
"labelled": 214,
"labelled_precision": "0.9907",
"labelled_precision_low": "0.9665",
"labelled_precision_high": "0.9975",
"wrong_relations_still_live": 0
},
"buckets": [
{
"relation": "implies",
"family": "ladder",
"cross_venue": false,
"checked": 17510,
"violated": 0,
"unverifiable": 320,
"violation_rate": "0.0000",
"violation_rate_low": "0.0000",
"violation_rate_high": "0.0002",
"first_settled_at": "2026-07-01T14:00:00Z",
"last_settled_at": "2026-09-15T22:00:00Z",
"labels": {
"correct": 60,
"wrong": 0,
"unsure": 1,
"precision": "1.0000",
"precision_low": "0.9397",
"precision_high": "1.0000"
},
"wrong_relations_still_live": 0,
"released": true
},
{
"relation": "equivalent",
"family": "econ",
"cross_venue": true,
"checked": 12,
"violated": 0,
"unverifiable": 1,
"violation_rate": "0.0000",
"violation_rate_low": "0.0000",
"violation_rate_high": "0.2447",
"first_settled_at": "2026-08-12T12:30:00Z",
"last_settled_at": "2026-09-11T12:30:00Z",
"labels": {
"correct": 9,
"wrong": 1,
"unsure": 0,
"precision": "0.9000",
"precision_low": "0.5958",
"precision_high": "0.9821"
},
"wrong_relations_still_live": 0,
"released": false
}
],
"release": {
"min_checked": 25,
"max_violation_rate": "0.0100",
"released": [
{
"family": "ladder",
"cross_venue": false,
"checked": 17510,
"violated": 0
},
{
"family": "sports",
"cross_venue": true,
"checked": 640,
"violated": 3
}
]
},
"proposals": {
"headline": {
"proposed": 412,
"agreed": 46,
"refuted": 9,
"precision": "0.8364",
"precision_low": "0.7186",
"precision_high": "0.9110",
"settlements_checked": 61,
"settlements_violated": 2,
"settlement_violation_rate": "0.0328",
"settlement_violation_rate_high": "0.1122"
},
"cohorts": [
{
"model": "jev-latest",
"questions": [
{
"id": "hedge_pays_once",
"version": "v2"
},
{
"id": "relation",
"version": "v2"
},
{
"id": "trader_confidence",
"version": "v1"
}
],
"proposed": 412,
"agreed": 46,
"refuted": 9,
"precision": "0.8364",
"precision_low": "0.7186",
"precision_high": "0.9110",
"settlements_checked": 61,
"settlements_violated": 2,
"settlement_violation_rate": "0.0328",
"settlement_violation_rate_high": "0.1122"
}
],
"note": "These figures are about proposals, not proofs. ..."
},
"refreshed_at": "2026-09-16T09:37:40Z",
"methodology": [
"Every relation the graph proves is a claim about outcomes. ..."
]
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}How often proven relations held at settlement
The public accuracy record, readable without a key. For every relation
type and proof family, on one venue or across both: how many proven
relations were checked against the settled outcomes of their markets,
how many were violated, the violation rate with its 95% Wilson
interval, and how a hand-labelled sample of live relations was judged.
release states the guard that decides which families may offer
executable leads, and which have passed it. methodology says in
plain words how every figure is made. Refreshed every half hour.
proposals is a separate ledger, about the model’s suggested matches
rather than about anything the graph proved: how many suggestions were
made under each set of question versions, how many the solver later
agreed with or contradicted, and how many the settled outcomes caught
out. It releases nothing and enters no figure above it.
curl --request GET \
--url https://api.routeur.app/v1/accuracyimport requests
url = "https://api.routeur.app/v1/accuracy"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.routeur.app/v1/accuracy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.routeur.app/v1/accuracy"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"data": {
"headline": {
"checked": 18240,
"violated": 3,
"violation_rate": "0.0002",
"violation_rate_high": "0.0005",
"labelled": 214,
"labelled_precision": "0.9907",
"labelled_precision_low": "0.9665",
"labelled_precision_high": "0.9975",
"wrong_relations_still_live": 0
},
"buckets": [
{
"relation": "implies",
"family": "ladder",
"cross_venue": false,
"checked": 17510,
"violated": 0,
"unverifiable": 320,
"violation_rate": "0.0000",
"violation_rate_low": "0.0000",
"violation_rate_high": "0.0002",
"first_settled_at": "2026-07-01T14:00:00Z",
"last_settled_at": "2026-09-15T22:00:00Z",
"labels": {
"correct": 60,
"wrong": 0,
"unsure": 1,
"precision": "1.0000",
"precision_low": "0.9397",
"precision_high": "1.0000"
},
"wrong_relations_still_live": 0,
"released": true
},
{
"relation": "equivalent",
"family": "econ",
"cross_venue": true,
"checked": 12,
"violated": 0,
"unverifiable": 1,
"violation_rate": "0.0000",
"violation_rate_low": "0.0000",
"violation_rate_high": "0.2447",
"first_settled_at": "2026-08-12T12:30:00Z",
"last_settled_at": "2026-09-11T12:30:00Z",
"labels": {
"correct": 9,
"wrong": 1,
"unsure": 0,
"precision": "0.9000",
"precision_low": "0.5958",
"precision_high": "0.9821"
},
"wrong_relations_still_live": 0,
"released": false
}
],
"release": {
"min_checked": 25,
"max_violation_rate": "0.0100",
"released": [
{
"family": "ladder",
"cross_venue": false,
"checked": 17510,
"violated": 0
},
{
"family": "sports",
"cross_venue": true,
"checked": 640,
"violated": 3
}
]
},
"proposals": {
"headline": {
"proposed": 412,
"agreed": 46,
"refuted": 9,
"precision": "0.8364",
"precision_low": "0.7186",
"precision_high": "0.9110",
"settlements_checked": 61,
"settlements_violated": 2,
"settlement_violation_rate": "0.0328",
"settlement_violation_rate_high": "0.1122"
},
"cohorts": [
{
"model": "jev-latest",
"questions": [
{
"id": "hedge_pays_once",
"version": "v2"
},
{
"id": "relation",
"version": "v2"
},
{
"id": "trader_confidence",
"version": "v1"
}
],
"proposed": 412,
"agreed": 46,
"refuted": 9,
"precision": "0.8364",
"precision_low": "0.7186",
"precision_high": "0.9110",
"settlements_checked": 61,
"settlements_violated": 2,
"settlement_violation_rate": "0.0328",
"settlement_violation_rate_high": "0.1122"
}
],
"note": "These figures are about proposals, not proofs. ..."
},
"refreshed_at": "2026-09-16T09:37:40Z",
"methodology": [
"Every relation the graph proves is a claim about outcomes. ..."
]
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}