agentleFS
SpartanLabsXyzSpartanLabsXyz/simmer-sdk/skills/polymarket-ai-divergence/SKILL.md

polymarket-ai-divergence

Skill56 starsChanged 10 days agoMITView on GitHub

Find markets where Simmer's AI consensus diverges from the real market price, then trade on the mispriced side using Kelly sizing. Scans for divergence, checks fees and safeguards, and executes trades on zero-fee markets with sufficient edge.

  • Reads credentials
  • Installs packages

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 5 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Scans: all active markets for AI vs market price divergence

    line 20
  2. Distinctive:

    When user asks to install or configure this skill:

    line 28
  3. Distinctive:

    Not needed for $SIM paper trading on the Simmer venue

    line 43
  4. Very specific:

    Update via CLI: python ai_divergence.py --set max_bet_usd=10

    line 85
  5. Distinctive:

    When divergence > 0: AI thinks the market is underpriced → buy YES When divergence < 0: AI thinks the market is overpriced → buy NO

    line 97
  6. Distinctive:

    When divergence < 0: AI thinks the market is overpriced → buy NO

    line 98

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Polymarket AI Divergence Trader

Find markets where Simmer's AI consensus diverges from the real market price, then trade the edge.

🚨 Framework, not a production trading system. Read DISCLAIMER.md before connecting to a wallet with real funds.

This is a template. The default logic trades when AI divergence exceeds 2% on zero-fee markets, using Kelly sizing capped at 25%. Remix it with different edge thresholds, sizing strategies, or additional filters (e.g., only trade markets resolving within 7 days). The skill handles plumbing (divergence scanning, fee checks, safeguards, execution). Your agent provides the alpha.

What It Does

  1. Scans all active markets for AI vs market price divergence
  2. Filters to markets with edge above threshold (default 2%) and zero fees
  3. Checks safeguards (flip-flop detection, existing positions)
  4. Sizes using Kelly criterion, capped conservatively
  5. Executes trades on the mispriced side (YES when AI is bullish, NO when bearish)

Setup Flow

When user asks to install or configure this skill:

  1. Install the Simmer SDK
    pip install simmer-sdk
  2. Ask for Simmer API key
    • They can get it from simmer.markets/dashboard → SDK tab
    • Store in environment as SIMMER_API_KEY
  3. Ask for wallet private key (required for live trading)
    • This is the private key for their Polymarket wallet (the wallet that holds USDC)
    • Store in environment as WALLET_PRIVATE_KEY
    • The SDK uses this to sign orders client-side automatically — no manual signing needed
    • Not needed for $SIM paper trading on the Simmer venue

Quick Commands

# Scan only (dry run, no trades)
python ai_divergence.py

# Scan + execute trades
python ai_divergence.py --live

# Only show bullish divergences
python ai_divergence.py --bullish

# Only >15% divergence
python ai_divergence.py --min 15

# JSON output
python ai_divergence.py --json

# Cron mode (quiet, trades only)
python ai_divergence.py --live --quiet

# Show config
python ai_divergence.py --config

# Update config
python ai_divergence.py --set max_bet_usd=10

Configuration

KeyEnv VarDefaultDescription
min_divergenceSIMMER_DIVERGENCE_MIN5.0Min divergence % for scanner display
min_edgeSIMMER_DIVERGENCE_MIN_EDGE0.02Min divergence to trade (2%)
max_bet_usdSIMMER_DIVERGENCE_MAX_BET5.0Max bet per trade
max_trades_per_runSIMMER_DIVERGENCE_MAX_TRADES3Max trades per cycle
kelly_capSIMMER_DIVERGENCE_KELLY_CAP0.25Kelly fraction cap
daily_budgetSIMMER_DIVERGENCE_DAILY_BUDGET25.0Daily spend limit
default_directionSIMMER_DIVERGENCE_DIRECTION(both)Filter: "bullish" or "bearish"

Update via CLI: python ai_divergence.py --set max_bet_usd=10

How It Works

Divergence Signal

Each imported market has two prices:

  • AI consensus (current_probability) — Simmer's AI consensus price, derived from multi-model ensemble forecasting
  • External price (external_price_yes) — Real market price on Polymarket/Kalshi

divergence = AI consensus - external price

When divergence > 0: AI thinks the market is underpriced → buy YES When divergence < 0: AI thinks the market is overpriced → buy NO

Kelly Sizing

Position size uses the Kelly criterion:

kelly_fraction = edge / (1 - price)
position_size = kelly_fraction * max_bet_usd

Capped at kelly_cap (default 25%) to limit risk.

Fee Filtering

75% of Polymarket markets have 0% fees. The remaining 25% charge 10% (short-duration crypto/sports). This skill only trades zero-fee markets to avoid fee drag eroding the edge.

Safeguards

  • Fee check: Skips markets with any taker fee
  • Flip-flop detection: Uses SDK's context API to detect contradictory trades
  • Position check: Skips markets where you already hold a position
  • Daily budget: Stops trading when daily spend limit is reached
  • Kelly sizing: Conservative sizing prevents over-betting

API Endpoints Used

  • GET /api/sdk/markets/opportunities — Divergence-ranked market list
  • GET /api/sdk/context/{market_id} — Fee rate and safeguards per market
  • POST /api/sdk/trade — Trade execution (via SDK client)
  • GET /api/sdk/positions — Current portfolio positions

Troubleshooting

"No markets above min edge threshold" → All divergences are below the min_edge setting. Lower it with --set min_edge=0.01 or wait for larger divergences.

"Daily budget exhausted" → The skill has hit its daily spend limit. Adjust with --set daily_budget=50.

All markets skipped for fees → Only zero-fee markets are traded. If all available divergence opportunities have fees, no trades execute. This is by design.

"context fetch failed" → The SDK context endpoint is rate-limited (18 req/min). If running frequently, reduce max_trades_per_run.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.