poly5m-v1 — Taker scalper with Binance speed edge
First 5-minute scalper. Binance WebSocket triggers FOK taker at $0.51 on a 0.10% same-direction move between 15-180s. Reversal exit at $0.48, 15-min SMA trend filter, skips US market hours.
| Strategy type | Scalping |
|---|---|
| Asset | BTC |
| Timeframe | 5m |
| Market type | Crypto binary |
| Minimum capital | $30 |
| Dependencies | @polymarket/clob-client, ws, ethers |
What it does
poly5m-v1 is the original 5-minute scalper that started the suite. Binance WebSocket gives sub-second BTC price ticks; the bot fires a FOK taker at $0.51 the moment BTC has moved at least 0.10% in the same direction as the 15-minute SMA trend, anywhere between 15 and 180 seconds into the candle.
The edge
Polymarket binary mid-prices update slowly relative to Binance because each book quote requires a market-maker round-trip. In the first minutes of a fresh candle, a fast BTC move on Binance is already directional information, but the Polymarket book hasn't fully repriced yet. v1 exploits that staleness.
The 15-minute SMA filter prevents the worst losses: a contrarian move against the dominant trend usually reverses, while a same-direction move usually continues. Backtests showed 70.8% win rate over 7 days / 185 trades / 10.4% max drawdown (numbers from source comments, your mileage will vary).
How it works
- Connect to Binance WebSocket (BTC kline 1m). REST fallback every 2s if WS drops.
- Compute 15-minute SMA from rolling 1-minute closes.
- Detect a 0.10% move (
--threshold) from candle open in either direction. - Trend gate: only fire if move direction matches SMA trend
- Entry window: 15s to 180s into the 5-minute candle (
MIN_WAIT_SECtoMAX_ENTRY_SEC) - Size: 8% of balance, rolling half-Kelly after 10 trades, hard cap
--max-bet - FOK taker at $0.51
- Reversal exit: if best bid drops below $0.48, sell at market (
REVERSAL_EXIT_PRICE) - Skip US market hours (14:00-21:00 UTC) — backtests showed worse hit rate during these hours
Risk: MAX_CONSEC_LOSSES = 5 triggers cooldown.
Sample output
[25/05/2026, 13:32:14] 📡 Binance connected [25/05/2026, 13:32:48] BTC +0.12% from open, SMA15 trend UP — entering Up [25/05/2026, 13:32:48] 🎯 [LIVE] BUY Up — 15sh @ $0.51 ($7.71 incl fee) [25/05/2026, 13:32:48] ✅ Order 0xa1b2c3d4... [25/05/2026, 13:35:01] Resolved WIN | +$7.29 | Bal: $37.29
Design targets
Break-even at $0.51 taker entry (5-min crypto fee curve):
fee = shares × 0.25 × 0.51 × (0.51 × 0.49)^2 ≈ 0.79% of bet
Required WR ≈ 51.6%. Source backtest comments report 70.8% WR over 7 days / 185 trades, which is well above break-even. Treat that as a historical reference, not a guarantee.
Trade rate: 10-25 trades per day depending on BTC volatility and how often the threshold + trend gate aligns.
FAQ
Why does v1 skip US market hours by default?
Backtests showed lower hit rate during 14:00-21:00 UTC (US trading session). The hypothesis is that more sophisticated MMs are active during US hours and reprice the Polymarket book faster, eroding the speed edge. You can override SKIP_HOURS_UTC in source if you want continuous coverage.
Why v1 if v4 exists?
v1 is the simplest scalper and the cheapest to study. v4 is the active "Gabagool" buy-both-sides strategy with different mechanics. Different strategies, can run side-by-side.
What's included
poly5m/poly5m-v1.jspoly5m/scripts/v1-run.sh(auto-restart wrapper)polymarket-limits.js- README with backtest summary, SKIP_HOURS_UTC customization, and reversal-exit tuning
Configuration
| Flag | Default | Description |
|---|---|---|
| --asset BTC | BTC | Asset to trade. BTC, ETH, SOL, XRP supported. |
| --live | — | Place real orders. Default is dry-run. |
| --sim-balance 30 | 30 | Starting balance in dry-run mode (USD). |
| --threshold 0.10 | 0.10 | Minimum % BTC move required to fire entry. |
| --max-bet 10 | 10 | Hard cap per trade in USD. |
Related bots
poly5m-v4 — Split-window momentum BTC scalper
Buy-both-sides Gabagool on 5-min BTC. Picks up cheap YES + NO at $0.49 or less, locks profit when pair stays below $0.98. CLOB v2 / pUSD, polls books every 2s from 10s to 260s.
poly5m-v2 — Reactive ATR-adaptive scalper
v1 signal with ATR-adaptive entry (0.8 × ATR, 0.10% fallback) and entry window 20-200s. Adds time exit at 120s held and CLOB drawdown exit at $0.44. Trades all hours.