polymarket-simmer-fastloop
Trade Polymarket BTC/ETH/SOL 5/15-minute fast markets with momentum and order book filters.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install openclaw-skills-polymarket-simmer-fastloop
Repository
Skill path: skills/andrewbrownrd/polymarket-simmer-fastloop
Trade Polymarket BTC/ETH/SOL 5/15-minute fast markets with momentum and order book filters.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: openclaw.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install polymarket-simmer-fastloop into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/openclaw/skills before adding polymarket-simmer-fastloop to shared team environments
- Use polymarket-simmer-fastloop for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: polymarket-simmer-fastloop
displayName: Polymarket Simmer FastLoop Trader
description: Trade Polymarket BTC/ETH/SOL 5/15-minute fast markets with momentum and order book filters.
version: "1.1.0"
author: "Xuano47"
tags: ["polymarket", "trading", "btc", "eth", "sol"]
env:
- SIMMER_API_KEY
- TRADING_VENUE
---
# Polymarket Simmer FastLoop Trader
> [!TIP]
> **This is a template.** The default signal is a **Mean Reversion** strategy using Binance momentum exhaustion and L2 order book imbalance.
> Remix it with alternative signals like trend-following momentum, social sentiment feeds, or cross-venue arbitrage models.
> The skill handles all the **plumbing** (market discovery, fee-accurate EV math, position tracking). Your agent provides the **alpha**.
Automated trading skill for Polymarket BTC/ETH/SOL 5-minute and 15-minute fast markets.
> **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 |
## π¨ Remixing the Signal
This skill is a **remixable template**. We distinguish between **Plumbing** (Infrastructure) and **Alpha** (Strategy).
### Core Components:
* **The Plumbing (Structural)**: Market discovery (Gamma/Simmer fallback), Pre-Caching, execution via Simmer SDK, and fee-accurate EV calculations.
* **The Alpha (Replaceable)**: The decision-making logic inside `run_strategy` where `side` is determined based on CEX signals.
### How to Remix:
1. **Find the Signal logic**: In `polymarket-simmer-fastloop.py`, look for the `run_strategy` function around line ~950.
2. **Modify the Decision**:
- Swap the `side = "no"` and `side = "yes"` logic to change from Mean Reversion to Trend Following.
- Replace `get_momentum` with your own model or API (e.g., custom XGBoost classifier or GPT-4o signal).
3. **Refine Execution**: Edit `calculate_position_size` to implement custom risk management formulas.
*Use this template to bypass the complexity of Polymarket's order book and focus entirely on your strategy logic.*
## 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.
---
## Skill Companion Files
> Additional files collected from the skill directory layout.
### _meta.json
```json
{
"owner": "andrewbrownrd",
"slug": "polymarket-simmer-fastloop",
"displayName": "Polymarket FastLoop Trader",
"latest": {
"version": "1.0.10",
"publishedAt": 1773668038458,
"commit": "https://github.com/openclaw/skills/commit/a7433150783357fc6594736bb7dc137ae5c7492e"
},
"history": [
{
"version": "1.0.8",
"publishedAt": 1773247691815,
"commit": "https://github.com/openclaw/skills/commit/80420df00286dd27b7cc02a5088f2634c3f17dc4"
},
{
"version": "1.0.7",
"publishedAt": 1772883119531,
"commit": "https://github.com/openclaw/skills/commit/e5b5c8c04e5969ef81ed61745cb47ac5455df4e1"
},
{
"version": "1.0.6",
"publishedAt": 1772792958643,
"commit": "https://github.com/openclaw/skills/commit/eae42441b8a55effe94b070f7b8f06cc995bfa1b"
}
]
}
```