Polymarket Candle Momentum

v2.0.0

Trade Polymarket 5-minute crypto fast markets using 1-minute candle body analysis and volume surge detection from Binance. Scans BTC, ETH, SOL, XRP, BNB simu...

2· 221·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for mibayy/polymarket-candle-momentum.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Polymarket Candle Momentum" (mibayy/polymarket-candle-momentum) from ClawHub.
Skill page: https://clawhub.ai/mibayy/polymarket-candle-momentum
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install polymarket-candle-momentum

ClawHub CLI

Package manager switcher

npx clawhub@latest install polymarket-candle-momentum
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description promise to trade Polymarket fast markets using Binance candle data; the package requires only simmer-sdk and requests and reads SIMMER_API_KEY. The code fetches Binance public klines and calls Simmer APIs to discover markets and (when --live) place trades. The requested dependencies and credential are proportionate to the stated purpose.
Instruction Scope
SKILL.md and the script limit operations to fetching public Binance klines, calling Simmer endpoints, computing signals, and calling SimmerClient.trade() in live mode. Minor discrepancies: the script reads an optional TRADING_VENUE env var (not documented in SKILL.md), and clawhub.json includes a cron schedule while automaton.managed is false (the README also says not auto-executing). These are configuration/metadata inconsistencies to clarify but don't indicate malicious behavior.
Install Mechanism
No install script; dependencies are standard pip packages (simmer-sdk, requests) declared in clawhub.json and SKILL.md. No external downloads, obfuscated installers, or archive extraction are present.
Credentials
Only SIMMER_API_KEY is required and declared; the script also supports documented CM_* override env vars for tuning. It also reads TRADING_VENUE (undocumented) and will include the API key in Authorization headers when calling Simmer REST endpoints. This is expected for a trading integration, but users should be aware TRADING_VENUE is an additional optional env var and should confirm its use.
Persistence & Privilege
The skill does not request always:true and automaton.managed is false (no autonomous execution). However, clawhub.json contains a cron field (*/2 * * * *) which suggests the publisher expects periodic invocation; this contradicts the 'not auto-execute' claim and should be clarified. The skill does not modify other skills or system-wide settings.
Assessment
This skill appears to do what it says: calculate 1m candle signals from Binance and place trades via Simmer when run with --live. Before installing: (1) Review and keep SIMMER_API_KEY secret — avoid embedding it plaintext in global crontabs; prefer a secure environment or a secrets manager. (2) Run in dry-run first to verify signals and behavior. (3) Confirm you trust the simmer-sdk package and the Simmer API endpoints; consider creating a restricted API key if Simmer supports scoped keys. (4) Clarify the two minor inconsistencies: the cron field in clawhub.json (implies periodic runs) and the undocumented TRADING_VENUE env var. (5) If you will run this on a server, inspect the full (untruncated) script to ensure the live path calls SimmerClient.trade() only in intended ways and that there are no further hidden network destinations.

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

latestvk97bta6qz3z7p2ak8vve2085kx839dzm
221downloads
2stars
11versions
Updated 1mo ago
v2.0.0
MIT-0

Polymarket Candle Momentum

Trade Polymarket 5-minute crypto fast markets using candle body analysis and volume surge detection from Binance. A stronger, data-driven alternative to simple momentum signals.

This is a template. The default signal uses Binance 1-minute candle structure (body/range ratio + volume surge). Remix it with your own thresholds, additional indicators, or alternative data sources. The skill handles all the plumbing (market discovery, import, trade execution). Your agent provides the alpha.

Fast markets carry Polymarket's 10% fee (is_paid: true). The default thresholds are calibrated to maintain edge after fees.

The Signal

Most fast-market skills use simple price momentum (did price go up or down?). This skill looks at how price moved:

  1. Candle Body Ratio - Measures the last 1-minute candle's body size relative to its full range. A body ratio > 60% means a decisive move with minimal wicks (strong conviction, not noise).

  2. Volume Surge - Confirms the move with volume. The last candle's volume must be > 1.5x the average of the previous 3 candles. High volume + strong body = real move, not a fake-out.

  3. Direction Alignment - Body direction (bullish/bearish) must align with the 5-minute momentum direction.

Why This Works Better

Simple momentum catches every wiggle. Candle body analysis filters for quality moves:

  • A 0.5% move on a doji candle (long wicks, tiny body) = noise. Skip.
  • A 0.3% move on a marubozu candle (90% body, no wicks) = conviction. Trade.

Backtested on BTC/ETH/SOL/XRP/BNB (3 months, 6131 five-minute slots):

  • body > 65% + volume > 1.5x: 86.3% win rate (N=292)
  • body > 60% + volume > 1.5x: 84.7% win rate (N=333)

Setup

pip dependencies: simmer-sdk, requests

Environment variables:

  • SIMMER_API_KEY (required) - get from simmer.markets/dashboard

No other credentials needed. The script only reads SIMMER_API_KEY from the environment. All trades go through SimmerClient.trade() - no wallet private key, no direct CLOB access.

export SIMMER_API_KEY="your_key_here"

# Dry run (default, no trades placed)
python candle_momentum.py

# Live trading via SimmerClient
python candle_momentum.py --live

# Quiet mode for cron
python candle_momentum.py --live --quiet

How to Run on a Loop

The script runs one cycle. Set up a cron (every 2 min recommended for 5min markets):

*/2 * * * * cd /path/to/skill && SIMMER_API_KEY=your_key python candle_momentum.py --live --quiet

Security Notes

  • Only SIMMER_API_KEY is read from environment. Nothing else.
  • No host files are read. No logs written outside the script's own stdout.
  • automaton.managed is false - the skill does not auto-execute.
  • Dry-run by default. --live must be passed explicitly.

Trade Execution Path

  1. Fetches Binance public klines (no auth) for BTC, ETH, SOL, XRP, BNB
  2. Scans all 5 assets, picks strongest signal (body_ratio x vol_surge score)
  3. Finds matching Polymarket fast market via SimmerClient
  4. If --live: calls SimmerClient.trade() with side, amount, reasoning
  5. If dry-run: logs the signal, no trade placed

Configuration

Via environment variables only (no local file persistence):

python candle_momentum.py --set body_threshold=0.65
python candle_momentum.py --set asset=ETH
python candle_momentum.py --set vol_threshold=2.0

Settings

SettingDefaultEnv VarDescription
body_threshold0.60CM_BODY_THRESHOLDMin candle body/range ratio (0-1)
vol_threshold1.5CM_VOL_THRESHOLDMin volume surge vs 3-candle average
max_position5.0CM_MAX_POSITIONMax USD per trade
assetsBTC,ETH,SOL,XRP,BNB-Assets to scan (picks best signal)
assetBTCCM_ASSETSingle asset override (ignores assets)
window5mCM_WINDOWMarket window (5m or 15m)
min_time_remaining60CM_MIN_TIMESkip markets with less time (seconds)
lookback_candles3CM_LOOKBACKCandles for volume average
entry_threshold0.05CM_ENTRY_THRESHOLDMin price divergence from 50c

CLI Options

python candle_momentum.py                    # Dry run
python candle_momentum.py --live             # Real trades
python candle_momentum.py --live --quiet     # Silent mode
python candle_momentum.py --positions        # Show open positions
python candle_momentum.py --config           # Show config
python candle_momentum.py --set KEY=VALUE    # Update config

Remix Ideas

The candle body + volume signal is just the starting point. Ideas:

  • Multi-timeframe: Confirm 1m signal with 5m candle structure
  • Wick analysis: Filter out candles with long upper wicks (rejection)
  • RSI filter: Skip overbought/oversold conditions
  • Multi-exchange: Compare candle patterns across Binance + Coinbase
  • Order flow: Add Polymarket CLOB depth as confirmation

To customize, edit get_candle_signal() in candle_momentum.py.

Example Output

  Polymarket Candle Momentum Trader
==================================================
  [DRY RUN] Use --live to enable trading.

  Configuration:
  Asset:           BTC
  Body threshold:  0.60 (min candle body ratio)
  Vol threshold:   1.5x (min volume surge)
  Max position:    $5.00

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

  Selected: Bitcoin Up or Down - Mar 19, 10:30-10:35AM ET
  Expires in: 210s
  Current YES price: $0.490

  Fetching BTC candle data (binance)...
  Last candle: O=84250 H=84312 L=84245 C=84305
  Body ratio: 0.90 (strong!)
  Direction: BULLISH
  Volume surge: 2.3x avg

  Signal: BUY YES (body=0.90, vol=2.3x, direction=UP)
  Divergence: 5c (YES at 0.49, expected ~0.54)

  [DRY RUN] Would buy $5.00 YES

Source

All trades tagged with source: "sdk:candle-momentum" for portfolio tracking.

Comments

Loading comments...