A bot for Kalshi's 15-minute bitcoin market

A Windmill bot for Kalshi's 15-minute bitcoin market (KXBTC15M) is an AI agent that runs your one-sentence rule every window you schedule: it reads the order book, places one order and holds it to settlement. In the first six days of our paper test, from August 27, 2026, momentum rules, mostly on Kalshi's 15-minute crypto markets, lost 3.35¢ a contract after fees, so see what your rule does before you risk money: free on paper, no card.

Write your 15-minute bitcoin rule in a sentence. A Windmill agent runs it every window you schedule, on paper and unattended, against Kalshi's live order book and fees, and you see each bet settle. Most rules we have tested on it land near a coin flip after fees, or below it. Find out whether yours is different before you put money on it.

What the market asks

Kalshi's 15-minute bitcoin series, KXBTC15M, 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 bitcoin 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 12, 2026. The times change with every window:

“If the simple average of the sixty seconds of CF Benchmarks' BRTI before 12:45 PM EDT on Oct 12, 2026 is at least the simple average of the sixty seconds of CF Benchmarks' BRTI before 12:30 PM EDT on October 12, 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).”

So the price that settles the market is CF Benchmarks' index, 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.

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 KXBTC15M market, the one that closes soonest, and reads its order book.
  2. If its rule needs bitcoin's recent moves, it reads Coinbase's public 1-minute candles. Agents can't read the BRTI index the market settles on, so Coinbase stands in for it: close, but not the same number.
  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. The schedule also keeps off the minute a window rolls over, when the series briefly has no open market: the builder moves a run due then to 2 minutes later. What agents can read lists every tool an agent has and what it cannot reach.

Four rules to start from

Each of these is one sentence you can hand to the builder as is. The button opens the builder with the rule 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. Each rule, or a close cousin of it, also runs as a public paper agent on Windmill, whose page carries its record.

Follow the window's target

“Every 15 min, buy YES if BTC is above the window target, NO if below, at 60¢ or less”

Each run reads the window's target, the price the market settles against, and bitcoin's spot price from Coinbase. If spot is above the target, the agent buys YES; if it is below, NO. It buys only while that side costs 60¢ or less, places one order a window and holds it to settlement.

It comes first because a window pays on where bitcoin ends against its target, not on how it moved in the last few minutes.

An agent on Windmill runs this rule: BTC 15m follow the target ≤60¢.

Run this rule on paper

Buy the late favorite

“With 6 min left in each 15-min BTC window, buy whichever side is priced 70–88¢”

Six minutes before the window closes, the agent reads the order book. If one side's ask is between 70¢ and 88¢, it buys that side and holds to settlement. If neither side is in that range, it does nothing.

An agent on Windmill runs this rule: btc15-favorite-late.

Run this rule on paper

Fade a late jump

“With 5 min left in a 15-min BTC window, fade a side that rose 8¢+ in 3 min to 62–85¢”

Five minutes before the window closes, the agent reads the last few minutes of the market's price history. If one side rose 8¢ or more in 3 minutes and now costs 62¢ to 85¢, it buys the other side and holds to settlement. Otherwise it does nothing.

An agent on Windmill runs this rule: btc15-fade-late.

Run this rule on paper

Follow the last 10 minutes

“Every 15 min, buy the side BTC moved over the last 10 min if it's 60¢ or less”

Each run reads Coinbase's 1-minute bitcoin candles for the last 10 minutes. If the price went up, the agent buys YES; if it went down, NO. It buys only while that side costs 60¢ or less, places one order and holds it to settlement.

It is here as a study: in our paper test from August 27 to September 6, 2026, a family of rules like it lost money after fees, and the research page has the numbers.

BTC 15m: the builder's rule runs the same move-following rule without the 60¢ cap.

Run this rule on paper

These are starting points, not recommendations. Change a number, add a condition, or write your own rule from scratch: anything you can check from the order book, the market's price history or a public web page on each run.

What the test found

In our paper test from August 27 to September 6, 2026, a family of momentum agents, mostly on Kalshi's 15-minute crypto markets, lost 3.35¢ a contract after fees by the test's sixth day. A coin-flip control in the same test lost about 0.4¢, roughly what the fees cost. The research page sets out what we ran, the result and its caveats.

Four public paper agents on Windmill trade this market. Their pages carry the live record, with every bet counted, so they are linked here rather than copied as numbers that would go stale:

  • BTC 15m: the builder's rule: buys the side of the last 10 minutes' move, every window it runs.
  • BTC 15m: coin-flip control: buys the cheaper side with no view at all. It is the line the others are measured against: a rule that does no better than this has found nothing.
  • btc15-favorite-late: buys a 70–88¢ favorite with about six minutes left. It also ran from August 27 to September 6.
  • btc15-fade-late: buys against a late jump. It also ran from August 27 to September 6.

A few dozen settled bets say little: an agent can be well ahead or behind on that many by chance. Compare any record with the coin-flip control's, and look at how many bets it rests on.

Kalshi runs the same kind of 15-minute market on gold, KXGOLD15M. A bot for the 15-minute gold market carries one momentum rule's full paper record there, 138 bets with every number shown. The same rule on Kalshi's 15-minute ether market, KXETH15M, lost money: a bot for the 15-minute Ethereum market has its 144 bets.

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. Two of the agents linked above, the builder's rule and the coin-flip control, run only from 13:00 to 20:59 UTC, one run a window.

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 a slower bitcoin market, Kalshi's hourly one asks whether bitcoin ends the hour above each of a ladder of strikes: a bot for the hourly bitcoin market shows how an agent picks a strike, with three rules to run on paper.

Questions

Is a 15-minute bitcoin bot profitable?
Our own data says this market is close to a coin flip after fees. In our paper test, a momentum family that traded mostly these markets lost money after fees, and a control that picked its side at random lost about what the fees cost. The research page has the numbers and the caveats. A rule of yours may be different; running it on paper is how you find out, before you risk money.
Does the agent read the price Kalshi settles on?
No. Kalshi settles this market on CF Benchmarks' BRTI, which agents can't read. They read Coinbase's public bitcoin candles instead, a close proxy but not the same number, and Kalshi's own order book and price history for the market.
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. 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.
Do I need a Kalshi account?
Not for paper: that needs only a Windmill account, free, with no card. A live agent needs a Kalshi account and an API key from it.