Trade Polymarket BTC/ETH/SOL 5/15-minute fast markets with momentum and order book filters.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add dvcrn/openclaw-skills-marketplace --skill polymarket-simmer-fastloop --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Polymarket Simmer Fastloop?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dvcrn-polymarket-simmer-fastloop)More formats (shields.io, HTML) on the badges page.
---
name: polymarket-simmer-fastloop
description: "Trade Polymarket BTC/ETH/SOL 5/15-minute fast markets with momentum and order book filters."
---
# Polymarket Simmer FastLoop Trader
Automated trading skill for Polymarket BTC/ETH/SOL 5-minute and 15-minute fast markets. Uses a mean reversion strategy with momentum exhaustion detection, order book imbalance confirmation, and volatility-adjusted position sizing.
> **Default is paper mode.** Use `--live` for real trades.
## Strategy
When the latest 5-minute candle shows a rapid spike (momentum > threshold) the script buys the **reverse side**, capturing the pullback. Signals are filtered by:
- **Momentum**: Binance 1-minute candles, configurable threshold (default 1.0%).
- **Order Book Imbalance** (optional): Top 20 levels of Binance L2 book confirm directional bias.
- **NOFX Institutional Netflow**: Filters trades using institutional flow data.
- **Time-of-Day Filter**: Skips low-liquidity hours (02:00–06:00 UTC) by default.
- **Fee-Accurate EV**: Only trades when divergence exceeds fee breakeven + buffer.
- **Volatility-Adjusted Sizing**: High volatility reduces position size automatically.
- **Pre-Caching (Ignition)**: On every run, the skill scans and caches upcoming market IDs to disk (`fast_markets_cache.json`). At market open, the Simmer API briefly hides the market — the skill uses the cache to execute trades during this "API blackout" window, ensuring no opportunity is missed.
## Setup
### 1. Get Simmer API Key
- Register at [simmer.markets](https://simmer.markets).
- Go to **Dashboard** -> **SDK** tab.
- Copy your API key: `export SIMMER_API_KEY="your-key-here"`.
### 2. Required Environment Variables
| Variable | Required | Description | Values |
|----------|----------|-------------|--------|
| `SIMMER_API_KEY` | **Yes** | Your Simmer SDK key | Get from [simmer.markets](https://simmer.markets) |
| `TRADING_VENUE` | **Yes** | Execution environment | `simmer` (Paper) or `polymarket` (Live) |
| `WALLET_PRIVATE_KEY` | Optional | Your Polymarket wallet key | Required only if `TRADING_VENUE="polymarket"` |
- **`simmer`** (Default): Paper Trading. Simulates trades using virtual funds. No real USDC needed.
- **`polymarket`**: Real Trading. Connects to Polymarket. You **must** have USDC in the wallet.
> [!WARNING]
> Never share your `WALLET_PRIVATE_KEY` or `SIMMER_API_KEY`. The SDK signs trades locally; your private key is never transmitted.
## Quick Start
```bash
pip install simmer-sdk
export SIMMER_API_KEY="your-key-here"
# Paper mode (default)
python polymarket-simmer-fastloop.py
# Live trading
python polymarket-simmer-fastloop.py --live
# Check win rate and P&L stats
python polymarket-simmer-fastloop.py --stats
# Resolve expired trades against real outcomes
python polymarket-simmer-fastloop.py --resolve
# Quiet mode for cron
python polymarket-simmer-fastloop.py --live --quiet
```
## Cron Setup
**OpenClaw:**
```bash
openclaw cron add \
--name "Simmer FastLoop" \
--cron "*/5 * * * *" \
--tz "UTC" \
--session isolated \
--message "Run: cd /path/to/skill && python polymarket-simmer-fastloop.py --live --quiet. Show output summary." \
--announce
```
**Linux crontab:**
```
*/5 * * * * cd /path/to/skill && python polymarket-simmer-fastloop.py --live --quiet
```
## All Settings
| Setting | Default | Description |
|---------|---------|-------------|
| `entry_threshold` | 0.05 | Min divergence from 50c |
| `min_momentum_pct` | 1.0 | Min % asset move to trigger |
| `max_position` | 5.0 | Max $ per trade |
| `signal_source` | binance | binance or coingecko |
| `lookback_minutes` | 5 | Candle lookback window |
| `min_time_remaining` | 60 | Skip if < N seconds left |
| `target_time_min` | 90 | Prefer markets with >= N seconds left |
| `target_time_max` | 210 | Prefer markets with <= N seconds left |
| `asset` | BTC | BTC, ETH, or SOL |
| `window` | 5m | 5m or 15m |
| `volume_confidence` | true | Skip low-volume signals |
| `require_orderbook` | false | Require order book confirmation |
| `time_filter` | true | Skip 02:00–06:00 UTC |
| `vol_sizing` | true | Adjust size by volatility |
| `fee_buffer` | 0.05 | Extra edge above fee breakeven |
| `daily_budget` | 10.0 | Max spend per UTC day |
| `starting_balance` | 1000.0 | Paper portfolio starting balance |
## Troubleshooting
**"Momentum below threshold"** — Asset move is too small. Lower `min_momentum_pct` if needed.
**"Order book imbalance: neutral"** — Market is balanced, signal skipped when `require_orderbook=true`.
**"Time filter: low liquidity window"** — Current hour is 02–06 UTC. Set `time_filter=false` to override.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!