← Back to Skills Marketplace
richducat

Polymarket Candle Momentum

by richducat · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
92
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install dolph-candle-momentum
Description
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...
README (SKILL.md)

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

Setting Default Env Var Description
body_threshold 0.60 CM_BODY_THRESHOLD Min candle body/range ratio (0-1)
vol_threshold 1.5 CM_VOL_THRESHOLD Min volume surge vs 3-candle average
max_position 5.0 CM_MAX_POSITION Max USD per trade
assets BTC,ETH,SOL,XRP,BNB - Assets to scan (picks best signal)
asset BTC CM_ASSET Single asset override (ignores assets)
window 5m CM_WINDOW Market window (5m or 15m)
min_time_remaining 60 CM_MIN_TIME Skip markets with less time (seconds)
lookback_candles 3 CM_LOOKBACK Candles for volume average
entry_threshold 0.05 CM_ENTRY_THRESHOLD Min 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.

Usage Guidance
This skill appears to implement the described Binance-candle + Simmer trading signal, but there are inconsistencies you should resolve before handing over a live API key: - Metadata mismatches: the registry summary claims 'no required env vars' while SKILL.md and clawhub.json require SIMMER_API_KEY; _meta.json and SKILL.md versions/owner IDs differ. Ask the publisher to explain/clean up these mismatches and confirm ownership. - SIMMER_API_KEY is a sensitive credential: verify what permissions that key grants (trade-only, per-venue limits, rate limits). Prefer a least-privilege/trade-only key and rotate it after testing. - Test in dry-run: run the script without --live and review logs and behavior. Inspect the complete candle_momentum.py (the manifest shows it truncated) to ensure no hidden network calls or file access in the unseen portion. - Review simmer-sdk: because trade execution goes through simmer-sdk, inspect that package (source or pinned version) so you know what client.trade() does and what data is sent. - Cron/scheduling: confirm whether the platform will auto-schedule the skill using clawhub.json. If you don't want periodic runs, do not create a cron entry and only run manually or via your own scheduler. If the publisher cannot resolve the metadata discrepancies or you cannot confirm the SIMMER_API_KEY privileges, treat the key as high-risk and do not run --live until you have a scoped test key and full code review.
Capability Analysis
Type: OpenClaw Skill Name: dolph-candle-momentum Version: 1.0.0 The skill bundle implements a legitimate trading bot for Polymarket using Binance candle data and the Simmer SDK. The code in `candle_momentum.py` follows the logic described in `SKILL.md`, fetching public market data and executing trades via the `simmer-sdk` using the user-provided `SIMMER_API_KEY`. No evidence of data exfiltration, malicious execution, or prompt injection was found; the network requests to Binance and Simmer Markets are consistent with the tool's stated purpose.
Capability Tags
cryptorequires-wallet
Capability Assessment
Purpose & Capability
The skill's stated purpose (scan Binance candles and place trades via Simmer/Polymarket) matches the code: it calls Binance public klines and uses a SimmerClient / Simmer REST API to discover markets and execute trades. Requesting SIMMER_API_KEY is coherent with this purpose. However, the registry metadata above the files says 'Required env vars: none' while both SKILL.md and clawhub.json declare SIMMER_API_KEY — this mismatch is an incoherence in the published metadata.
Instruction Scope
SKILL.md instructs only to provide SIMMER_API_KEY and run the script (dry-run by default; --live to trade). The Python code reads only config env vars (CM_*) and SIMMER_API_KEY (plus optional TRADING_VENUE), uses Binance public endpoints, and does not read host files or other secrets in the visible portion. No evidence that it transmits unrelated local data. The file is truncated in the manifest, so the final sections should be reviewed, but the visible instructions stay within the trading scope.
Install Mechanism
There is no binary download/install script; dependencies are standard Python packages (simmer-sdk, requests) listed in SKILL.md and clawhub.json. This is proportionate for a Python trading script. There are no downloads from unknown URLs or archives that would raise high install risk.
Credentials
The skill legitimately needs a Simmer API key to place trades (SIMMER_API_KEY). It also supports several CM_* env var overrides and reads an optional TRADING_VENUE env var in get_client(), but these extra env vars are not declared in the top-level registry listing (which said 'none'). The primary secret requested (SIMMER_API_KEY) is proportional to the task, but you should confirm what privileges that API key grants (trade-only vs admin) before using it.
Persistence & Privilege
The skill is instruction-only and does not include an install script that writes files. automaton.managed is false and always:false, so it does not self-enable permanently via automaton settings. clawhub.json includes a cron field and an entrypoint; while the SKILL.md asks users to set up a cron, the presence of a cron entry in metadata could cause confusion about scheduling behavior — clarify whether the platform will schedule it automatically or if the user must. The skill can be invoked autonomously via the platform (disable-model-invocation is false) which is typical; combine this with API-key access only if you trust the key.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install dolph-candle-momentum
  3. After installation, invoke the skill by name or use /dolph-candle-momentum
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of Polymarket Candle Momentum skill. - Trades 5-minute Polymarket fast markets (BTC, ETH, SOL, XRP, BNB) using 1-minute Binance candle body analysis and volume surge detection. - Enters positions when last candle body >60% of range and volume >1.5x 3-candle average. - Backtested with 84–86%+ win rate over 3 months. - Dry-run by default; live trading enabled with --live flag and SIMMER_API_KEY. - Configurable thresholds and assets via CLI or environment variables.
Metadata
Slug dolph-candle-momentum
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Polymarket Candle Momentum?

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... It is an AI Agent Skill for Claude Code / OpenClaw, with 92 downloads so far.

How do I install Polymarket Candle Momentum?

Run "/install dolph-candle-momentum" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Polymarket Candle Momentum free?

Yes, Polymarket Candle Momentum is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Polymarket Candle Momentum support?

Polymarket Candle Momentum is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Polymarket Candle Momentum?

It is built and maintained by richducat (@richducat); the current version is v1.0.0.

💬 Comments