Claude Gens Future Sports & Betting
A sportsbook I couldn't code priced a fictional sports upset at 6.90, and three imaginary punters called it. AI math does it all.
On the fifth Raid Race card of the 2066 season, at Low Coast, nobody got the package out.
My sportsbook had priced that outcome at 6.90. Three of ten punters took it: the three who run their own numbers on each card instead of reading the board. It was the worst night the house had all season, four hundred and sixty-two credits down on a six hundred and fifteen credit handle.
None of those people exist. Neither does the sport. What I want to talk about is that I didn’t decide any of it.
This part matters for everything that follows: I didn’t build the thing that decided it. Claude did. I can’t write Python, and I don’t really understand what a seed does under the hood, not in the way I’d need to if you handed me the file and asked me to fix something broken in it.
I described what I wanted in plain scribbler English, and Claude built it. I ran it and reacted. That’s worth saying straight out, so this piece doesn’t sound like something it isn’t. I barely understand the machinery. I just think it’s cool.
Two Pages
Terra Conflictus 2066 is a tabletop gaming setting I’ve been building for a while. It has cities, factions, a genomic registration system that everybody argues about, and until recently it had no sports, which is strange for a world with four billion people in it who need something to watch.
So there are two pages now.
The Spread is the sports paper. Standings, results, reporting, sixteen circuits across two tiers. There’s a sanctioned tier with franchises and title sponsors and broadcast partners, and an underground tier that is variously illegal, unsanctioned, or so proudly ungoverned that its own organisers refuse to acknowledge half of it. Six correspondents file to it. Merren Dask writes the results and refuses to editorialise. Cass Imrie writes the column about who is getting classified out of which category and has been banned from two circuits and reinstated by both.
The Line is the sportsbook. It prices every one of those circuits, takes bets from simulated punters with bankrolls in unregistered energy credits, and settles them against whatever the sports page reports. Forty-four markets on a given cycle.
Both run themselves. Every few days a scheduled task advances the world by one cycle and files. I gave Claude the two pages as an idea. Claude is the one who figured out how to make them run.
The Rule
The simulator owns the numbers. The desk owns the voice.
I handed Claude that principle in one sentence. What it meant in practice, dice classes, seeded runs, a proper ruleset written in code, was entirely Claude’s to work out, and I wouldn’t have known where to start.
Every sport on the board has published tabletop rules, and every one of those rulesets got turned into a Python simulator that implements them properly, dice and all. When the desk wakes up, it works out what is genuinely due today, runs those simulators on a fixed seed, and hands the correspondent a brief.
The correspondent writes from the brief and may never invent a result, adjust a result, or contradict one.
That sounds like a restriction. A language model asked to hold eighty results, a standings table, an injury list and a title race across scheduled runs will drift by week three.
Given the chance, it will also write the season it thinks you want. A seeded simulator produces a season that’s actually true, and the drama gets better because nobody rigged it.
The proof of that came free. Five cards into the first Raid Race season there had been five different outcomes: four separate crews took one each, and on the fifth nobody got the package out at all.
Los Creeps sat third in the championship having won nothing, on consistency alone. Nobody wrote any of that. I especially didn’t plan the fifth card, the one the entire betting page now turns on.
Making a Book That Can’t Cheat
The betting page was harder, and for one specific reason.
A sportsbook needs to price before the event and settle after it. If the odds are set with any knowledge of the result, the page becomes a ledger, and every number on it is worthless.
So the book estimates probability the only way it honestly can: it runs the sport’s own simulator two thousand times on throwaway random seeds, counts how often each result came up, and turns those counts into a price.
Later the fixture is played once for real, on its own seed, and the bets settle against whatever that produced.
The danger is obvious once you say it out loud. If the pricing run and the real run ever share a seed, the book has seen the future and everything collapses.
I told Claude I wanted that to be structurally impossible rather than carefully avoided, and it came back with three separate locks, any one of which would be sufficient on its own.
The book can only open a market on a fixture that hasn’t happened, checked four different ways. The book physically can’t write to the world file, only read it. Every seed the sports desk constructs sits below 10^8, while every seed the book constructs sits above 10^12.
That third one is the load-bearing part, and asserting it wasn’t enough for me, so I asked Claude to prove it instead. The validation instruments the dice constructor itself, watches every random number either side actually builds, and proves the two sets never touch.
Then it does something I’m more pleased with. It builds a deliberately sabotaged version of the book, one where a single sample out of two thousand is the real fixture, and checks that the test catches it. It does, at about thirty-eight standard deviations. The honest book reads flat on the same measure. A null result only means something if the test was capable of failing.
That test also taught me something I had wrong. I’d assumed a clean book should show zero bias on whichever runner wins. It shouldn’t. Winners are drawn from the true distribution, and the book has standing per-runner biases, so the expected reading is about minus a quarter of a percent. Tested against zero, the honest book failed. Tested against its actual null, it passed comfortably. The mistake was mine, and I only know that because Claude walked me through why.
The Book is Bad at its Job on Purpose
A book that prices off perfect probability and adds a margin is unbeatable. Every punter grinds to zero, the leaderboard becomes a straight line sloping down, and there is nothing to read.
So The Line is wrong on purpose. It’s wrong in two different ways, and only one of them matters.
It carries sampling noise, because it prices off a limited number of runs. Noise averages out across a season, so nobody can systematically beat it. It also carries bias: it leans on recent form, and it anchors its no-extraction number to the season average instead of adjusting properly for how hard the individual card is. Bias is wrong in a direction and stays wrong.
The measurement that settled it: holding everything else fixed and trimming the two bias terms drove the sharp punter’s return from plus four and a half percent to minus six.
The punters live on the book’s documented, directional wrongness.
That’s also what makes the Low Coast result work. The book anchors to a season average, so on an easy card it prices “nobody extracts” far too short and it’s a trap. Low Coast was a short window onto a locked breach, genuinely hard, and the same anchor ran the other way and made 6.90 a real price.
The three punters who noticed were the three who model each card instead of the season. The other seven were looking at the board.
What The Validation Caught
Claude validated each simulator across 120-plus runs before I trusted any of it enough to build a betting page on top of it. That part I did understand without reading a line of code: run it, watch what breaks, and go from there.
The Raid Race sim produced five events where nobody delivered anything, because a crew was getting charged an action for dismounting, which isn’t one of the five Raid Actions in the published rules.
The Crackerjack sim was four times too lethal, because a shorthand in my own battle reports had gotten read as a rule. The Long Count killed Brine Quist, who is an established character from published filings, so challengers now get drawn from the circuit’s own regulars instead.
The betting side was worse, in more interesting ways.
A minimum bet of twenty credits silently deleted three punters. Quarter Kelly sizes inversely with the odds, so a genuine 24% edge at 15.5 came out at nine credits, under the minimum, every single time. My two sharps placed almost no bets across eight simulated seasons, which quietly removed the entire point of the economy.
The Syndicate’s cut was supposed to be fifteen percent. It ate 109% of the gross instead, because the spec I’d given charged it on every winning market and recovered nothing on the losers, so winners got taxed and losers never got offset.
I’d accidentally designed a business that could not make money, and it took Claude running the numbers a hundred and twenty simulated seasons to show me that.
The chalk punter created a feedback loop that broke the market. Money shortened a runner, that made it the shortest price, chalk backed it for being the shortest price, and the whole floor ended up on one crew at 2.85 that had opened at 10.0.
And when I asked to widen the board from one sport to eleven, the margin model fell over on lopsided markets. A 98.6% favourite can’t absorb twelve points of margin, so the math dumped 806% of it onto the other side and quoted 7.7 about a 1.4% chance, a number nobody would take.
My favourite one caught itself. The page’s trading note gets generated straight from the ledger rather than written, so it can’t claim anything the book can’t show. It printed a sentence saying a 2,341 credit liability was inside a 900 credit limit. That can’t be true, and the cause was real: the exposure cap was reading an empty list and had never once bound.
Where It Is Now
The Spread files every three days. The Line wakes thirty-six hours later, finds the results waiting, settles, reprices, and takes the next round of bets.
The house is expected to hold 9.29% against a board priced to 10.71%, the difference being what the sharps take off it, and it loses money in 38% of simulated seasons.
Nesta Balint makes 14.4% and is the only reliable winner. Halyard Renko doubles after every loss and blows up in 57% of seasons, somewhere between the fifth card and the tenth, at which point a patron advances him somebody else’s money and takes a permanent share of his action.
Terra Conflictus 2066 is my tabletop setting. The Spread and The Line are both fiction, nobody can place a bet, and the simulators implement the game’s published rules. I built none of it. Claude did, over a few sessions of me describing what I wanted and reacting to what came back, half the time without fully following the reasoning until it was already running. I still don’t know Python. I know what a seed is now, in a general sense. What I know for certain is that the outcomes are real in the sense that counts. Nobody’s thumb was on the scale. Mine included.


