How often proven relations held at settlement
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
}
]
},
"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>"
}
}Graph
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.
GET
/
v1
/
accuracy
How often proven relations held at settlement
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
}
]
},
"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>"
}
}Response
The accuracy record.
Show child attributes
Show child attributes