Build vs Buy a Kalshi Trading Bot: DIY, Hire a Developer or Use an App

DeskBot — trading software and customer guides

Educational guide. Trading can lose money, including the full amount you pay for a contract. DeskBot does not guarantee profits, returns, win rates or income. DeskBot is not affiliated with, endorsed by or a partner of Kalshi.

Short answer

There are three ways to get a trading bot running on Kalshi: write it yourself against Kalshi's API, pay a developer to write it for you, or use a ready-made app. Building it yourself costs the least money and the most time, and you own every line. Hiring someone gets you custom code, but you inherit code you may not be able to maintain when Kalshi changes its API, which it does. A ready-made app is the fastest way to start and the cheapest per month, but you are limited to the rules it supports. None of the three changes the arithmetic of the market: every rule still has to win more often than its price plus the fee, or it loses money no matter who wrote it.

This guide lays out what each route actually involves, using Kalshi's own documentation for the technical parts, so you can pick the one that fits your time, skills and budget.

What any Kalshi bot has to do

Before comparing routes, it helps to list the jobs a working bot must do. Whoever builds it, these are the parts:

  1. Authenticate. Kalshi API keys are key pairs. You sign each request with your private key and send three headers: KALSHI-ACCESS-KEY (the key ID), KALSHI-ACCESS-TIMESTAMP (milliseconds) and KALSHI-ACCESS-SIGNATURE. The signature covers the timestamp, the HTTP method and the path, and the path must be signed without its query string. Kalshi supports Ed25519 keys (the default, and recommended) and 2048-bit RSA keys signed with RSA-PSS and SHA-256. Kalshi does not store your private key: if you lose it, you make a new one.
  2. Find the right market. Kalshi organises contracts as series, events and markets. A 15-minute crypto market opens and closes on a fixed clock, so a bot has to find the current market ticker every window rather than reuse an old one. See Kalshi tickers, series, events and markets.
  3. Read prices. Kalshi's order book lists bids only. A Yes bid at 40¢ is the same as a No ask at 60¢, so the bot has to compute the price it would actually pay from the other side of the book. See how to read the Kalshi order book.
  4. Decide. This is the strategy: when to buy, which side, how many contracts, and when to skip.
  5. Place and manage orders. Kalshi's documentation says the legacy /portfolio/orders endpoint will be deprecated no earlier than May 6, 2026 and that clients should move to the V2 create-order endpoint, which quotes direction as a single-book bid/ask side with fixed-point dollar prices. Code written against the old shape needs updating.
  6. Stay inside limits. Every authenticated request costs tokens from a per-second budget set by your API tier (more below). A bot that polls too fast gets 429 Too Many Requests.
  7. Record everything. Without a log of every order, fill, fee and settlement, you cannot tell whether a rule works.
  8. Keep running. A bot only trades while the machine it runs on is awake and online, and Kalshi has scheduled maintenance windows. See Kalshi trading hours and maintenance.

Route 1: build it yourself

Kalshi publishes official SDKs: kalshi_python_sync and kalshi_python_async for Python and kalshi-typescript for TypeScript. The older kalshi-python package is deprecated. Kalshi's own SDK page warns that the SDKs are updated periodically and may lag the API, and recommends that active traders treat the OpenAPI and AsyncAPI specifications as the source of truth. In practice that means a hand-built bot should be written so you can see and change the raw requests, not hidden behind a library you cannot update.

Kalshi also runs a demo environment at demo.kalshi.co with mock funds and its own API root. Credentials are not shared between demo and production, so you create separate keys. Kalshi warns that prices and behaviour in demo may not reflect real markets, so demo is for testing that your code works, not for testing whether your strategy works. See the Kalshi demo environment and our Kalshi API tutorial in Python.

What it costs: no money beyond your time and a computer or server. Our own estimate for a working first version (authentication, market discovery, order book reading, one simple rule, V2 orders, logging) is a few evenings for an experienced Python developer and a few weeks for someone learning as they go. The ongoing cost is maintenance: following Kalshi's changelog, migrating endpoints, and fixing the bot when something changes during a live window.

Good fit if: you write code already, you want rules no product offers, and you enjoy the engineering as much as the trading.

Watch out for: the private key. It is the key to your account's trading. Keep it out of shared folders, screenshots and code repositories, and never paste it into a chat or a website you did not build.

Route 2: hire a developer

Freelance marketplaces have listings for custom Kalshi bots, and people regularly ask in trading forums to pay someone to set one up. A custom build can do exactly what you describe, which is the appeal. The risks are mostly about what happens after delivery:

  • Your key, their code. To test a bot on your account, a developer may ask for your API key. Kalshi supports scoped keys and lets you delete a key permanently, after which it can no longer authenticate; give a contractor demo keys first and only move to production keys once you control the machine the bot runs on.
  • Maintenance. Kalshi changes its API on a regular schedule (its SDK page says releases generally come out Tuesday to Wednesday each week). When an endpoint is deprecated, someone has to update the code. If that is the original developer, you pay again; if it is you, you need to read their code.
  • Testing. Ask how the developer tested the bot. "It ran in demo" checks the plumbing only. A strategy needs a record of real or realistic fills with fees.
  • Promises. Be wary of anyone who sells a bot with a promised win rate or return. Nobody can know how a market will settle, and Kalshi markets settle on outside data the developer does not control.

Good fit if: you have a specific, written rule set, you can review the code or pay someone to, and you have a plan for updates.

Route 3: use a ready-made app

Ready-made Kalshi tools come in a few forms: hosted services that trade from the vendor's servers, signal or alert services that tell you what to do but do not trade, and desktop apps that run on your own computer with your own API key. We compare named tools, with prices taken from their own pages, in our Kalshi trading bot comparison and best Kalshi tools.

Questions worth asking any ready-made tool before you connect your account:

  • Where does it run, and who holds the private key?
  • Does it show the fee on every order, and does it log every take and every skip?
  • Can you set a maximum per trade and a daily loss limit yourself?
  • Does it have a paper mode, and does that paper mode charge fees and use the real ask price?
  • Does it claim a win rate? If so, over how many trades, and does the number include fees?

Good fit if: you want to start this week, you do not want to maintain code, and the app's rules cover what you want to trade.

The math is the same on every route

Whoever writes the bot, each rule has to clear the same bar. A Kalshi contract pays $1 if it settles your way and $0 if not. If you buy Yes at 60¢, you need to be right more than 60% of the time just to cover the price. The taker fee in Kalshi's fee schedule is based on 0.07 × contracts × price × (1 − price). At 60¢ that is 0.07 × 0.60 × 0.40 = about 1.68¢ per contract, before rounding. So the real break-even is about 61.7%.

Price paid Taker fee per contract (approx.) Break-even win rate
30¢ 1.47¢ 31.5%
50¢ 1.75¢ 51.8%
60¢ 1.68¢ 61.7%
80¢ 1.12¢ 81.1%
90¢ 0.63¢ 90.6%

Fees are rounded on each fill under Kalshi's fee rounding rules, so the exact amount on small orders can be slightly higher; check your fills. A bot that wins 85% of its trades at an average price of 88¢ is losing money. That is why the log matters more than the code: judge each rule by its win rate against its break-even over at least 100 trades, not by how often it wins. See Kalshi fees and break-even win rate.

Rate limits: why a homemade bot often hits 429

Kalshi meters authenticated requests with tokens. Most requests cost 10 tokens. There are separate Read and Write buckets, and the Basic tier refills 200 Read tokens and 100 Write tokens per second. At 10 tokens per order, a Basic account sustains about 10 order writes per second, and Basic Write buckets hold only one second of budget, so there is no burst. Batch endpoints do not save tokens; each item is billed. A throttled request returns 429 with no Retry-After header, and Kalshi recommends exponential backoff. The balance endpoint has its own bucket, limited to once per second on Basic and Advanced, so reacting to fills over the WebSocket beats polling balance. For a single trader on 15-minute markets these limits are generous, but a loop that re-reads every market every few milliseconds will hit them. More in Kalshi API rate limits and WebSockets.

Safety features to build or demand

  • A per-trade maximum and a daily loss limit you set yourself. See daily loss limits for Kalshi bots.
  • Order groups. Kalshi lets you put orders in a group with a contracts limit over a rolling 15-second window; when the limit is hit, every order in the group is cancelled until you reset it. It is a useful brake against a runaway loop. See Kalshi order groups.
  • A skip log. The trades a bot declines are as informative as the ones it takes.
  • Paper first, then small size. Paper results that ignore the spread and fee look better than live results. See Kalshi paper trading vs live.

Side by side

Build it yourself Hire a developer Ready-made app
Money up front None Whatever you agree Subscription
Time to first trade Days to weeks Depends on the developer Same day
Custom rules Anything Anything you specify What the app supports
API updates You You or the developer, again The vendor
Who holds the key You Depends on the setup Depends on the app
Guaranteed profit No No No

Where DeskBot fits

DeskBot uses proprietary trading logic with customer-selected settings. Its dashboard shows supported market views and app activity. See the current product and support pages for the features and requirements of your release.

Can I build my own Kalshi trading bot?

Yes. Kalshi offers a public trading API with official Python and TypeScript SDKs, a demo environment with mock funds, and documentation for authentication, orders and market data. You need an API key from your Kalshi account settings.

What programming language is best for a Kalshi bot?

Kalshi publishes official SDKs for Python (sync and async) and TypeScript. Python is the most common choice for personal bots. Kalshi notes that its SDKs can lag the API and that the OpenAPI specification is the source of truth.

Is it safe to give a developer my Kalshi API key?

Treat the private key like a password to your trading account. Give a contractor demo-environment keys for development, keep production keys on a machine you control, and revoke any key you no longer use.

Does the Kalshi demo environment use real prices?

No. Demo uses mock funds, and Kalshi warns that prices and market behaviour there may not reflect real markets. Use it to test that your code works, not to judge a strategy.

Why does my Kalshi bot get 429 errors?

It is spending tokens faster than your tier refills them. Most requests cost 10 tokens; the Basic tier refills 200 Read and 100 Write tokens per second. Slow the loop, use WebSockets for updates, and back off exponentially on 429.

Is a ready-made Kalshi bot better than a custom one?

Neither is better at predicting markets. A ready-made app is faster to start and someone else maintains it; a custom bot can run any rule you want. Both have to beat price plus fee to make money.

How much money do I need to run a Kalshi bot?

Kalshi contracts cost between 1¢ and 99¢ each, so the account balance needed depends on your size per trade. Start with an amount you can afford to lose entirely and a daily loss limit.

Is DeskBot affiliated with Kalshi?

No. DeskBot is independent software that uses Kalshi's API with your own key. It is not affiliated with, endorsed by or a partner of Kalshi.

Trading can lose money. DeskBot does not guarantee profits, returns, win rates or income. Not affiliated with Kalshi. API, SDK, demo and rate-limit details quoted from Kalshi's documentation (Kalshi SDKs, API Keys, Test In The Demo Environment, Rate Limits and Tiers, Create Order V2, Fee Rounding) on October 31, 2026; check kalshi.com for the current rules and fee schedule.

Current product information: Kalshi · Robinhood · Setup and support. Check the relevant product page for current downloads, pricing, renewal and cancellation terms. Desktop and mobile products have separate availability and offers.

Educational content, not financial advice. Trading can lose money. DeskBot does not guarantee profits, returns, win rates or income and is not affiliated with or endorsed by the named exchanges or brokers.