Kalshi plan · paper and research · Saturday October 17, 2026, 1:39 AM Eastern
The Kalshi plan: how the system is meant to make money
Kalshi is a US exchange where people buy and sell contracts on yes-or-no questions ("will Boston's high be above 60°F tomorrow?"). A contract pays $1 if the answer is yes and $0 if no, so its price in cents reads as the crowd's chance. This page says what we run there, what we tested, what failed, and what it would take to earn money.
One screen
What runs today
- Live Weather desk: buys the favourite in next-day high/low temperature markets at 6 PM, 1 contract (about $1) per order.
- Paper (logged as if traded, no money): gas prices (daily AAA state averages), Treasury yields (hourly), mentions (will a speaker say a word), Miami hourly temperature, and the sports desk (game winners checked against a sharp bookmaker's price).
The one honest money line
"Net dollars per hour" means profit after Kalshi's fees divided by every clock hour, nights and weekends included.
The plan in four bullets
- Prove before we size. Every rule goes to a fixed judge (the "referee"): one look at data no agent has seen, then a forward paper run. No live money without a pass and the owner's yes.
- Run several small, independent desks at $1. Certainty grows with the number of days, not the number of bets, so more desks teach us faster than more bets per desk.
- Test sports properly. Sports is 80% of Kalshi's volume. Four rules, written down before any data was seen, compare Kalshi to a sharp bookmaker's fair price, across leagues that together cover most of the clock.
- Size up only where an edge passed. At $1 a bet nothing pays the bills. Whether we clear $0.55 an hour depends on how many contracts the order book holds at our price and how much cash we leave out at once.
2. The idea: bet on how people behave
We are not trying to out-forecast the market. We are betting on a habit: the favourite–longshot bias. People overpay for long shots (a 10¢ "lottery ticket") and underpay for favourites, so prices sit too close to 50¢. If the habit is big enough, buying the favourite (or selling the long shot) wins slightly more often than its price says.
Whether that pays depends on two costs: the spread (the gap between the price to buy and the price to sell) and Kalshi's fee on each trade. The habit showed up in 9 of 11 categories, but beat those costs in only three.
Where it held and where it didn't
Test: every settled market Aug 1 – Oct 15, 2026. Rule: buy the favourite when its price is 60–90¢ and the spread is 10¢ or less, after the fee. "In" = August–September (used to find things), "out" = October 1–15 (the check). "Bias" is the calibration slope: 1 is fair, above 1 means favourites are too cheap, below 1 means favourites are too expensive.
| Category | Bias, in → out | Cents per contract after fee, in → out | Verdict |
|---|---|---|---|
| Weather daily high/low (the live desk) | 1.17 → 1.21 | +3.95 → +9.06 | Holds, only just |
| Daily gas price (AAA) | 1.33 → 1.44 | +4.97 → +2.38 | Not enough data |
| Hourly Treasury yields | — → 2.09 | — → +9.16 (2 days) | Not enough data |
| Hourly temperature | 1.28 → 1.25 | −1.20 → −3.82 | Does not hold |
| 15-minute commodities | 1.09 → 1.15 | −1.50 → −1.11 | Does not hold |
| Mentions | 1.09 → 1.14 | −2.22 → −2.78 | Does not hold |
| Daily rain | 1.11 → 0.96 | −4.49 → −2.73 | Does not hold |
| Sports single games | 1.09 → 0.84 | +0.45 → −5.06 | Does not hold, and flips |
| E-sports games | — → 0.74 | — → −14.44 | Does not hold, reversed |
| Economics releases | 1.85 | −3.63 → −10.00 | Too few markets |
| Culture (music, streaming, app ranks) | 1.10 → 1.23 | −27.00 → −10.00 | Too few markets |
In plain words. The habit is nearly everywhere; the money is not. Weather held, gas was positive in both halves but not proven, yields is too new to judge. In sports and e-sports the habit ran the other way in October: favourites were too expensive.
A caution about the live desk itself. Rebuilt with this method, the weather rule averages +5.47¢ a contract over 265 bets on 62 days, which is not yet statistically convincing (a t-score of 1.25 by day; about 2 is the usual bar). At today's day-to-day noise, reaching that bar needs about 160 days of weather results and about 230 of gas.
3. What we tested and what failed, honestly
Two independent research agents (one proposing ideas, one trying to break them) wrote their ideas down and locked them with a fingerprint (a file hash) before looking at the results, then checked each idea once on later data. Most ideas died. That is the system working.
| Idea | What happened | Verdict |
|---|---|---|
| Sports favourites | In August–September, college-football favourites were cheap (betting against them lost 4–6¢). In October the same favourites were expensive (betting against away favourites made +7.6¢). The best three frozen sports rules all failed in October; the biggest lost 9.63¢ a contract over 70 bets. The other agent found betting against 60–95¢ favourites lost 3.60¢ over 1,404 bets. | Failed: sign flips |
| Rain | Favourite rule lost 4.08¢ a contract overall. Selling 3–10¢ rain long shots made +2.06¢ in August–September, then lost 1.21¢ in October. | Failed |
| Rising gas favourites | The only idea to pass the strict first screen: +7.18¢ (101 wins of 102). In October: −2.15¢ over 40 bets. | Failed on the check |
| Selling late gas "lottery tickets" | +2.51¢ on ten days, then about zero (−0.02¢ over 1,149 bets) on other dates. The 3–9¢ prices were fair. | No edge |
| "Maker breadth": resting small buy orders across many markets and selling 30 minutes later | Lost 21.36¢ per filled contract, about −$0.18 an hour. Rejected, not tuned. | Lost |
| The lottery-ticket maker: resting orders that sell 3–10¢ mention long shots to whoever buys them | First reported as a confirmed edge at $0.13 an hour. The red team found the 100× units bug (below). Fixed, it fills in 10 markets, not 18, and makes about $0.068 an hour. "Confirmed" was withdrawn: zero losses in 18 fills happens about 20% of the time by pure chance at fair prices. | Withdrawn: direction only |
| Hourly-temperature maker (same seller, hourly markets) | The buyers knew something: 10.7% of filled markets came true versus 0% of unfilled ones. Lost 3.9¢ to 8.3¢ a contract, worse with size. | Picked off |
| E-sports | Bias reversed; favourite rule lost 14.44¢ a contract. Quotes were thin and stale. | Not worth a desk |
The 100× units bug, and what it changed
The order-book recorder stores order sizes in whole contracts; only its trade tape stores hundredths. Two scripts divided the order sizes by 100 anyway. So every "how many contracts sit at our price" number in round 2 was 100 times too small, and the queue ahead of the maker in round 4 was 100 times too short.
- Mentions long-shot sell (taker): a median of 50 contracts at our price, not 0.5. "A one-contract edge" was withdrawn.
- Lottery-ticket maker: the queue ahead was a median 144 contracts, not 1.4, so most orders would never have filled. Its result fell by about half.
- Edges, bet counts and verdicts did not change. Only capacity and dollars-per-hour-at-size did.
The mentions capacity check: weak, and it needs cash
The mentions long-shot sell is the one rule that passed its October check: +3.78¢ a contract, 78 of 78 bets won. After the units fix it looked like $0.30 an hour at up to 100 contracts a bet. The independent check says WEAK:
- Up to 100 contracts a bet needs about $989 out at the worst moment, not $200.
- Kept inside a $200 cash limit, even optimistic fills give $0.142 an hour; only $0.119 when the recorded price must match; $0.057 when the quote must also be under two minutes old.
- The old quotes cannot prove the full size was there when we would have hit it. Only forward paper with live order books can.
4. The money math
Below: the three desks with evidence (weather, gas, yields), replayed on their real past picks, at different caps on contracts per pick. A pick only gets as many contracts as other traders actually traded at our price in the next hour.
net dollars per hour, weather + gas + yields · the $0.55/hour subscription line
| Cap per pick | Weather $/hr | Gas $/hr | Yields $/hr | All three | vs $0.55 | Avg cash out |
|---|---|---|---|---|---|---|
| 1 | $0.009 | $0.013 | $0.031 | $0.05 | 0.1× | $9 |
| 10 | $0.092 | $0.060 | $0.068 | $0.22 | 0.4× | $45 |
| 25 | $0.177 | $0.131 | $0.127 | $0.44 | 0.8× | $90 |
| 50 | $0.248 | $0.236 | $0.224 | $0.71 | 1.3× | $146 |
| 100 | $0.374 | $0.371 | $0.393 | $1.14 | 2.1× | $221 |
| 250 | $0.414 | $0.590 | $0.454 | $1.46 | 2.7× | $359 |
Why capacity and cash, not edge, set the ceiling
- Each bet earns a few cents. At 5¢ net a contract, one subscription line ($92 a week) takes about 1,841 contracts a week; at 10¢, about 921.
- The book runs out. Weather stops growing past about 100 contracts a pick: only 14% of picks saw 100 contracts trade at our price. Yields mostly saw no trade at all (88% of picks).
- Cash is tied up until settlement. Weather + gas at 100 a pick ties up about $215 on average and up to about $1,600 on the worst evenings.
What size clears $0.55 an hour
Weather and gas alone (leaving out unproven yields) cross the line at a cap of about 50–100 contracts per pick, reaching $0.75 an hour at 100. That assumes the per-contract edge is real, and it is not yet proven: +5.5¢ for weather and +4.2¢ for gas, neither statistically convincing. At 100 contracts a pick, a losing streak is about 25 times larger in dollars too. The honest order: prove the edge at $1, then size up toward these caps.
5. The machine we're building
The referee: a fixed judge for trading rules
Research agents are good at finding patterns that are really luck. The referee exists so that cannot reach money.
- Rules as fixed forms. An agent hands in a rule as a short form with fixed fields: which markets, when to decide, which side, price limits, up to 4 filters from a fixed list of 14 features, and size. No code. Any unknown field is refused.
- Practice data versus held-back data. Agents explore freely on August 16 – October 16, 2026. The test data is held back: the archive from before August 1, 2026, and every day from October 17 onward. Agents never see it.
- One look per rule. Each rule gets one test on the held-back data, and the result is written to a permanent ledger that cannot be edited. Near-copies of a rule already tested are refused.
- The scoreboard tightens the bar. The more rules are tested, the stricter the bar for the next one: the first needs a 10% chance-of-luck level; after 20 failures it needs 0.5%.
- To pass, a rule needs all of these: it clears the ledger's bar, earns more than 0¢ a contract after fees, has at least 30 bets on at least 10 days, makes money per hour at 1 contract, and makes money in each period (old archive and forward) that has 10 or more days.
- Forward paper is the final judge. A rule that passes is run on paper with the same decision code. It stops if, after 30 settled days, it averages below 0¢ after fees.
- Sandboxed agents. Agents run in a sealed box: no internet except their own AI model, no keys, no accounts, no orders, read-only practice data. The referee checks its own code fingerprint on every request and refuses to run if anything changed.
The data
- Kalshi's own archive, free, back to April 2025 for sports: about 50,286 settled game markets in 13 sports series, with hourly and 1-minute best bid and ask, and every trade. That is about 18 months instead of 2.5.
- Pinnacle's prices (a sharp bookmaker whose no-margin price is the best public predictor of results), bought from a paid odds-history service: a snapshot about 24 hours and about 5 minutes before each game, from April 1, 2025, with a hard stop before the plan's credit cap.
- A public dataset of Kalshi trades (who bought, at what price) to about January 2026. It counts as held-back data, so it is never shown to the agents.
The swarm (being set up)
- Groups of agents propose rules and try to break each other's. Each group sees only its own ledger rows.
- A distiller sees every group's results and pulls out what holds up.
- A red team attacks every claimed win. It already earned its keep: it found the 100× units bug.
- Status: the referee and sandbox exist; the agents' tooling is not yet installed on the machine that runs them.
6. Sports
Sports is 80% of Kalshi's volume: 100.89 million of the contracts traded in the last 24 hours, read Friday night. Elections are next at 7.4%; weather is 2.3%. College football game winners alone were 27.2% of sports volume.
Kalshi's prices by themselves gave no stable edge (section 3). So the new rules use an anchor: Pinnacle's fair price. A pick fires only when Kalshi's price is far enough from Pinnacle's to cover the fee and a margin. These four rules were written down and fingerprinted before any Pinnacle history was seen.
| Rule | When it decides | What it does | Picks per weekend slate (expected) | Held-back test result |
|---|---|---|---|---|
| 1. Value taker | 5 min before kickoff | Buy whichever side Kalshi sells at least the fee + 2¢ below Pinnacle's fair price | 2–6 | Result pending (due about 3:30 AM Sat) |
| 2. Long-shot sell | 6 PM the evening before | Bet against an underdog Pinnacle gives 25% or less, when Kalshi prices it at least the fee + 2¢ too high | 4–10 | Result pending (due about 3:30 AM Sat) |
| 3. Line-move lag | 5 min before kickoff | Follow a team Pinnacle moved toward by 4¢ or more since the evening before, if Kalshi hasn't caught up | 1–3 | Result pending (due about 3:30 AM Sat) |
| 4. Popular-team premium | 5 min before kickoff | Bet against 24 fixed "public" teams when Kalshi prices them above Pinnacle | 1–4 | Not scored: the referee's form cannot express it; never live |
First test: NFL and college football. Rules 1–3 are then applied unchanged to 7 more league groups (NHL, NBA, college basketball, MLB, tennis, UFC, and 8 soccer leagues pooled): 21 more tests, every one counted. League results pending
This weekend's slate (Saturday Oct 17 – Sunday Oct 18, Eastern)
Read about 1:05 AM Saturday from Kalshi's open markets. Start times are approximate; tennis and UFC show expected end times. Volume is contracts traded so far on the game-winner markets. Rows under 50,000 contracts across all of a game's markets are left out.
| Day | About (ET) | League | Games | Game-winner volume |
|---|---|---|---|---|
| Sat | ends 2:40 AM | UFC | 1 | 48,038 |
| Sat | ends 3:00 AM | Tennis (ATP) | 1 | 209,472 |
| Sat | ends 3:20 AM | UFC | 1 | 27,348 |
| Sat | ends 3:40 AM | UFC | 1 | 155,700 |
| Sat | ends 3:50 AM | Tennis (WTA) | 4 | 74,459 |
| Sat | ends 6:00 AM | Tennis (WTA) | 1 | 269,050 |
| Sat | ends 6:10 AM | Tennis (ATP) | 2 | 87,088 |
| Sat | 8:00 AM | Premier League | 1 | 397,005 |
| Sat | 9:00 AM | La Liga | 1 | 316,200 |
| Sat | ends 9:30 AM | Tennis (WTA) | 1 | 90,047 |
| Sat | 10:00 AM | Bundesliga | 5 | 99,841 |
| Sat | 10:00 AM | Serie A | 1 | 102,115 |
| Sat | 11:00 AM | Premier League | 3 | 867,637 |
| Sat | 12:00 PM | College football | 10 | 1,457,327 |
| Sat | 12:00 PM | Ligue 1 | 1 | 73,481 |
| Sat | 1:00 PM | College football | 11 | 1,432,486 |
| Sat | 1:00 PM | La Liga | 1 | 747,051 |
| Sat | 1:00 PM | Premier League | 1 | 45,208 |
| Sat | 2:00 PM | College football | 6 | 49,446 |
| Sat | 3:00 PM | College football | 20 | 996,831 |
| Sat | 3:00 PM | Serie A | 1 | 45,464 |
| Sat | 6:00 PM | College football | 3 | 39,463 |
| Sat | 7:00 PM | College football | 11 | 1,319,733 |
| Sat | 8:00 PM | Liga MX | 2 | 113,311 |
| Sat | 8:00 PM | MLB playoffs | 1 | 110,599 |
| Sat | 8:00 PM | MLS | 5 | 74,866 |
| Sat | 10:00 PM | Liga MX | 2 | 72,884 |
| Sat | 11:00 PM | College football | 1 | 239,353 |
| Sat | ends 11:00 PM | UFC | 2 | 62,736 |
| Sat | ends 11:40 PM | UFC | 1 | 50,320 |
| Sun | 9:00 AM | NFL | 1 | 444,498 |
| Sun | 10:00 AM | Premier League | 3 | 117,014 |
| Sun | 12:00 PM | Premier League | 1 | 94,897 |
| Sun | 1:00 PM | NFL | 7 | 4,751,800 |
| Sun | 4:00 PM | NFL | 3 | 1,515,100 |
| Sun | 4:00 PM | La Liga | 1 | 107,710 |
| Sun | 8:00 PM | NFL | 1 | 464,229 |
The 24-hour coverage idea
Our current desks are mostly busy in the morning and on weekdays. Sports could fill the rest of the clock. Kalshi sports settle something in 166 of the 168 hours in a week, but the round-the-clock part is tennis and cricket. The big leagues leave about 93 hours a week empty: weekdays about 2 AM to 4 PM, weekends about 3 to 11 AM. With our desks added, only 28 hours a week have neither a desk nor a big league, almost all 1 to 7 AM.
Million game-winner contracts settling a week, by block of the day (Eastern). League rows use mid-September to mid-October hours; NBA, NHL and college basketball use last November.
Mon–Fri · Sat–Sun
| Block (ET) | Weekdays | Saturday | Sunday |
|---|---|---|---|
| 12–3 AM | Tennis (Asia, Australia) | Tennis, UFC main card, late NBA/NHL | Tennis |
| 3–9 AM | Tennis only | Tennis; European soccer from 7:30 AM | Tennis; soccer from 6:30 AM |
| 9 AM–12 PM | Tennis | European soccer, college basketball, college football at noon | European soccer |
| 12–3 PM | Tennis, MLB; Champions League Tue–Wed | Soccer, college football, college basketball, MLB | NFL 1 PM, NBA/NHL matinees, soccer |
| 3–6 PM | Champions League Tue–Wed, tennis | College football, soccer, NBA/NHL | NFL 4 PM, soccer, NBA/NHL |
| 6 PM–12 AM | NBA, NHL, college basketball, MLB; NFL Mon and Thu | NBA, NHL, college football, MLS, Liga MX, UFC | NBA, NHL, Liga MX, NFL 8:20 PM |
The real gaps: December 1 AM to 9 AM (tennis off), and weekday mornings 3 to 9 AM outside the tennis swings.
Honest expectation
Coverage is a schedule, not a living, until we can size. Across every league in season, the three rules should fire roughly 85–130 times a week. At a hoped-for +3¢ net a pick that is $2.50 to $4 a week, about $0.015 to $0.025 an hour.
The upside is depth: if a sports rule ever passes, the books are deep. College-football favourites showed a median of about 232,000 contracts at the best price (corrected figure). That is the one family where an edge could be sized, and so far no sports rule has passed.
7. The next seven days, and the gates
- Saturday Oct 17, early morning Held-back test results for the three football rules. Result pending (due about 3:30 AM Sat) Then the 21 league tests. Pending
- Saturday Oct 17 onward The forward test window opens: every day from October 17 is new held-back data. The sports paper desk logs picks for the college-football slate (decisions at 6 PM the evening before and 5 minutes before each kickoff).
- Sunday Oct 18 NFL slate: 12 games between 9 AM and 8 PM.
- Every day 6 PM: weather (live, 1 contract), gas and mentions (paper) decide. Weather and gas settle 7–10 AM. Treasury yields run hourly on weekdays. Miami hourly temperature runs at :30 past each hour.
- Monday Oct 19, 11 AM The referee's weekly refresh adds the new forward days to its held-back data.
- Through Friday Oct 23 Paper keeps counting. Nothing on paper gets a verdict this week: Miami's first look comes after 14 days, gas after 30 days, and a first 10 forward sports picks are watched for stale quotes.
- Decisions for the owner Whether any sports rule that passes both its test and forward paper may go to $1 live; how much cash float, if any, to allow a desk beyond $1 bets; and the income goal, which is still to be set.
The gates
- No live money without a passed test and the owner's yes. The sports desk's live path stays off unless a signed grant names the desk, the markets and the rules. Popular-team (rule 4) is never live.
- Start at $1. One contract per order, at most one order per game, no chasing the price.
- Loss limits. The sports desk stops for the day at a $5 loss; the whole Kalshi account at $15. The weather desk also has a $10 exposure limit.
8. Risks, and what would make us stop
Risks
- The edge may be luck. The weather desk's own result is borderline, and 11 categories were scored twice; one t-score near 2 can happen by chance.
- Behaviour changes. Sports favourites flipped from cheap to expensive within two months. An edge must survive both the old archive and the forward days.
- Old prices are not order books. Backtests use hourly price summaries. A gap that looks like a bargain may be a stale price, or one that was not there to take.
- Fills beyond 1 contract are unproven. Every capacity number on this page is a replay, not a fill.
- Informed buyers. Selling long shots to people who choose to buy them can mean selling to people who know more (hourly temperature showed exactly that).
- Size multiplies losses. At 100 contracts a pick, a losing streak is about 25 times larger in dollars.
- Rules of the venue change. Fees change (baseball's fee multiplier went from 1 to 0.5 on Aug 7, 2026), and markets can be voided (tennis walkovers, cancelled fights) or settle hours late.
What would make us stop
| What | Stops when |
|---|---|
| Weather desk (live) | The average goes below 0¢ a contract after fees; it judges once 100 trades have settled. |
| Any paper desk or passed rule | After 30 settled days, the average is below 0¢ after fees. |
| Sports rules | The first 10 forward picks all fire on quotes older than 30 minutes ("staleness, not edge"), whatever the profit. |
| Tennis and UFC groups | More than a quarter of the first 40 forward picks land on voided markets. |
| Miami hourly temperature | After its 14-day look, an average of 0¢ or less: "does not hold". |
| Any live desk, any day | The $5 desk or $15 account daily loss is reached, or an off switch is on. |
| The referee itself | Its code fingerprint, its data or its ledger chain does not check out: it refuses to run. |