explaingit

drakkar-softwares/polymarket-kalshi-arbitrage-bot

Analysis updated 2026-05-18

29TypeScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

A bot that watches Polymarket and Kalshi prediction markets for price gaps and can auto place buy orders when it finds one.

Mindmap

mindmap
  root((arbitrage bot))
    What it does
      Compares Kalshi and Polymarket prices
      Flags profitable spreads
      Places Polymarket orders
    Tech stack
      TypeScript
      Node.js
      Express
    Use cases
      Monitor price gaps
      Automate arbitrage trades
      Track settlement timing
    Audience
      Developers
      Traders
    Setup
      Config file
      Wallet credentials
      API access

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Monitor Polymarket and Kalshi prices for a matched short duration market pair.

USE CASE 2

Get an automatic buy signal when the two platforms disagree on price by enough to profit.

USE CASE 3

Run in monitoring only mode to study arbitrage opportunities without risking money.

USE CASE 4

Add wallet credentials to let the bot place live orders on Polymarket automatically.

What is it built with?

TypeScriptNode.jsExpressAxiosethers

How does it compare?

drakkar-softwares/polymarket-kalshi-arbitrage-botdavidhdev/rbp-portfolioiyenteam/hent-ai
Stars292929
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasymoderate
Complexity3/52/52/5
Audiencedeveloperdesignerdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs Polymarket and Kalshi API access, and a funded wallet if you want live order placement.

In plain English

This is an automated trading bot that watches two prediction market platforms, Polymarket and Kalshi, and looks for moments when they price the same event differently. Prediction markets let people buy shares tied to the outcome of real world events, like elections or economic reports, with prices moving between zero and one hundred cents based on how likely traders think the outcome is. When the same event is priced differently on two platforms at once, there is a chance to buy low on one side and profit if the gap closes. The bot focuses on short fifteen minute markets. It continuously checks Kalshi's YES price against Polymarket's UP price for a matched pair of markets. Its main rule fires when Kalshi is trading between 93 and 96 cents while Polymarket is priced at least 10 cents cheaper for the same outcome, at which point it can automatically place a buy order on Polymarket. A second rule watches for cases where Kalshi has already settled a market while Polymarket still has open orders, which can also present a buying opportunity. The project runs as a small web service built with Express, so it exposes a status endpoint you can check to see current prices and any signals the bot has generated. Without wallet credentials it only monitors and reports, adding real credentials lets it place live orders on Polymarket through their official order client. All thresholds, timing, and market identifiers are set through a configuration file, and it connects to both platforms over their standard HTTP APIs. It is written in TypeScript for Node.js 18 and newer, uses ethers for wallet handling, and axios for network requests. The project includes clear warnings that prediction market trading carries real financial risk and that the bot does not guarantee any profit.

Copy-paste prompts

Prompt 1
Explain how the spread based entry rule in this bot decides when to buy Polymarket UP.
Prompt 2
Walk me through setting up the .env file to run this bot in monitoring only mode.
Prompt 3
Show me how to add a new market pair to this arbitrage bot's configuration.
Prompt 4
What changes would I need to also support a third prediction market platform?

Frequently asked questions

What is polymarket-kalshi-arbitrage-bot?

A bot that watches Polymarket and Kalshi prediction markets for price gaps and can auto place buy orders when it finds one.

What language is polymarket-kalshi-arbitrage-bot written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js, Express.

How hard is polymarket-kalshi-arbitrage-bot to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is polymarket-kalshi-arbitrage-bot for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.