PolyEdge
Browse documentation

Arbitrage Bot

The Arbitrage Bot continuously scans binary markets for a classic risk-free edge: when the best ask on YES plus the best ask on NO sum to less than $1, you can buy one share of each and be guaranteed $1 back at resolution.

  • Risk-free complement (YES + NO) arbitrage
  • Continuous scanning of the most liquid markets
  • Fee-aware net-edge detection
  • Executes both legs and holds to resolution
  • Per-arb and total exposure caps
  • Live opportunity table

The strategy

In a binary market exactly one outcome resolves to $1. So a complete set — one YES share and one NO share — always pays exactly $1. If you can assemble that set for less than $1, the difference is locked-in profit with no directional risk:

net edge = $1 − ask(YES) − ask(NO) − fees

The bot only acts when the net edge (after modeled fees) clears your minimum threshold, then buys both legs up to your size limits and holds them to settlement.

Settings

SettingDefaultWhat it does
minEdgePercent0.5Minimum net edge (after fees) required to execute, as a %.
maxSetSize100Max shares per outcome in a single arb.
maxPositionUsd200Max USDC deployed in one arbitrage.
maxTotalExposureUsd2000Max USDC across all open arbs.
maxMarketsScanned80Number of markets scanned each poll.
minLiquidityUsd500Skip markets thinner than this.
feeRatePercent1Fee rate used in the edge math (0–1.8 by category).
pollIntervalSeconds5Seconds between scans.
Why it's often idle
Simple complement arbitrage is heavily competed. In practice spreads are tight and true opportunities are rare and short-lived, so the bot frequently scans and finds nothing — that is correct behaviour. It will never fabricate a trade just to look busy.
Live leg-fill risk
The two legs are not filled atomically. The bot uses fill-or-kill orders and unwinds a partial fill, but live multi-leg execution still carries slippage risk. Add a wallet key in Settings and start with small sizes.