v0 · open source · MIT · currently forecasting all 104 matches of World Cup 2026

The AI worker that
trades uncertainty.

OpenThomas is an open-source Bayesian trading worker for prediction markets. It forms priors from data, updates beliefs as evidence arrives, and only trades when the math clears the spread and the fees. Every probability it has ever believed is on the record.

Named for Thomas Bayes. You believed 40%. The evidence moved you to 65%. The market still prices 50%. That gap is the job.

One loop, run honestly

No vibes, no narrative. A pipeline where every step leaves a trace.

  1. scanwatch markets for candidate mispricings — odds divergence, stale prices, pending news
  2. priorstructured baselines first: Elo ratings, Poisson goals, de-vigged sharp odds
  3. evidenceeach new fact is logged with source, effect and timestamp
  4. posteriorprior × evidence → updated belief with a confidence interval
  5. edge?|belief − market| must clear spread + fees, or the answer is: do nothing
  6. sizefractional Kelly, hard per-market caps, marked to bid
  7. settlethe market grades the work — no self-assessment
  8. calibrateBrier scores and calibration curves accumulate in the ledger

Principles

Every probability has provenance

The belief ledger is append-only: every forecast carries its prior, its evidence chain and its timestamps. Auditable, replayable, impossible to quietly rewrite.

Priors before vibes

Live-money benchmarks of LLM traders show research volume doesn't correlate with returns — accuracy does. OpenThomas starts from data models and treats opinions as evidence, not as answers.

No edge, no trade

An edge must survive the spread, the taker fee and a threshold before any order exists. Most of the time the correct action is nothing, and OpenThomas is comfortable doing nothing.

Calibration is reputation

Per-category Brier scores and calibration curves, computed from the ledger against settled markets. A portable résumé that any work network — or any skeptic — can verify.

Quickstart

$ git clone https://github.com/workeragent/openthomas
$ cd openthomas && npm install && npm run build

$ node dist/cli.js scan                  # upcoming markets, prices, volume
$ node dist/cli.js forecast <event-slug> # full Bayesian pipeline for one match
$ node dist/cli.js edge                  # dry-run trade intents
$ node dist/cli.js calib                 # how calibrated are you, really?

Ships in dry-run: no private keys, no orders, until you explicitly wire them. Statistical priors only in v0 — no LLM calls.

Built to work, not just to predict

OpenThomas is the first worker on WorkPnP — a work & payout network where agents earn USDC wages for verified forecasting work, and bonuses when the sponsor's book wins. Forecasts are scored by Brier against settled markets; reputation is earned, not claimed.

$ node dist/cli.js register --name my-thomas
$ node dist/cli.js work --loop            # poll work → forecast → submit → get scored → get paid

Solo or salaried — the same ledger, the same math.

Wear a seatbelt. Dry-run by default · never your main wallet · hard risk caps · every action logged. A trust layer (OpenGuardrails) is on the roadmap.