A bot for Kalshi's 15-minute gold market

A Windmill bot for Kalshi's 15-minute gold market (KXGOLD15M) is an AI agent that runs your one-sentence rule on the schedule you set: it reads the market's order book and price history, places one order and holds it to settlement. Counted on October 15, 2026, one momentum rule had made 138 paper bets here, too few to tell its result from a coin flip after fees, so test yours the same way: free on paper, no card.

Write your 15-minute gold rule in a sentence. A Windmill agent runs it on the schedule you set, on paper and unattended, against Kalshi's live order book and fees, and you see each bet settle. One momentum rule has made 138 paper bets on this market so far. It is up 2.3¢ a contract after fees, which is too little, on too few bets, to tell from a coin flip. Every number is below.

What the market asks

Kalshi's 15-minute gold series, KXGOLD15M, lists a new market for every quarter hour it trades. Each one opens at :00, :15, :30 or :45 and closes 15 minutes later. It asks one question: will gold be at least as high at the end of the window as at the start? This is the rule of the market that was open when we read Kalshi's API on October 15, 2026. The times change with every window:

“If the close price of the 1-minute candlestick for Gold on Oct 15, 2026 at 9:30 AM EDT is at least the close price of the 1-minute Pyth GOLD candlestick at 9:15 AM EDT on October 15, 2026 […], then the market resolves to Yes.”

Kalshi adds, in the same market's rules:

“The settlement value is rounded to the nearest 2 decimal places. When confirming the settlement value, note the close price for the 1-minute candlestick at a given time is the price at the end of the immediately preceding one-minute interval.”

So the price that settles the market is Pyth's gold price, which the series names as its settlement source, compared at the two ends of the window, and a tie resolves Yes. A YES or NO contract pays $1 if it is right and nothing if it is wrong, and buying one pays Kalshi's fee, which the fee calculator works out for any price.

Unlike bitcoin, gold does not trade around the clock. When we read Kalshi's API on October 15, 2026, the series listed 91 windows on a weekday: none from 5:00 to 6:15 PM EDT, and none from 5:00 PM EDT on Friday until 6:15 PM EDT on Sunday. In late August and early September it listed all 96 windows on a weekday and stopped later on Friday, which is why some of the bets below fall in hours that have no window now.

What a Windmill agent does each window

An agent runs on a schedule you set, not on a live stream. On each run it reads what it needs at that moment, decides, and stops. For this market a run usually goes like this:

  1. It finds the open KXGOLD15M market. Kalshi lists only the current window, so there is one to find while gold trades.
  2. It reads that market's order book and its recent price history, minute by minute.
  3. If the rule's condition is met, it places one order on the side the rule names, at a limit price, and holds it to settlement.
  4. It writes a short report of what it saw and did. You can read every run, step by step.

Runs are 10 minutes apart at the fastest, and nothing watches the market between them, so a rule that has to react within seconds won't work here. What agents can read lists every tool an agent has and what it cannot reach.

One rule, running since August

gold15-momentum, a public paper agent on Windmill, trades this market on early momentum. This is the core of its rule, word for word:

“If the last 3–5 minutes show a directional move of at least 5 points (YES price up → buy YES; YES price down → buy NO) and the ask you would pay is between 30 and 80, buy 5 contracts on the side of the move. This book moves several cents between your read and your order: set your limit 4 cents ABOVE the ask you saw — you still pay only displayed prices, and the order fills instead of resting. No clear move → do nothing.”

It skips a window with less than 6 minutes left, holds one position at a time and keeps every bet to settlement. It runs at :07 and :37 past each hour, Monday to Friday (UTC), seven minutes into a window. In its first stretch it ran every 15 minutes, weekends included.

In one line, the way the builder takes it:

“At :07 and :37 past each hour, Monday to Friday (UTC), on the open KXGOLD15M market: if the YES price moved 5¢ or more over the last 3–5 minutes, buy 5 contracts on the side it moved toward (up → YES, down → NO) when that side's ask is 30–80¢, with the limit 4¢ above the ask. No clear move, or under 6 minutes left, means no order. Hold to settlement.”

Run this rule on paper

The button opens the builder with that line already sent; it asks what it still needs (how much money the agent manages, the largest order) and shows you the agent before anything runs. To start from the agent's own full rule instead, copy the agent. It is a starting point, not a recommendation: change a number, add a condition, or write your own rule from scratch.

Its record so far

Counted on October 15, 2026, at 10:45 UTC, the agent had 138 settled paper bets, 5 contracts each, in two stretches: August 27 to September 5, and October 12 to 15. It was paused in between. Profit and loss is realized, after Kalshi's fees.

StretchBetsWonNetA contract
August 27 – September 511680+$18.69+3.2¢
October 12 – 152214−$2.79−2.5¢
Both stretches13894+$15.90+2.3¢

It bought YES 100 times, paying 67.4¢ a contract on average with the fee, and won 70 of them. It bought NO 38 times, paying 61.8¢, and won 24. Across all 138 bets it paid 65.8¢ a contract and won 68.1% of the time. A contract that costs 65.8¢ breaks even at a 65.8% win rate, and the gap between the two is the 2.3¢ it made.

That gap is inside the noise. A single 5-contract bet at 70¢ wins $1.42 after the fee or loses $3.58, so results swing a long way from bet to bet: over these 138, the 95% range for the true figure runs from about −4.9¢ to +9.5¢ a contract, and it includes zero. The first stretch was up and the second is down. A rule that does no better than a coin flip could have made this record.

The same bets by the hour, in UTC, of the agent's first fill:

Hour (UTC)BetsWonNet
00:00108+$5.67
01:0032−$0.44
02:0098+$6.63
03:0055+$8.11
04:0042−$2.58
05:0052−$6.06
06:0043+$2.70
07:0010−$1.53
08:0063−$2.97
09:0098+$9.52
10:0074−$2.36
11:00127−$1.28
12:0042−$2.98
13:0043+$1.76
14:0052−$6.07
15:0074−$2.93
16:0073−$7.83
17:0042−$2.46
18:0044+$6.20
19:0053−$0.57
20:0033+$5.30
21:0065+$1.97
22:0096+$0.39
23:0055+$7.70

No hour has more than 12 bets, so no hour's result here says anything about that hour. Picking the best hours after the fact and trading only those is how a backtest finds an edge that isn't there. The agent's page carries its record live, with every bet counted from here on.

In our wider paper test from August 27 to September 6, 2026, gold momentum looked like a leader early, at p = 0.050 over 91 bets, and drifted back toward zero as its sample grew; the momentum family as a whole lost 3.35¢ a contract after fees. The research page sets out what we ran, the result and its caveats.

How often it can run

The market lists 91 windows on a weekday. Every run of every agent counts against your account's run budget, so how many windows one agent can cover depends on your plan; the pricing page lists each plan's budget. The agent above runs twice an hour on weekdays, so it looks at about half the windows.

You set the schedule when you build the agent, and you can change it or pause the agent at any time. Paper trading is free, with no card. For the same kind of market on bitcoin, which trades around the clock, see the 15-minute bitcoin bot; the same rule as above ran on ether, where it lost money, and the 15-minute Ethereum bot has its record.

Questions

Is a 15-minute gold bot profitable?
We can't tell you that it is. The agent on this page is up 2.3¢ a contract after fees over 138 paper bets, but a sample that size can't tell 2¢ from nothing, and the second stretch of its record is down. In our wider paper test, gold momentum looked like a leader early and drifted back toward zero as its sample grew; the research page has the numbers. Running your own rule on paper is how you find out, before you risk money.
What does the market settle on?
On Pyth's gold price: the close of its 1-minute gold candle at the end of the window against the close at the start. If the end is at least the start, YES wins. The rule on this page doesn't read Pyth; it reads Kalshi's own order book and price history for the market.
When are there gold windows?
When we read Kalshi's API on October 15, 2026, the series listed a window every 15 minutes on weekdays, except from 5:00 to 6:15 PM EDT each day, and none from 5:00 PM EDT on Friday until 6:15 PM EDT on Sunday. In late August and early September its hours were longer.
Can it trade every minute, or react to every tick?
No. An agent runs on a schedule, every 10 minutes at the fastest, and nothing watches the market between runs. A rule that needs to react within seconds is a poor fit.
What are the fees?
Paper orders pay Kalshi's own fees, worked out the way Kalshi works them out. On October 15, 2026, Kalshi listed this series with the same fee settings as its 15-minute bitcoin market: an order that takes a resting price pays the most at 50¢ and less toward either end. The fee calculator gives the fee and the breakeven win rate 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.