sanzoi-tech/polymarket-kalshi-arbitrage-bot — explained in plain English
Analysis updated 2026-05-18
Monitor a matched Polymarket and Kalshi market pair for arbitrage price gaps in real time.
Automatically place Polymarket buy orders when a configured spread threshold is met.
Catch late-entry opportunities when one venue settles while the other still has liquidity.
Deploy a self-hosted monitoring API to track prediction market pricing signals.
| sanzoi-tech/polymarket-kalshi-arbitrage-bot | abeehive/annado | antfu/vite-dev-rpc | |
|---|---|---|---|
| Stars | 75 | 75 | 75 |
| Language | TypeScript | TypeScript | TypeScript |
| Last pushed | — | — | 2026-05-01 |
| Maintenance | — | — | Maintained |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 4/5 | 2/5 | 2/5 |
| Audience | developer | vibe coder | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Polymarket wallet trading credentials and Kalshi API access configured via a .env file for real order placement.
This is an automated trading bot written in TypeScript that looks for pricing differences between two prediction market platforms, Polymarket and Kalshi, and places buy orders when it spots an opportunity. Prediction markets are platforms where people bet on the outcome of real world events, such as whether a stock will go up in the next 15 minutes, by buying tokens priced from 0 to 100 cents. When the same event is listed on two platforms at different prices, there is a potential arbitrage opportunity: buying the cheaper one in hopes it settles at the same value as the more expensive one. The bot continuously polls both platforms on a configurable interval, comparing the Kalshi YES price against the Polymarket UP price for a matched market pair. It follows two rules: first, if Kalshi is pricing a YES outcome between 93 and 96 cents and Polymarket is pricing the same outcome at least 10 cents cheaper, the bot signals a buy on Polymarket. Second, if Kalshi's market has already closed or settled while Polymarket still has an active order book, the bot flags a late entry buy opportunity. When trading credentials are configured, it places real Polymarket orders through the official Polymarket order client library. The application runs as a lightweight Express web server, with Express being a framework for building web APIs in Node.js, and exposes a status endpoint you can query to see current signals. It is designed to be deployed on a cloud server, container, or VPS. The stack is Node.js 18 or later, TypeScript, Express, and Axios for HTTP requests, plus the ethers library for wallet support. The README is explicit that trading prediction markets involves real risk. The project provides configurable automation and monitoring logic, but it does not guarantee profit and does not eliminate execution, liquidity, market, regulatory, or operational risk.
A TypeScript bot that watches Polymarket and Kalshi prediction markets for price gaps and automatically buys Polymarket tokens when its arbitrage rules trigger.
Mainly TypeScript. The stack also includes TypeScript, Node.js, Express.
The README does not state a license for this repository.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.