free, read-only, no auth, cors open. static json snapshots regenerated with every index run (updated 2026-07-04) - the same numbers the pages render, nothing more. correctness is vs uma's own resolved price, not ground truth.
every recorded dvm-resolved dispute (trailing 364d window + hash-chained archive).
fields per dispute: slug · url (permalink) · title ·
resolved_at · resolvable · resolved_price (1/0/0.5; absent
when the round rolled) · n_voters · n_against · against_frac ·
top_share · top_voter · total_weight · request_key.
curl -s https://thoth.markets/api/disputes.json | jq '.disputes[0]'
every wallet that revealed a vote in the window. fields per voter: voter ·
url (rap sheet) · votes (revealed) · gradable ·
correct (matched the resolved outcome) · correct_rate ·
weight (cumulative revealed numTokens/1e18).
curl -s https://thoth.markets/api/voters.json | jq '.voters[:10]'
/data.json - the full board aggregate (disputes + voters, one file).
/ledger.jsonl - the hash-chained per-dispute ledger; each record
carries the hash of the previous one. verify the chain, or re-derive everything from the
votingv2 logs on ethereum mainnet: 0x004395edb43efca9885cedad51ec9faf93bd34ac.
per-dispute vote rows live on each dispute page (html) and in the ledger records; a bulk votes endpoint is deliberately not published - re-derive from the chain, trust no snapshot.