Before you build a Kalshi bot

The lessons this lab paid for, in the order you will need them. Free, with the full tables for members.

By The Heron.

New to Kalshi? The glossary explains every term on this site with a real trade, and there is a four minute video of it.

I wanted to build a trading bot for Kalshi. There was almost nothing published on what had been tried, what worked, and the data to prove it. So I built the lab and published everything, including the losses. If you are about to build one, the lessons are below, in the order you will need them.

Every lesson is a study this lab ran against real order books and, where it says so, with real money. Nothing here is advice and none of it says how the bot quotes. It says what the exchange actually does, what died, and why.

How to read the badges. Free is the finding and every verdict, for anyone. Members is the full tables, the live records and the paragraph on what killed each strategy, $15 a month. Desk is the per trade files, the method notes and a vote on what the lab tests next, $99 a month.

Code, not just lessons. Four of these tools are free on GitHub: the starter, with the fee schedule, the history backfill, the series grader and the ticker and settlement facts as code, no key needed. The full harness the lab runs on, the exchange client, the honest paper engine, pre-registered blocks and the nightly seal, is the Desk tier's download.

Building it with an AI assistant? The starter includes KALSHI-CONTEXT.md, a file to paste into Claude, ChatGPT or Cursor before it writes a line: every trap on this page as facts the model can check its own code against, with no strategy in it. Your assistant can write the bot. It does not know what the exchange does, and this is the part it gets wrong by default.

Lesson 1

The exchange charges you in ways the fee page does not show

Makers trade free on 13,003 Kalshi series and pay on 130, and the 130 are where the volume is. The fee rounds up, so at one contract it is a flat cent per fill at every price. Fee type belongs to the exact series: KXATPMATCH charges makers, KXATPCHALLENGERMATCH does not.

Lesson 2

Your clock is wrong, and so is your idea of what the API gives you

The time inside a ticker is New York, not UTC, four hours off in summer and five in winter. The public API serves every market since December, the trade tape and one minute candles with no key. It does not serve the order book. Depth exists only if you were recording when it happened.

Lesson 3

Know what settles the market before you model it

Crypto settles on CF Benchmarks. The five commodity series settle on Pyth index feeds, which are not the spot feeds most people watch, and there is no strike in the ticker: the price to beat is the feed's print at the window's open.

Lesson 4

The prices are honest at the top and expensive at the bottom

Across 21,796 trades in a week, contracts under 30 cents paid out 1.4 points less often than the price promised. Above 90 cents the price is accurate to half a point. A strategy built on longshots pays that toll before it has an opinion, then the fee lands on top.

Lesson 5

Large trades are not noise to sell into

Every $500 print followed and faded, 15,003 settled trades. Fading loses in every price band. Following breaks even before fees and clears them in exactly one place, and even there by a fraction of a cent. The book reprices before the whale shows on the tape.

Lesson 6

Paper trading lies, and here is the size of the lie

Our best paper strategy showed +1.87 cents a fill across 11,329 fills with an interval entirely above zero. Live it lost 4.1 cents a contract in thirteen hours. A hundred percent fill rate is a warning, not a success. The gap between paper and live has run from +0.9 to −6 cents across six strategies.

Lesson 7

The cost you cannot see is bigger than the fee

Crossing the spread, the signal was right and fees were three and a half times the edge. Resting orders, fees were exactly zero and the lanes lost anyway, because the person who crosses to reach you chooses the moment. On six strategies that costs 0.6 to 6 cents a contract. Our paper edges are about 2.

Lesson 8

Measure distance to the strike, not direction

The settlement index is a martingale, so no forecast of direction has positive expected value. What matters is how far the index is from the strike and how far it can still travel. Two thirds of our trades sat where the strike was reachable and earned three percent of the profit.

Lesson 9

Read the graveyard before you write a line

About forty experiments, fifteen with real money, and the one strategy that walked out died seven weeks later on its own pre-registered bar. The list of what died is public. The paragraph on what killed each one is the part worth paying for, because those are the mistakes you would otherwise pay to discover yourself.

Lesson 10

Test the way the lab tests: three gates and a bar written down first

Archive, then forward paper against live books, then real money one contract at a time. Run live in blocks with a pass mark written before the first order, judged once at the end, never tuned in the middle. Then publish the verdict either way and seal the ledger.

Lesson 11

Then watch what the lab learns each week

The Sunday board is what the desk ran, what settled, and what it lost, every week, with the real money total sealed nightly. It is the part of this page that keeps changing.

Get the lessons by email, free

Subscribe free and the Sunday board comes to your inbox every week, losses included. Members get every table on this page and a seven day free read of the full boards.

Subscribe free   See the tiers