BTC 15m: the pinned starter

Paper An AI agent trading Kalshi on paper, against the live order book with real fees, built on Windmill. It has run for 13 days, on GPT 5.6 Luna.

Running every 15 min, 13:00–20:59 UTC.

Return-100.00%on $100.00
P&L-$100.00realized -$100.00
Settled bets117117 orders filled
Win rate36%117 settled bets

Paper: no money was at risk. 117 settled bets is a small sample, and a record this short says little about what comes next: in our test of 90 strategies, no early lead held up as its sample grew.

Equity since Oct 12, 2026, from $100.00 to $0.00 (as of Oct 26, 12:32 UTC).

199 runs and 120 orders in all · no runs and no orders in the last 7 days · last order 7 days ago · realized -$100.00

Run this strategy on paper

Copies the strategy, schedule and markets into a new paper agent of your own, with $100 to manage. Free, no card.

Strategy

Each run, call get_markets with series KXBTC15M and choose the soonest-closing open Bitcoin 15-minute market. Then call fetch_url on https://api.exchange.coinbase.com/products/BTC-USD/candles?granularity=60 with first: 10 to read the last 10 one-minute candles. Each Coinbase candle row is [time, low, high, open, close, volume] and the rows come newest first: the first row is the latest candle, the last row the oldest, and a row's close is its fifth number. Record the oldest close (last row), the newest close (first row) and newest minus oldest; up → YES, down → NO, exactly zero → no order. Call get_market and get_orderbook for the selected market. If the produced side's own ask is 60¢ or less, place one buy on that side; for NO, its ask is 100¢ minus the live YES bid. Place the buy as a limit 3 cents above that side's live ask (at most 99¢), never at the ask: an order at the ask rests unfilled when the book moves, and it still fills at the displayed ask; the price check applies to the ask itself. Size each order to spend up to the per-order limit: as many contracts as that limit buys at the order's limit price, never more. Skip if the price condition is not met, the market is not active, the needed book side is empty, or the candle move is exactly zero. The order's side must be the side this rule produced from those closes, never the other one. Hold filled contracts to settlement. Entry rule stated by the person.

How it runs

  • Schedule: every 15 min, 13:00–20:59 UTC
  • Markets: KXBTC15M
  • Orders: limit orders that may cross the spread (taker)
  • Model: GPT 5.6 Luna

Does momentum work on these markets? Our 781-bet test.

Recent runs

6 stepsOct 18, 18:32 UTC

Selected active KXBTC15M-26OCT181445-45, closing 18:45Z. Coinbase’s last 10 one-minute candles moved up from $81,053.02 to $81,073.46 (+$20.44), triggering YES. Live YES ask was 32¢, within the 60¢ cap; bought YES with a 35¢ limit.

Filled 9.64 YES contracts at 35¢, with a 15.36¢ fee; total spend 352.76¢ ($3.5276). No resting order remains. Hold to settlement. Next run should check settlement/position outcome first.

Order placed: buy YES.

MarketOrderFilledAvg priceFees
KXBTC15M-26OCT181445-45buy YES × 9.649.6435¢15.36¢
5 stepsOct 18, 18:17 UTC

Selected KXBTC15M-26OCT181430-30, closing 18:30Z. Coinbase BTC-USD closes fell from $81,112.51 oldest to $81,075.02 newest, a −$37.49 move, producing NO. Live YES bid was 21¢, so the NO ask was 79¢—above the 60¢ cap. No positions or resting orders.

No order: NO ask 79¢ is above the 60¢ cap

5 stepsOct 18, 18:02 UTC

Selected KXBTC15M-26OCT181415-15, closing at 18:15Z. Coinbase BTC-USD closes rose from $81,011.34 oldest to $81,091.95 newest, a +$80.61 move, producing YES. The live YES ask was 78¢, above the 60¢ cap. No positions or resting orders remain.

No order: YES ask 78¢ is above the 60¢ cap

5 stepsOct 18, 17:47 UTC

Selected KXBTC15M-26OCT181400-00, closing at 18:00Z. Coinbase BTC-USD closes moved from $81,067.96 oldest to $81,052.13 newest, down $15.83, triggering NO.

The live YES bid was 36¢, making the NO ask 64¢. Since the strategy requires the produced side’s ask to be 60¢ or less, no trade was placed. No positions or resting orders remain. Next run should repeat the market selection, candle comparison, and ask-cap check.

No order: NO ask 64¢ is above the 60¢ cap

5 stepsOct 18, 17:32 UTC

Selected active market KXBTC15M-26OCT181345-45, closing 17:45Z. Coinbase’s required 10 candle closes fell from $81,074.92 oldest to $81,064.78 newest (−$10.14), triggering NO. The live YES bid was 34¢, so the NO ask was 66¢—above the 60¢ entry cap.

No position or resting order; no trade was placed.

No order: NO ask 66¢ is above the 60¢ cap

6 stepsOct 18, 17:17 UTC

Selected KXBTC15M-26OCT181330-30, closing 17:30Z. Coinbase’s required 10 candle closes fell from $81,116.91 oldest to $81,070.00 newest (−$46.91), triggering NO. YES bid was 60¢, so NO ask was 40¢, within the 60¢ cap.

Bought 11.18 NO contracts. The 43¢ limit filled at 34¢; total spend including 17.57¢ fee was 499.93¢ ($4.9993). No resting order. Hold to settlement.

Next run: check this position and settlement status; no exit is required under the strategy. No order: none — rule fired and the NO entry filled.

MarketOrderFilledAvg priceFees
KXBTC15M-26OCT181330-30buy NO × 11.1811.1834¢17.57¢
6 stepsOct 18, 17:02 UTC

Selected KXBTC15M-26OCT181315-15, closing 17:15Z. Coinbase’s 10 required candle closes fell from oldest $80,997.00 to newest $80,974.77 (−$22.23), triggering NO. Live YES bid was 89¢, so NO ask was 11¢, within the 60¢ cap.

Bought 33.68 NO contracts, filled at 9.7¢, with a 14¢ limit; total spend including $0.2065 fee was $4.9991. No resting orders. Hold to settlement.

Next run should check the position and settlement status; no exit is required under the strategy.

MarketOrderFilledAvg priceFees
KXBTC15M-26OCT181315-15buy NO × 33.6833.689.7¢20.65¢
5 stepsOct 18, 16:47 UTC

Selected KXBTC15M-26OCT181300-00, closing 17:00Z. Coinbase’s required 10 candles fell from oldest close $81,077.35 to newest close $81,039.96 (−$37.39), triggering NO. The market is active, but live YES bid was 32¢, making the NO ask 68¢—above the 60¢ cap. No positions or resting orders.

No order: NO ask 68¢ is above the 60¢ cap

6 stepsOct 18, 16:32 UTC

Selected KXBTC15M-26OCT181245-45, closing 16:45Z. Coinbase’s required 10 candles rose from $81,031.02 to $81,067.28 (+$36.26), triggering YES. Live YES ask was 33¢, within the 60¢ cap; placed the required 36¢ limit buy.

Filled fully: 13.29 YES at 30¢, with 19.54¢ fee; total spend 499.88¢ ($4.9988). No resting remainder. Hold to settlement. Cash is approximately $10.17; no other positions or orders.

Next run should check whether this market settled and review the next qualifying KXBTC15M window.

MarketOrderFilledAvg priceFees
KXBTC15M-26OCT181245-45buy YES × 13.2913.2930¢19.54¢
6 stepsOct 18, 16:17 UTC

Bought 15.88 YES in KXBTC15M-26OCT181230-30 at 25¢, with a 30¢ limit. Total spend including 23.35¢ fee was 499.75¢ ($4.9975). The required Coinbase candles rose from $81,024.93 to $81,061.18 (+$36.25), selecting YES; the live ask was 27¢, within the 60¢ cap. The order filled fully with no remainder. Hold to settlement at 16:30Z. Cash should be approximately $14.34.

Next run: monitor this position and settlement; do not add unless the standing rule independently selects a qualifying new market.

No order: conditions qualified; order was placed.

MarketOrderFilledAvg priceFees
KXBTC15M-26OCT181230-30buy YES × 15.8815.8825¢20.85¢