A bot for Kalshi's 15-minute Ethereum market
A Windmill bot for Kalshi's 15-minute Ethereum market (KXETH15M) 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. One momentum rule made 144 paper bets here from August 27 to September 2, 2026 and lost money after fees, so test yours before you risk money: free on paper, no card.
Write your 15-minute Ethereum 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 made 144 paper bets on this market in a week of August and September and lost $32.24 after fees, 4.5¢ a contract. Every number is below.
What the market asks
Kalshi's 15-minute Ethereum series, KXETH15M, lists a new market for every quarter hour. Each one opens at :00, :15, :30 or :45 and closes 15 minutes later, when the next one opens. It asks one question: will ether 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 16, 2026. The times change with every window:
“If the simple average of the sixty seconds of CF Benchmarks' ETHUSDRTI before 10:30 PM EDT on Oct 16, 2026 is at least the simple average of the sixty seconds of CF Benchmarks' ETHUSDRTI before 10:15 PM EDT on October 16, 2026, then the market resolves to Yes.”
Kalshi adds, in the same market's rules:
“Not all cryptocurrency price data is the same. While checking a source like Google or Coinbase may help guide your decision, the price used to determine this market is based on CF Benchmarks' corresponding Real Time Index (RTI). At the last minute before expiration, 60 RTI prices are collected. The official and final value is the average of these prices, rounded to the nearest 2 decimal places.”
So the price that settles the market is CF Benchmarks' ether index, which the series names as its settlement source, averaged over the last minute at each end 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.
Like bitcoin, and unlike gold, ether trades around the clock. When we read Kalshi's API on October 16, 2026, the series listed all 96 windows a day, weekends included, except on Thursdays, when it paused from 3:00 to 5:00 AM EDT and listed 88. It listed the same windows in the week the agent below traded.
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:
- It finds the open KXETH15M market. Kalshi lists only the current window, so there is one to find.
- It reads that market's order book and its recent price history, minute by minute.
- 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.
- 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, one week
eth15-momentum, a public paper agent on Windmill, traded 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 ran every 15 minutes, around the clock, at :06, :21, :36 and :51 past each hour, six minutes into each window, from August 27 to September 2, 2026, and has been paused since. Its bets were placed with about 7 to 9 minutes left in the window.
In one line, the way the builder takes it:
“At :06, :21, :36 and :51 past each hour, on the open KXETH15M 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.”
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. Given the record below, treat it as something to change, not to copy as is: change a number, add a condition, or write your own rule from scratch.
Its record
The agent settled 144 paper bets, all between August 27 and September 2, 2026. It won 88 of them and lost $32.24 after Kalshi's fees. Of the 144, 143 were 5 contracts each; the other, on September 1, did not fill in full and made 14¢, and the per-contract figures and the tables below leave it out. Profit and loss is realized, after fees.
| Day (UTC) | Bets | Won | Net | A contract |
|---|---|---|---|---|
| Thu, Aug 27 | 8 | 3 | −$10.12 | −25.3¢ |
| Fri, Aug 28 | 24 | 10 | −$25.01 | −20.8¢ |
| Sat, Aug 29 | 25 | 17 | +$2.42 | +1.9¢ |
| Sun, Aug 30 | 21 | 15 | +$5.80 | +5.5¢ |
| Mon, Aug 31 | 34 | 24 | +$6.80 | +4.0¢ |
| Tue, Sep 1 | 18 | 11 | −$3.21 | −3.6¢ |
| Wed, Sep 2 | 13 | 7 | −$9.06 | −13.9¢ |
| All 143 | 143 | 87 | −$32.38 | −4.5¢ |
Across the 143 it paid 65.4¢ a contract on average with the fee, so it needed to win 65.4% of the time to break even. It won 60.8%, and the gap is the 4.5¢ a contract it lost. It bought YES 85 times and won 58, for +$12.16; it bought NO 58 times and won 29, for −$44.54. Each side paid 65.4¢ a contract on average.
A loss this size on 143 bets could still be bad luck. 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: the 95% range for the true figure runs from about −11.9¢ to +2.8¢ a contract. It includes zero, but most of it is below. Nothing in this record points to an edge.
The agent also didn't always keep to its rule. The rule allows a limit of 84¢ at most, an 80¢ ask plus 4, but 17 of its bets had a higher one. All 17 won, for +$11.26: at about 87¢ a contract with the fee, a favorite usually wins and pays little. Two more had a limit below 34¢, and both lost. The 124 bets inside the rule's limits lost $40.94, 6.6¢ a contract. An agent follows its rule as a model reads it, and its run reports are where you check that it did.
The same 143 bets by the hour, in UTC, of the agent's first fill:
| Hour (UTC) | Bets | Won | Net |
|---|---|---|---|
| 00:00 | 2 | 0 | −$5.16 |
| 01:00 | 6 | 6 | +$7.78 |
| 02:00 | 3 | 3 | +$2.04 |
| 03:00 | 7 | 5 | +$1.49 |
| 04:00 | 8 | 3 | −$13.25 |
| 05:00 | 8 | 3 | −$7.42 |
| 06:00 | 4 | 1 | −$7.21 |
| 07:00 | 10 | 6 | −$1.04 |
| 08:00 | 4 | 1 | −$6.92 |
| 09:00 | 4 | 3 | +$3.30 |
| 10:00 | 6 | 3 | −$5.40 |
| 11:00 | 8 | 6 | +$4.12 |
| 12:00 | 8 | 2 | −$18.12 |
| 13:00 | 6 | 4 | −$0.57 |
| 14:00 | 4 | 3 | +$1.07 |
| 15:00 | 7 | 7 | +$11.69 |
| 16:00 | 6 | 5 | +$6.31 |
| 17:00 | 3 | 2 | −$0.52 |
| 18:00 | 3 | 2 | +$0.84 |
| 19:00 | 7 | 5 | +$2.45 |
| 20:00 | 10 | 3 | −$13.93 |
| 21:00 | 8 | 7 | +$5.82 |
| 22:00 | 5 | 4 | +$3.13 |
| 23:00 | 6 | 3 | −$2.88 |
No hour has more than 10 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 and every bet.
The agent was one of the momentum agents in our wider paper test from August 27 to September 6, 2026; the family as a whole lost 3.35¢ a contract after fees. The research page sets out what we ran, the result and its caveats. The same rule on gold, word for word but for the market, has a longer record there: up 2.3¢ a contract over 138 bets, which is inside noise too.
How often it can run
The market lists 96 windows a day. 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 was scheduled once a window, around the clock: 96 runs a day.
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, see the 15-minute bitcoin bot.
Questions
- Is a 15-minute Ethereum bot profitable?
- This one wasn't. The agent on this page lost $32.24 after fees over 144 paper bets, 4.5¢ a contract. A sample that size can't tell that loss from bad luck either, but it shows no sign of an edge. In our wider paper test, the momentum family it belonged to lost 3.35¢ a contract after fees; 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 CF Benchmarks' ether index, ETHUSDRTI: the average of its 60 seconds before the end of the window against the average of its 60 seconds before the start. If the end is at least the start, YES wins. The rule on this page doesn't read the index or any ether price; it reads Kalshi's own order book and price history for the market.
- When are there Ethereum windows?
- Around the clock. When we read Kalshi's API on October 16, 2026, the series listed a window every 15 minutes on every day of the week, weekends included, except for a two-hour pause from 3:00 to 5:00 AM EDT on Thursdays. It listed the same windows in late August and early September.
- 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 16, 2026, Kalshi listed this series with the same fee settings as its 15-minute bitcoin and gold markets: 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.