Resolution sniping on prediction markets — the last-seconds edge

Entering binary markets in the final seconds before oracle settlement. High win rate, minimal edge per trade, but nearly zero directional risk.

Definition

Resolution sniping is the practice of buying a near-certain binary outcome in the final seconds before an oracle settles the market. The strategy exploits a structural inefficiency: Polymarket markets for short-duration crypto binaries remain tradeable right up to the settlement window, but the Chainlink RTDS oracle has already observed enough price history to make the outcome mathematically near-certain. A trader who can read the oracle's source exchanges directly can enter at $0.90-$0.97 and collect $1.00 15 seconds later.

The strategy was documented publicly by the account ascetic0x, who described entering 15-minute BTC markets in the final 15-second window when the book mid was above 90 cents. Win rate approaches 95%+ by construction — the question is whether the edge per trade after fees justifies the operational complexity.

When it works

Short-duration binary markets near expiry. 5-minute and 15-minute crypto binaries are the primary venue. The oracle reads Binance/Coinbase/Kraken prices at a known endpoint (end-of-minute for 5-min, end-of-15-min for 15-min). With 15 seconds to go, price movement sufficient to flip the outcome is rare but not impossible — a 0.3-0.8% move against the expected outcome can still happen.

High certainty threshold. poly15m-sniper only enters when the book mid is above $0.90. At $0.90, a $1.00 resolution yields a 10-cent gross profit. Below $0.90, the implied probability is too low for the flat fee to make sense. Above $0.95, the fee-adjusted edge is attractive.

Calm market conditions. Volatility spikes (FOMC, major news) expand the probability of a last-second reversal. The sniper should skip market windows with elevated short-term volatility even if the current book mid is high.

Fast, reliable execution. A 15-second window is unforgiving. A trade that takes 3 seconds to confirm via the CLOB API has used 20% of the remaining window. Node.js latency from a local machine is typically 100-400ms per order round-trip to clob.polymarket.com. From a VPS in the same region, this drops to 20-80ms.

The resolution-scalper variant (different from the 15-second sniper) operates further in advance: it scans all active Polymarket markets for outcomes priced $0.95-$0.99 with sufficient liquidity and reasonable time to resolution. This is a slower, broader version — less timing-critical but also less certain per trade.

When it fails

Last-second reversals. BTC can move 0.5% in 15 seconds. If the current price is $67,800 against a strike of $67,000, it looks safe. But a $340 move in 15 seconds — unlikely but not impossible on high-volume moments — flips the outcome. These events are rare and impossible to fully hedge.

Oracle latency mismatch. If Chainlink RTDS aggregates prices from a slightly different timestamp than you expect, a market you entered at $0.93 thinking it was near-certain can resolve against you. This is most common in the first few weeks after Polymarket launches a new strike interval.

Fee erosion on frequent small trades. The gross edge per sniper trade is small (3-10 cents per share). The taker fee eats a meaningful fraction:

# At p=0.95, 50 shares fee = 50 * 0.25 * 0.95 * (0.95 * 0.05)^2 = 12.5 * 0.95 * 0.002256 ≈ $0.027 fee on a $47.50 position

That's only 0.057% — very low because the fee curve is designed to peak at p=0.50 and decay toward the wings. But even small fees compound when you're targeting 5-cent gross margins.

Book disappears before fill. In the final 15 seconds, liquidity can thin dramatically. The ask you saw at $0.93 may have been pulled by the time your order hits the CLOB. FOK orders cancel cleanly; GTC orders may fill at a worse price after additional movement.

Regulatory / market closure changes. Polymarket occasionally closes markets early or delays resolution for contested oracle reads. A position at $0.97 that resolves at $0.50 due to a disputed Chainlink RTDS reading generates a significant loss.

Fee math

The crypto binary taker fee is wing-friendly. Near resolution price, fees are minimal:

fee = shares * 0.25 * price * (price * (1 - price))^2

At p=0.90 (threshold for poly15m-sniper entry):

fee = 100 * 0.25 * 0.90 * (0.90 * 0.10)^2 = 25 * 0.90 * 0.0081 = $0.182 fee on a $90 position = 0.20% of notional

Gross edge at p=0.90 entry (resolves $1.00):

gross = 100 * ($1.00 - $0.90) = $10.00 net = $10.00 - $0.182 = $9.82 ROI = 9.82 / 90 = 10.9%

At p=0.95 (resolution-scalper zone):

fee = 100 * 0.25 * 0.95 * (0.95 * 0.05)^2 = 25 * 0.95 * 0.002256 = $0.054 fee on a $95 position = 0.057% of notional gross = 100 * $0.05 = $5.00 net = $5.00 - $0.054 = $4.946 ROI = 4.946 / 95 = 5.2%

The key insight: at p=0.95, fee drag is negligible but absolute dollar profit per trade is thin. You need high volume or larger size to generate meaningful income. The strategy trades fee efficiency for diminishing gross edge.

Break-even win rate including fees at p=0.90:

# You spend $90 per share, win $1.00 or lose $0 # Fee = $0.00182 per share # Required win rate to break even: # WR * (1.00 - 0.90 - fee_per_share) = (1 - WR) * 0.90 # WR * (0.0982) = (1 - WR) * 0.90 # Solving: WR = 0.90 / (0.90 + 0.0982) = 90.2% break_even_WR = 90.2% # vs theoretical 90% implied probability

The fee adds only 0.2% to the required win rate at the wing — confirming that fee drag is not the primary risk here.

Real-world examples

ascetic0x's documented approach: enter the last 15 seconds of 15-minute BTC/ETH markets when the book mid exceeds $0.90. Reported win rate around 94-95% on 200+ trades, with a handful of painful reversals where BTC moved sharply in the final seconds. Net PnL positive primarily due to volume — the per-trade edge is small, so this is a numbers game.

A concrete session: BTC is at $67,450 at 14:44:45. The 15-minute market for "BTC above $67,000 at 14:45:00" is priced at YES=$0.92. Position: 200 shares at $0.92 = $184 outlay. Market closes at 14:45:00 with BTC at $67,462. Oracle resolves YES. Proceeds: $200. Profit: $16 minus fee of ~$0.36 = $15.64. Trade took 8 seconds total from detection to confirmation.

Same session, edge case: at 14:29:45 the "above $67,200" market is at YES=$0.94. BTC drops from $67,350 to $66,980 in the final 12 seconds due to a large sell order on Binance. Market resolves NO. Loss: $94 × 200 shares = $188 (the full position cost). This is the tail risk that a handful of these reversals produce.

The resolution-scalper operates differently: scanning all active markets for anything priced $0.95-$0.99 regardless of time to expiry, buying in and holding. This is lower frequency, higher certainty, and less time-pressure — but exposed to market disputes and delayed oracle resolution.

Common variants

15-second binary sniper (poly15m-sniper): Enters exclusively in the final 15 seconds of 15-minute crypto binaries when the book mid is above $0.90. No other market types. Pure latency play.

Near-certain market scanner (resolution-scalper): Continuously scans all active Polymarket markets for outcomes priced $0.95-$0.99 with $1,000+ open interest. Enters as taker and holds to resolution. Works across event markets, not just crypto binaries.

Trailing threshold entry: Rather than a fixed 15-second window, monitor certainty in real-time. Enter when a dynamic threshold is crossed (e.g., YES stays above $0.91 for 30 consecutive seconds). More conservative but misses the tightest windows.

Hedged dual-outcome entry: Buy YES at $0.94 and NO at $0.07 simultaneously for a cost of $1.01. This is a small net loss but nearly eliminates outcome risk — useful for testing execution infrastructure without meaningful directional exposure.

Cross-platform resolution timing: Kalshi settles some markets on the same underlying data as Polymarket. If Polymarket prices YES at $0.96 but Kalshi still shows $0.88 due to lag, a cross-platform position captures the mispricing while eliminating directional risk.

Bots implementing this strategy

poly15m-sniper implements the pure timing variant: it watches the 15-minute BTC binary market clock, reads the current book mid, and fires a taker order in the final 15 seconds when certainty is above the threshold. resolution-scalper takes the broader approach, scanning the full market catalog for high-certainty opportunities regardless of timeframe. Both bots resolve wins and losses via the Gamma API polling the Chainlink RTDS outcome, never relying on the Binance price alone.

Bots implementing this strategy