The Practical Guide to a Polymarket Arbitrage Bot (No Fluff)
How to Build a Polymarket Arbitrage Bot for 15-Minute Markets
If you’ve spent any time watching Polymarket’s 15-minute crypto Up/Down markets, you know the volatility is brutal. When a massive sell order hits one side, the other side often lags, creating a temporary pricing gap. Most traders see this and panic, but if you’re running a Polymarket arbitrage bot, you see a structural edge.
The goal here isn't to predict the future; it's to capture the spread. By buying both legs of a market when their combined cost is below $1, you lock in a guaranteed profit regardless of the outcome. Here is how you actually execute this without blowing your account.
The Mechanics of Dump-and-Hedge
The strategy relies on a simple, two-step cycle. First, your bot monitors the order book for a "dump"—a sharp price drop on either the Up or Down leg within a specific time window. Once that threshold is met, the bot triggers the first buy.
The second step is the hedge. The bot waits for the opposite leg to become cheap enough so that the combined entry price of both positions is less than your target sum (e.g., 0.95 USDC). If the market doesn't provide that hedge within your defined time limit, the bot executes a stop-loss to minimize exposure.
Why Most Bots Fail in Production
The biggest mistake I see developers make is skipping the simulation phase. You might think your logic is sound, but Polymarket’s CLOB (Central Limit Order Book) API can be finicky. Network latency, API rate limits, and slippage are real-world variables that a backtest won't fully capture.
- Run in Simulation: Always use the
--simulationflag first. Let the bot run for at least 24 hours to see how it handles different market conditions. - Configure Thresholds: Don't use default settings. Adjust your
DUMP_HEDGE_MOVE_THRESHOLDbased on the specific volatility of the asset you're tracking. - Manage Proxy Wallets: If you're using a proxy or Gnosis Safe, ensure your
SIGNATURE_TYPEis correctly mapped in your.envfile. - Monitor Settlement: The bot needs to reconcile winners and losers on-chain. If your redemption flow fails, your capital stays locked in the contract.
Managing Risk in Automated Trading
This is the part nobody talks about: what happens when the market moves against you? If you buy the first leg and the price of the second leg never drops to your target, you are effectively holding a directional bet you didn't intend to take.
You must implement a strict DUMP_HEDGE_STOP_LOSS_MAX_WAIT_MINUTES. If the hedge doesn't appear, the bot should exit the position immediately. Never let a "temporary" arbitrage opportunity turn into a long-term hold.
Is this strategy foolproof? Absolutely not. Prediction markets are high-stakes environments where liquidity can vanish in seconds. However, by automating the detection of these inefficiencies, you remove the emotional component of trading. If you’re ready to start, clone the repository, set your environment variables, and start by observing the logs in simulation mode.
Building a reliable Polymarket arbitrage bot requires constant tuning of your thresholds and a deep understanding of how the CLOB API handles order execution.