whatisgithub

What is polymarket-kalshi-arbitrage-bot?

sanzoi-tech/polymarket-kalshi-arbitrage-bot — explained in plain English

Analysis updated 2026-05-18

75TypeScriptAudience · developerComplexity · 4/5Setup · moderate

In one sentence

A TypeScript bot that watches Polymarket and Kalshi prediction markets for price gaps and automatically buys Polymarket tokens when its arbitrage rules trigger.

Mindmap

mindmap
  root((arbitrage-bot))
    What it does
      Polls Kalshi and Polymarket
      Detects price spreads
      Places Polymarket orders
      Status API endpoint
    Tech stack
      TypeScript
      Node.js
      Express
      Axios
    Rules
      Spread based entry
      Late resolution opportunity
      Order cooldowns
    Risk
      No profit guarantee
      Real trading risk
    Audience
      Algorithmic traders
      Developers

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 a matched Polymarket and Kalshi market pair for arbitrage price gaps in real time.

USE CASE 2

Automatically place Polymarket buy orders when a configured spread threshold is met.

USE CASE 3

Catch late-entry opportunities when one venue settles while the other still has liquidity.

USE CASE 4

Deploy a self-hosted monitoring API to track prediction market pricing signals.

What is it built with?

TypeScriptNode.jsExpressAxios

How does it compare?

sanzoi-tech/polymarket-kalshi-arbitrage-botabeehive/annadoantfu/vite-dev-rpc
Stars757575
LanguageTypeScriptTypeScriptTypeScript
Last pushed2026-05-01
MaintenanceMaintained
Setup difficultymoderateeasymoderate
Complexity4/52/52/5
Audiencedevelopervibe coderdeveloper

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

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Polymarket wallet trading credentials and Kalshi API access configured via a .env file for real order placement.

The README does not state a license for this repository.

So what is it?

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.

Copy-paste prompts

Prompt 1
Walk me through configuring the .env file for this Polymarket-Kalshi arbitrage bot, including the spread thresholds.
Prompt 2
Explain how the spread-based entry rule and the late-resolution rule work in src/services/arbitrage.ts.
Prompt 3
How do I run this bot in development mode with auto-reload and check its /status endpoint?
Prompt 4
What Polymarket trading credentials does polymarketOrders.ts need to place real orders?

Frequently asked questions

What is polymarket-kalshi-arbitrage-bot?

A TypeScript bot that watches Polymarket and Kalshi prediction markets for price gaps and automatically buys Polymarket tokens when its arbitrage rules trigger.

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

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

What license does polymarket-kalshi-arbitrage-bot use?

The README does not state a license for this repository.

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 → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.