A bot for Kalshi's weather markets
A Windmill bot for Kalshi's weather markets is an AI agent that runs your written rule on the schedule you set: it reads the National Weather Service's forecasts and station observations and the day's temperature brackets, buys one and holds it to settlement. Counted on October 22, 2026, our agents had made 98 settled paper bets on the daily highs in New York, Chicago, Miami and Austin and lost $37.75 before fees, so test your rule the same way: free on paper, no card.
Kalshi lists a market on each day's high temperature in New York, Chicago, Miami, Austin and many more cities. Write your rule in a sentence or a paragraph, and a Windmill agent runs it on paper, unattended, against Kalshi's live order book and fees. From late August 2026 we ran six weather rules this way, one of them a control that read no weather at all. No edge held up: the two forecast rules lost the most, and the control lost less than either of them. Every number is below, with the rule that made it.
How the daily high markets work
Each Kalshi city has a daily-high series, and each day the series lists one event: a ladder of temperature brackets for that day's high. When we read Kalshi's API on October 22, 2026, New York's ladder for that day had six markets: four brackets two degrees wide (63–64°, 65–66°, 67–68°, 69–70°) and an open-ended one at each end (62° or below, 71° or above). Exactly one of them resolves Yes. A YES or NO contract pays $1 if it is right and nothing if it is wrong. Each market's rule is a single sentence:
“If the maximum temperature recorded at New York City (CLINYC) for Oct 22, 2026, is greater than 70° fahrenheit according to The Weather Company, then the market resolves to Yes.”
CLINYC is the National Weather Service's climate-report code for Central Park. Each series names its own station, and the series names The Weather Company as its settlement source. These are the four series our agents traded, with the station each one's rules named on October 22, 2026:
| Series | Settles on |
|---|---|
| KXHIGHNY | New York City (CLINYC), Central Park |
| KXHIGHCHI | Chicago (CLIMDW), Midway Airport |
| KXHIGHMIA | Miami (CLIMIA), Miami International Airport |
| KXHIGHAUS | Austin (CLIAUS) |
Kalshi lists more cities under series that start with KXHIGHT: Las Vegas (KXHIGHTLV), Phoenix, Houston, Atlanta, Washington and others. Trading closes at 1 AM local time after the day in question, and the markets in our record settled the next morning. The day's high is usually in by mid-afternoon local time. After that, any bracket below the high already observed can't win, and its price shows it.
Kalshi adds, in the same market's rules: “Preliminary Weather Company data may be subject to rounding and conversion differences from the final reported value.” A reading on a weather site is a guide, not the settlement value.
What an agent can read for them
An agent runs on a schedule you set, every 10 minutes at the fastest. On each run it reads what it needs at that moment, decides, and stops. For a daily-high market a run usually goes like this:
- It reads the National Weather Service's forecast for the station from api.weather.gov, or the station's latest observation (in degrees Celsius, which the rule should say to convert), or both. It can also search the web.
- It lists the city's events on Kalshi and reads the day's ladder: every bracket, with its bid and ask.
- If the rule's condition is met, it places an order on the bracket the rule names and holds it to settlement.
- It writes a short report of what it saw and did. You can read every run, step by step.
It cannot read a paid weather model behind an API key, or a live stream. What agents can read lists every tool an agent has and what it cannot reach.
What we tried in August and September 2026
From August 27, 2026, we ran six weather rules on paper as part of our wider test of about 90 strategies, each order for 5 contracts. Most ran until September 6. This is each rule in one line and its record on the four series above, counted on October 22, 2026. Each agent's page has its rule word for word.
| Agent | Its rule, in one line | Bets | Won | P&L before fees | After fees, its page |
|---|---|---|---|---|---|
| weather-3city | The NWS forecast for tomorrow; buy the bracket that contains it, if it costs 45¢ or less. | 22 | 4 | −$20.19 | −$17.69 |
| city-highs-nws | The NWS forecast for today; buy the bracket that contains it, if it costs 60¢ or less. | 33 | 11 | −$12.41 | −$15.28 |
| city-highs-crowd-control | A control that reads no weather: buy the crowd's favourite bracket, if it costs 45–65¢. | 30 | 16 | −$1.90 | −$4.42 |
| nws-dead-brackets | The observed running high: NO on brackets already below it, and late in the day YES on the one that contains it. | 8 | 2 | −$1.05 | −$1.27 |
| ewr-vs-nyc-highs | Newark against Central Park: buy whichever city's forecast bracket is 10¢ cheaper. | 2 | 0 | −$2.05 | +$0.08 |
| nyc-high-temp-websearch | Web search for the forecast and the observed high; buy only with 10 points of edge. | 1 | 0 | −$1.85 | −$3.41 |
The last column is the agent's own ledger on October 22, 2026, across everything it traded: ewr-vs-nyc-highs's includes its Newark bet, and weather-3city's and nyc-high-temp-websearch's include contracts sold before settlement, so for those three it is not the column before it minus fees.
Two more bets settled on these series, one by another agent in September and one by an agent running now (below): both won, for +$1.70 together. By city, the same 98 paper bets:
| City | Settled on (2026) | Bets | Won | P&L before fees | Of what they cost |
|---|---|---|---|---|---|
| New York | Aug 29 – Oct 20 | 27 | 12 | +$3.38 | +6% |
| Chicago | Aug 29 – Sep 8 | 29 | 6 | −$27.64 | −48% |
| Miami | Aug 30 – Sep 8 | 24 | 8 | −$11.65 | −24% |
| Austin | Aug 29 – Sep 7 | 18 | 9 | −$1.84 | −4% |
| All four | Aug 29 – Oct 20 | 98 | 35 | −$37.75 | −18% |
P&L here is what the settled contracts paid minus what they cost, before Kalshi's fees. The fees are booked to each agent, not to each city: on these bets they ran about 8–9¢ a 5-contract bet, Kalshi's fee at 40–60¢ prices. The four-city total before fees is −$37.75 on 98 bets; the six agents' ledgers, which also hold the Newark bet and a few early sells, total −$41.99 after fees, as their pages showed on October 22, 2026.
Why the forecast rules lost
The National Weather Service's forecast is free and public, and the people trading these markets read it too. A rule that buys the forecast's bracket only when that bracket is cheap buys it exactly when the market disagrees with the forecast, and in our record the market was right more often. The two forecast rules won 15 of their 55 bets. The control, which bought the crowd's favourite and read no weather at all, won 16 of 30 and lost $1.90 before fees, against $20.19 and $12.41 for the two forecast rules.
A bracket is two degrees wide, and a forecast high that is off by a degree or two lands in the next bracket. On the city pages you can see it happen: in Chicago on August 29 the forecast rules bought 80–81° and the high came in at 82°; in Miami on September 1 three agents held 91–92° and the high came in at 89°.
The rule that traded what had already happened, the observed running high, barely got a bet in. It placed 26 orders on these series, averaging 80–93¢ a contract by city, and 8 positions settled, 2 of them won. A NO on a bracket that is already dead costs close to $1, so there is little left to win on it.
Kalshi's other cities did no better. An agent that bought tomorrow's favourite bracket in six sunbelt cities (sunbelt-highs-t1-favorite), on a back-test that said those favourites almost always won, won 6 of 12 on paper and was −$3.58 before fees, settled September 1 to 6, 2026; its page showed −$4.76 after fees on October 22, 2026.
98 bets is a small sample, and these rules ran for about ten days in one season. The record says none of them found an edge; it does not say that none exists. That is why the pitch here is to test your own rule on paper, not to copy ours.
Running now on paper
Two agents of ours have run on the daily highs on paper since October 17, 2026. As of October 22, 2026:
- One buys the leading bracket of today's ladder at 80–89¢ around 3 PM local, in six eastern cities. It has 5 settled bets, all won, +$3.15 before fees, at 86–89¢ a contract. Its own rule calls it exploratory: the back-test behind it was “likely noise”, and five bets at those prices say very little.
- The other buys tomorrow's open-ended bracket (“71° or above”, say) when it is the favourite at 60–92¢. In its first five runs nothing was in that band, so it placed no orders: in its own words, “no open-ended tail favourite in the 60–92¢ YES-ask band”.
By city
Each city page has the market, the rules quoted in their own words, the dated record by agent, and one market worked through:
- New York (KXHIGHNY): 27 paper bets, +$3.38 before fees, most of it from the control.
- Chicago (KXHIGHCHI): 29 paper bets, −$27.64 before fees; the forecast rules won 2 of 19.
- Miami (KXHIGHMIA): 24 paper bets, −$11.65 before fees.
Austin (KXHIGHAUS) has 18 paper bets in the tables above, −$1.84 before fees, and no page of its own. Before all of this, in early August 2026, three agents tried these markets under Windmill's first engine: New York, Chicago and Austin (first engine · Aug 2026). They placed orders, but none of their bets is in the counts on this page. Kalshi also lists hourly temperature markets; an agent of ours that traded them on the station's last observation before the hour, hourly-temp-obs-settle, isn't counted here either.
Questions
- Can a bot make money on Kalshi's weather markets?
- We can't tell you that one does. Counted on October 22, 2026, our agents had made 98 settled paper bets on the daily highs in New York, Chicago, Miami and Austin and lost $37.75 before fees, and the control that read no weather at all lost far less than the two rules that read the forecast. The forecast is public, and the prices already reflect it. Running your own rule on paper is how you find out, before you risk money.
- What do the markets settle on?
- On the day's maximum temperature at the station the market's rules name, as The Weather Company reports it: Central Park (CLINYC) for New York, Midway Airport (CLIMDW) for Chicago, Miami International Airport (CLIMIA) for Miami, when we read Kalshi's API on October 22, 2026. Kalshi's help center has also described these markets as settling on the National Weather Service's Daily Climate Report, so read the market's own rules on the day you trade.
- When is the day's high in?
- Usually by mid-afternoon local time, though a front or a storm can move it. Once the observed high passes a bracket, that bracket can't win, and its price shows it. Trading stays open until 1 AM local time, and the markets in our record settled the next morning.
- Can an agent read the National Weather Service?
- Yes. An agent can fetch any public https URL, so it can read the National Weather Service's forecasts and each station's latest observations from api.weather.gov, and it can search the web. Observations come in degrees Celsius, so a rule should say to convert them. What agents can read lists every tool.
- What are the fees?
- Paper orders pay Kalshi's own fees, worked out the way Kalshi works them out. When we read Kalshi's API on October 22, 2026, the New York, Chicago, Miami and Austin daily-high series had fee type quadratic with multiplier 1, the same settings as Kalshi's 15-minute bitcoin and ether series: an order that takes a resting price pays the most at 50¢, 1.75¢ a contract, and less toward either end. On our agents' bets here the fees ran about 8–9¢ a 5-contract bet. The fee calculator gives the fee and the breakeven for any price.
- Paper or live?
- Agents trade on paper unless you build them live. Paper orders fill against Kalshi's live order book and settle when the real market settles. To trade real money, connect your own Kalshi API key and build a live agent; your money stays on your Kalshi account.