Trading

Trade Polymarket BTC 5-minute and 15-minute fast markets using CEX price momentum signals via Simmer API. Default signal is Binance BTC/USDT klines. Use when...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 558 · 1 current installs · 1 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description (Polymarket fast-loop trader) match the code and SKILL.md: the package discovers Polymarket sprint markets, computes CEX momentum signals (Binance by default), and uses the Simmer API to execute trades. The single required env var (SIMMER_API_KEY) is consistent with a broker/service API key used to place trades.
Instruction Scope
The runtime instructions and the script focus on trading: asking the user for SIMMER_API_KEY, configuring thresholds, and running the script (dry-run vs --live). There are no instructions to read unrelated system files, harvest other credentials, or send arbitrary data to unknown endpoints. The network calls in code (simmer.markets, gamma-api.polymarket.com, public price feeds such as Binance/coingecko) are aligned with the stated purpose.
Install Mechanism
No install spec is provided (instruction-only skill with an included script). Nothing is downloaded from arbitrary URLs or installed system-wide. The risk from installation is low, but note that a local Python script is included and will be executed when invoked.
Credentials
Only SIMMER_API_KEY is required (plus optional SIMMER_* env vars for configuration). That is proportionate for a skill that delegates trade execution to a third-party Simmer service. No unrelated secrets or high-privilege credentials are requested.
Persistence & Privilege
The skill is not always-enabled, and it does not request system-wide persistence or attempt to modify other skills. It writes/updates its own config.json in its directory, which is normal for a CLI script. Autonomous invocation is allowed by platform default but not flagged here on its own.
Assessment
This package appears internally coherent for trading Polymarket sprint markets using Simmer as the execution layer. Before installing or running it: (1) treat your SIMMER_API_KEY like a secret—only set it in controlled environments and never paste it into chat; (2) test extensively in dry-run mode and review the script (fastloop_trader.py) yourself — running with --live will execute real trades and risk funds; (3) run it in an isolated environment (container or restricted VM) if you are unsure of provenance; (4) note that the skill source/homepage is not provided in the metadata — verify the Simmer service and the skill owner independently to ensure you trust the third party handling trade execution.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk972893snjwp4f94x952n9e141816672

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

Clawdis
EnvSIMMER_API_KEY

SKILL.md

Polymarket FastLoop Trader

Trade Polymarket's 5-minute BTC fast markets using real-time price momentum from Binance.

Polymarket only. All trades execute on Polymarket with real USDC. Use --live for real trades, dry-run is the default.

How it works: Every cycle, the script finds the current live BTC fast market, checks BTC price momentum on Binance, and trades if momentum diverges from market odds.

This is a template. The default signal (Binance momentum) gets you started. Your agent's reasoning is the edge — layer on sentiment analysis, multi-exchange spreads, news feeds, or custom signals to improve it.

⚠️ Fast markets carry Polymarket's 10% fee (is_paid: true). Factor this into your edge calculations.

When to Use This Skill

Use this skill when the user wants to:

  • Trade BTC sprint/fast markets (5-minute or 15-minute)
  • Automate short-term crypto prediction trading
  • Use CEX price momentum as a Polymarket signal
  • Monitor sprint market positions

Setup Flow

When user asks to install or configure this skill:

  1. Ask for Simmer API key

    • Get from simmer.markets/dashboard → SDK tab
    • Store in environment as SIMMER_API_KEY
  2. Ask about settings (or confirm defaults)

    • Asset: BTC, ETH, or SOL (default BTC)
    • Entry threshold: Min divergence to trade (default 5¢)
    • Max position: Amount per trade (default $5.00)
    • Window: 5m or 15m (default 5m)
  3. Set up cron or loop (user drives scheduling — see "How to Run on a Loop")

Quick Start

# Set your API key
export SIMMER_API_KEY="your-key-here"

# Dry run — see what would happen
python fastloop_trader.py

# Go live
python fastloop_trader.py --live

# Live + quiet (for cron/heartbeat loops)
python fastloop_trader.py --live --quiet

# Live + smart sizing (5% of balance per trade)
python fastloop_trader.py --live --smart-sizing --quiet

How to Run on a Loop

The script runs one cycle — your bot drives the loop. Set up a cron job or heartbeat:

Every 5 minutes (one per fast market window):

*/5 * * * * cd /path/to/skill && python fastloop_trader.py --live --quiet

Every 1 minute (more aggressive, catches mid-window opportunities):

* * * * * cd /path/to/skill && python fastloop_trader.py --live --quiet

Via OpenClaw heartbeat: Add to your HEARTBEAT.md:

Run: cd /path/to/fast market && python fastloop_trader.py --live --quiet

Configuration

Configure via config.json, environment variables, or --set:

# Change entry threshold
python fastloop_trader.py --set entry_threshold=0.08

# Trade ETH instead of BTC
python fastloop_trader.py --set asset=ETH

# Multiple settings
python fastloop_trader.py --set min_momentum_pct=0.3 --set max_position=10

Settings

SettingDefaultEnv VarDescription
entry_threshold0.05SIMMER_SPRINT_ENTRYMin price divergence from 50¢ to trigger
min_momentum_pct0.5SIMMER_SPRINT_MOMENTUMMin BTC % move to trigger
max_position5.0SIMMER_SPRINT_MAX_POSITIONMax $ per trade
signal_sourcebinanceSIMMER_SPRINT_SIGNALPrice feed (binance, coingecko)
lookback_minutes5SIMMER_SPRINT_LOOKBACKMinutes of price history
min_time_remaining60SIMMER_SPRINT_MIN_TIMESkip fast markets with less time left (seconds)
assetBTCSIMMER_SPRINT_ASSETAsset to trade (BTC, ETH, SOL)
window5mSIMMER_SPRINT_WINDOWMarket window duration (5m or 15m)
volume_confidencetrueSIMMER_SPRINT_VOL_CONFWeight signal by Binance volume

Example config.json

{
  "entry_threshold": 0.08,
  "min_momentum_pct": 0.3,
  "max_position": 10.0,
  "asset": "BTC",
  "window": "5m",
  "signal_source": "binance"
}

CLI Options

python fastloop_trader.py                    # Dry run
python fastloop_trader.py --live             # Real trades
python fastloop_trader.py --live --quiet     # Silent except trades/errors
python fastloop_trader.py --smart-sizing     # Portfolio-based sizing
python fastloop_trader.py --positions        # Show open fast market positions
python fastloop_trader.py --config           # Show current config
python fastloop_trader.py --set KEY=VALUE    # Update config

Signal Logic

Default signal (Binance momentum):

  1. Fetch last 5 one-minute candles from Binance (BTCUSDT)
  2. Calculate momentum: (price_now - price_5min_ago) / price_5min_ago
  3. Compare momentum direction to current Polymarket odds
  4. Trade when:
    • Momentum ≥ min_momentum_pct (default 0.5%)
    • Price diverges from 50¢ by ≥ entry_threshold (default 5¢)
    • Volume ratio > 0.5x average (filters out thin moves)

Example: BTC up 0.8% in last 5 min, but fast market YES price is only $0.52. The 3¢ divergence from the expected ~$0.55 → buy YES.

Customizing Your Signal

The default momentum signal is a starting point. To add your own edge:

  • Multi-exchange: Compare prices across Binance, Kraken, Bitfinex — divergence between exchanges can predict CLOB direction
  • Sentiment: Layer in Twitter/social signals — a viral tweet can move fast markets
  • Technical indicators: RSI, VWAP, order flow analysis
  • News: Breaking news correlation — use your agent's reasoning to interpret headlines

The skill handles all the Simmer plumbing (discovery, import, trade execution). Your agent provides the alpha.

Example Output

⚡ Simmer FastLoop Trading Skill
==================================================

  [DRY RUN] No trades will be executed. Use --live to enable trading.

⚙️  Configuration:
  Asset:            BTC
  Entry threshold:  0.05 (min divergence from 50¢)
  Min momentum:     0.5% (min price move)
  Max position:     $5.00
  Signal source:    binance
  Lookback:         5 minutes
  Min time left:    60s
  Volume weighting: ✓

🔍 Discovering BTC fast markets...
  Found 3 active fast markets

🎯 Selected: Bitcoin Up or Down - February 15, 5:30AM-5:35AM ET
  Expires in: 185s
  Current YES price: $0.480

📈 Fetching BTC price signal (binance)...
  Price: $97,234.50 (was $96,812.30)
  Momentum: +0.436%
  Direction: up
  Volume ratio: 1.45x avg

🧠 Analyzing...
  ⏸️  Momentum 0.436% < minimum 0.500% — skip

📊 Summary: No trade (momentum too weak: 0.436%)

Source Tagging

All trades are tagged with source: "sdk:fastloop". This means:

  • Portfolio shows breakdown by strategy
  • Other skills won't interfere with your fast market positions
  • You can track fast market P&L separately

Troubleshooting

"No active fast markets found"

  • Fast markets may not be running (off-hours, weekends)
  • Check Polymarket directly for active BTC fast markets

"No fast markets with >60s remaining"

  • Current window is about to expire, next one isn't live yet
  • Reduce min_time_remaining if you want to trade closer to expiry

"Import failed: Rate limit exceeded"

  • Free tier: 10 imports/day. Pro: 50/day
  • Fast market trading needs Pro for reasonable frequency

"Failed to fetch price data"

  • Binance API may be down or rate limited
  • Try --set signal_source=coingecko as fallback

"Trade failed: no liquidity"

  • Fast market has thin book, try smaller position size

Files

4 total
Select a file
Select a file to preview.

Comments

Loading comments…