In traditional finance, arbitrage means exploiting a price discrepancy between two markets for the same asset. On Polymarket, the equivalent is identifying when a binary market's odds have not yet adjusted to reflect new information - and entering before they do. In Polymarket's BTC Up/Down markets, this mismatch occurs predictably whenever BTC makes a strong directional move within a 5-minute window.
The Polymarket Arbitrage Opportunity: BTC Gap Trading
Polymarket's BTC Up/Down binary resolves based on whether BTC price is higher or lower at the end of a 5-minute candle compared to the start. At the beginning of each candle, a price anchor is recorded. As BTC moves away from that anchor, the probability of UP or DOWN resolving as YES shifts - but the Polymarket order book doesn't always reprice instantly.
The gap is the difference between the current BTC spot price and the anchor price. When this gap is large - say, BTC has moved $50 upward from the anchor with 90 seconds remaining - the DOWN token is almost certainly worthless and should be priced near 0¢. But if it's still being offered at 0.20¢, that's a mispricing: a genuine arbitrage opportunity.
Similarly, if BTC has moved strongly upward, the UP token should be priced near 100¢ near expiry. If you can still buy it at 0.80¢, you're getting value - buying a near-certainty at a discount.
How the Gap Filter Works
BotJinn implements a gap filter that monitors BTC spot price against the 5-minute bucket anchor in real time. The key parameters:
- MIN_ABS_GAP_USD - The minimum dollar move required before the bot will enter. Default: $20–40 depending on strategy. Below this threshold, direction is too uncertain.
- Anchor price - The BTC price at the start of the current 5-minute window. Updated on each new candle.
- Signed gap - Positive = BTC moved up (favour UP token). Negative = BTC moved down (favour DOWN token).
When the gap exceeds the minimum threshold AND the favoured side's best ask is at or below the entry price (e.g. 0.80¢), the bot enters. This is the arbitrage entry: buying a token that should be worth significantly more given BTC's current position.
Example: BTC is at $73,950 at the start of the candle (anchor). 3 minutes later, BTC is at $74,020 - a $70 move up. The UP token is still being offered at 0.80¢ with 2 minutes to go. With a $70 upward gap and only 2 minutes remaining, UP resolving YES is highly probable. The gap filter detects this and triggers a buy.
Why This Counts as Arbitrage
Classic arbitrage requires two markets pricing the same thing differently. Here, the "two markets" are:
- BTC spot price - which clearly shows the directional move
- Polymarket order book - which hasn't fully priced in the same information yet
When you enter at 0.80¢ on a side that should rationally be priced at 0.90–0.95¢ given BTC's position, you're exploiting a temporary information lag between the spot market and the prediction market. This is sometimes called cross-market arbitrage or statistical arbitrage.
It's not risk-free - BTC can reverse in the remaining time, and the prediction market can resolve against you even with a strong gap. But the edge is systematic and measurable: over many trades, entries made when the gap exceeds the threshold produce significantly better win rates than entries without a gap filter.
Gap Filter Configuration by Strategy
BotJinn's strategy blueprints use different gap thresholds to target different risk/reward profiles:
- Conservative - MIN_ABS_GAP_USD = $35. Requires a large move before entering. Fewer trades, higher confidence per trade.
- Balanced - MIN_ABS_GAP_USD = $20. Standard threshold. Good balance of entry frequency and edge quality.
- Aggressive - MIN_ABS_GAP_USD = $40. Paradoxically stricter - focuses on the strongest momentum moves only, using larger position sizes to compensate for lower frequency.
- Scalp - GAP_FILTER_ENABLED = 0. No gap filter. Enters based on price alone for maximum frequency.
Combining Gap Arbitrage with Exact-Price Entry
The gap filter alone isn't sufficient - you also need to enter at the right price. BotJinn's arbitrage approach combines two conditions that must both be true before entering:
- Gap condition: BTC has moved at least MIN_ABS_GAP_USD from anchor in the favoured direction.
- Price condition: The favoured side's best ask is exactly at or below the entry price (e.g. 0.80¢).
Only when both conditions are met simultaneously does the bot execute. This dual-condition filter dramatically reduces false entries and focuses the bot on the highest-quality opportunities.
Automating Your Polymarket Arbitrage Strategy
The gap arbitrage strategy requires constant, real-time monitoring of both BTC spot price and Polymarket order books simultaneously. This is impossible to execute manually at the speed required - by the time you check the gap, verify the price, and click to buy, the window has closed.
BotJinn's architecture is built specifically for this: a local BTC price feed processes Binance WebSocket data in real time, computing the gap against the current 5-minute anchor. A separate feed monitors the Polymarket CLOB order book. The bot evaluates both simultaneously at every poll interval (100–250ms) and executes in milliseconds when both conditions align.
Measuring Your Arbitrage Edge: Key Statistics
The gap arbitrage edge is not just a qualitative idea — it can be measured empirically using your own trade data. The primary metric is win rate conditional on gap size at entry. Different gap thresholds produce materially different results, and understanding this relationship allows you to calibrate your configuration to match your risk appetite and performance expectations.
As a general pattern: at MIN_ABS_GAP_USD = $20, win rates tend to cluster around 60–65%. At $35, the win rate typically rises to 68–73%. At $50 or more, win rates can approach 80% or higher — but entry frequency drops dramatically because fewer candles produce gaps that large. This is the fundamental trade-off: stricter gap thresholds produce higher-confidence entries with less frequency, while looser thresholds produce more trades at lower average win rates.
The total edge of your configuration is best summarised as: (win rate × profit per win) − (loss rate × loss per loss). Increasing your gap threshold raises the win rate component; decreasing it raises trade frequency. Adjusting take-profit and stop-loss levels changes the profit/loss ratio. All four variables interact, and optimising for one at the expense of others can easily reduce total edge even when the change feels like an improvement.
BotJinn logs all trade entry data including the gap size at the moment of entry alongside the trade outcome. After accumulating 50 or more trades, you can group your results by gap size bucket — for example, $20–30, $30–45, $45+ — and measure the win rate for each bucket separately. This analysis tells you which gap levels are actually producing your edge, versus which are contributing noise. Traders who do this analysis consistently find that their strongest edge is concentrated in the higher gap buckets, which informs a rational decision about whether to tighten the threshold.
The gap is your edge measurement. If you're not tracking gap size at entry alongside your win/loss outcome, you're trading blind. The data needed to calibrate your strategy is generated automatically by every trade the bot makes — you just need to review it.
Common Pitfalls in Polymarket Gap Arbitrage
Even a well-designed gap arbitrage strategy can underperform if certain pitfalls aren't recognised and avoided. Here are the most common mistakes traders encounter:
1. Entering too early in the 5-minute candle. A $30 gap with 4 minutes remaining in the candle is significantly less reliable than the same gap with 90 seconds remaining. The earlier the entry, the more time BTC has to reverse and eliminate the gap before resolution. Some traders over-optimise their gap threshold for late-candle conditions without realising their bot is also firing on early-candle entries that perform poorly.
2. Not accounting for Polymarket's resolution lag. There is a brief delay between candle close and actual market resolution. During this window, prices can continue moving on the order book. Positions held through resolution are subject to this lag — it's usually negligible, but on high-volatility candles the behaviour can be unpredictable.
3. Over-optimising the gap threshold on historical data. The optimal gap level from three months ago may not apply today if BTC's typical volatility has changed. A threshold calibrated during a high-volatility regime will fire too rarely in a low-volatility period. Re-evaluate thresholds against recent data rather than locking in a number and never revisiting it.
4. Running the strategy during major macro events. Federal Reserve rate decisions, CPI prints, and similar scheduled events can move BTC by $200–500 in seconds. During these windows, gap calculations can appear extremely favourable while actually reflecting event-driven noise rather than predictable directional movement. Pausing the bot for 20–30 minutes around major scheduled events is prudent.
5. Conflating a large gap with a guaranteed win. Even a $70 gap can reverse in 60 seconds on a strong news-driven spike or a sudden order book shift. The gap filter reduces your probability of a bad entry — it does not eliminate it. Risk management (position sizing and stop-loss execution) remains essential regardless of how strong the gap filter signal appears.
The gap filter reduces risk — it does not eliminate it. Position sizing and stop-losses are still essential even when a strong gap is present. Treat the gap as a necessary condition for entry, not a sufficient one.
Advanced Gap Configuration: Tuning Your Edge
Once you have a baseline of 100+ trades and reliable win rate data segmented by gap size, there are several advanced configuration directions available to traders who want to push further.
Time-remaining awareness. The most sophisticated gap strategies apply a sliding-scale threshold: require a larger gap earlier in the candle, allow a smaller gap when only 60–90 seconds remain. A $30 gap at minute 1 has far more potential for reversal than at minute 4. Traders who review their results split by time-of-entry within the candle often find that early-candle entries at a given gap level underperform late-candle entries at the same level — which argues for a higher threshold earlier in the cycle.
Directional bias analysis. BTC has historically shown periods of upward drift where UP tokens slightly outperform what symmetric market odds would suggest. Reviewing UP versus DOWN win rates separately over 100+ trades can reveal whether a directional bias exists in your specific data sample. If UP win rate is consistently 5–8 percentage points higher than DOWN at the same gap thresholds, a strategy that slightly favours UP entries is empirically justified.
Correlation with BTC perpetual funding rates. High positive funding rates on BTC perpetuals indicate that long positions are paying shorts — a signal that the market is heavily leaning bullish. Some traders use elevated funding rates as a corroborating signal for UP entries. This is an advanced technique that requires external data integration beyond what the standard gap filter provides, but it is an example of how the basic gap arbitrage framework can be enriched with additional signal layers.
It is important to note that BotJinn's gap filter handles the core arbitrage logic automatically. The advanced tuning described here is done by adjusting MIN_ABS_GAP_USD in your Settings and analysing trade data from the Dashboard — no code changes are required. Start with the baseline configuration, accumulate data, and layer in refinements based on what your actual results show rather than on theoretical optimisation alone.
Trade the Polymarket arbitrage edge automatically
BotJinn's gap filter runs 24/7 - capturing mispricings while you sleep. 3-day free trial.
Start Trading Free →