← All Bots

Polymarket ↔ Kalshi Arb

FREEOpen SourcepredictionStrategy BlueprintMIT License

Cross-platform prediction market arbitrage. Same event, different prices, risk-free spread. Profit is guaranteed in theory — one outcome MUST happen.

1Downloads
4Views

How It Works

The ultimate arb: The same event (Will BTC hit $100K by March?) trades on BOTH Polymarket and Kalshi at different prices. Buy YES on the cheap platform, buy NO on the expensive platform. One MUST pay out $1. The difference is your risk-free profit.

Real-world example: Polymarket YES = $0.52, Kalshi NO = $0.45. Total cost: $0.97. Guaranteed payout: $1.00. Risk-free profit: $0.03 per contract (3%).

At scale: Open-source bots scan 10,000+ markets across both platforms, executing in under 100ms. Weather market bots alone have documented $24K+/month in profits.

Requirements: Accounts on both Polymarket and Kalshi, USDC funding, and fast execution. The code handles the scanning — you handle the accounts.

This is a strategy blueprint. Backtest results are simulated. Real performance depends on execution speed, market liquidity, and platform fees.

Deploy Polymarket ↔ Kalshi Arb Live

This strategy runs on prediction markets. You'll need accounts on the platforms below.

Free charts · Paper trading available · Takes 5 minutes

Configuration

maxCombined0.97
minSpread1.5
platformFeePct2.5
positionPct70
Symbols: polymarket-kalshi

Source Code

#!/usr/bin/env node
// Polymarket ↔ Kalshi Arb — JC Trading Bots
// https://trading.jc.holdings/bot/polymarket-kalshi-cross-arb
// License: MIT | Free forever | Modify however you want
//
// DISCLAIMER: Not financial advice. Past performance does not guarantee
// future results. Trading involves substantial risk of loss.
// Use at your own risk. No guarantees of profit.
//
// Usage:
//   node polymarket-kalshi-cross-arb.js                    # Print signals
//   ALPACA_KEY=x ALPACA_SECRET=y node polymarket-kalshi-cross-arb.js  # Paper trade
//   ALPACA_KEY=x ALPACA_SECRET=y LIVE=1 node polymarket-kalshi-cross-arb.js  # REAL money

// ─── Configuration ─────────────────────────────────────────
const CONFIG = {
  "maxCombined": 0.97,
  "minSpread": 1.5,
  "platformFeePct": 2.5,
  "positionPct": 70
};
const SYMBOLS = ["polymarket-kalshi"];

const BOT_NAME = "Polymarket <> Kalshi Cross-Platform Arbitrage";
const DATA_RANGE = "3mo";

// The ultimate prediction market arb: same event, different prices, two platforms.
// Profit is guaranteed in theory: buy YES on cheap platform, NO on expensive platform.
// One MUST pay $1. Combined cost < $1 = risk-free profit.
//
// Example: "Will BTC hit $100K by March?"
//   Polymarket YES = $0.52, Kalshi NO = $0.45
//   Total cost: $0.97 → Guaranteed payout: $1.00 → Profit: $0.03 (3%)

function evaluate(candles, config) {
  const maxCombined = config.maxCombined || 0.97;
  console.log("\n  Strategy: Cross-platform prediction market arbitrage");
  console.log("  Scan SAME event on both Polymarket and Kalshi");
  console.log("  Looking for: YES_poly + NO_kalshi < $" + maxCombined.toFixed(2) + " (or vice versa)");
  console.log("  Profit is guaranteed in theory — the event resolves to YES or NO");
  console.log("  One platform pays $1.00 no matter what\n");
  console.log("  Requirements: Accounts on BOTH Polymarket + Kalshi");
  console.log("  Polymarket API: https://docs.polymarket.com");
  console.log("  Kalshi API: https://trading-api.readme.io/reference\n");
  return { action: "hold", reason: "Blueprint — implement both platform APIs for live cross-scanning" };
}

// ─── Main ───────────────────────────────────────────────────
async function run() {
  console.log("\n" + "=".repeat(60));
  console.log("  " + BOT_NAME);
  console.log("  " + new Date().toISOString());
  console.log("=".repeat(60) + "\n");
  evaluate([], CONFIG);
}

run().catch(err => { console.error(err); process.exit(1); });
Download .js File

Full source code. MIT License. Free forever. Modify and deploy however you want.

Where to Run This Bot

Compare All Brokers →

Deploy this bot →PolymarketKalshi