polybot

Strategy · Low risk · Beginner

Resolution arbitrage

Near expiry, when the outcome is effectively certain, prices sometimes still trade at 97–98¢ instead of 99.5¢. Capture the last pennies.

Published Apr 10, 2026


The idea

As a market approaches resolution and the outcome becomes effectively certain, the price should trend to $1 on the winning side and $0 on the other. In practice, it lingers. Thin late-market liquidity, tax-lot optimisation by holders, and plain laziness keep prices at 97¢ or 98¢ when they “should” be 99.5¢.

resolution_arb buys those residuals. Per-trade edge is small (1–3 cents); volume is the point.

How polybot implements it

The strategy applies three filters before buying:

  1. Time-to-resolution < T (default 24h).
  2. Signal strength. An external signal — a resolution source, an AI plugin, on-chain event — must mark the outcome as near-certain. polybot ships adapters for common resolution sources (Kalshi’s own announcements, Polymarket’s resolver addresses, Chainlink price feeds).
  3. Edge >= min_edge after fees.
if market.time_to_resolution < self.config.window \
   and self.resolver.certainty(market) >= self.config.min_certainty \
   and (1.0 - market.best_ask) >= self.config.min_edge:
    self.emit(Signal(market.id, side="YES", price=market.best_ask, size=size))

Where the edge comes from

Where it fails

Configuration

polybot strategy enable resolution_arb
polybot strategy config resolution_arb \
    --window-hours 24 \
    --min-certainty 0.97 \
    --min-edge 0.015 \
    --max-size-usd 200 \
    --resolver oracle_aggregator

FAQ

Why not wait for 99.9¢ and take zero risk? You’ll never get filled. By the time certainty is that high, asks are pulled entirely.

Does this conflict with arbitrage? No — different time windows and different edges. You’ll want both enabled in live mode, with --markets-exclude if you see one front-running the other on specific markets.

What resolves “certainty”? A pluggable resolver. polybot ships oracle_aggregator (combines on-chain resolvers, news feeds, and an LLM sanity check). You can supply your own.

Source: src/polybot/strategies/resolution_arb.py.

Want this strategy tuned for your book?

Cryptuon can adapt polybot strategies to your capital, risk budget, and markets. Shadow-deployed before you go live.