skills/polymarket-nothing-ever-happens/SKILL.md
Buy NO on standalone non-sports yes/no Polymarket markets priced below a configurable cap. Based on the "nothing-ever-happens" thesis — binary markets often resolve NO, and cheap NO shares offer asymmetric value. Scans for candidates via Gamma API, filters out sports and grouped markets, checks fees, and executes.
npx skillsauth add spartanlabsxyz/simmer-sdk polymarket-nothing-ever-happensInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Buy NO on standalone yes/no Polymarket markets priced below a configurable cap.
🚨 Framework, not a production trading system. Read DISCLAIMER.md before connecting to a wallet with real funds.
This is a template. The default logic buys NO on any non-sports standalone market where NO costs ≤5¢. Remix it with custom filters (minimum volume thresholds, specific categories, date ranges) or pair it with a signal to skip markets where YES might actually happen. The skill handles plumbing (discovery, import, fee checks, execution). You define which markets to trade.
Based on: sterlingcrispin/nothing-ever-happens
On most standalone binary prediction markets, the event resolves NO — nothing dramatic happens. Markets systematically overprice dramatic YES outcomes. When NO is trading at 3¢–5¢, you're getting 20–33x payout if you're right, and the base rate of "nothing happens" is often much higher than the implied 3–5%.
max_bet_usdWhen user asks to install or configure this skill:
Install the Simmer SDK
pip install simmer-sdk
Ask for Simmer API key
SIMMER_API_KEYAsk for wallet private key (required for live trading)
WALLET_PRIVATE_KEY# Scan for candidates (no trades)
python nothing_ever_happens.py --scan
# Dry run — show what would trade
python nothing_ever_happens.py
# Execute real trades
python nothing_ever_happens.py --live
# Quiet mode (for cron — only prints on trades/errors)
python nothing_ever_happens.py --live --quiet
# Show config
python nothing_ever_happens.py --config
# Update config
python nothing_ever_happens.py --set price_cap=0.03
| Key | Env Var | Default | Description |
|-----|---------|---------|-------------|
| — | TRADING_VENUE | polymarket | Venue to trade on. Set sim for $SIM paper trading on the Simmer venue (no wallet, no USDC). |
| price_cap | SIMMER_NEH_PRICE_CAP | 0.05 | Max NO price to buy (0.05 = 5¢) |
| max_bet_usd | SIMMER_NEH_MAX_BET_USD | 5.0 | USDC per trade |
| max_trades_per_run | SIMMER_NEH_MAX_TRADES_PER_RUN | 3 | Max trades per execution |
| daily_budget | SIMMER_NEH_DAILY_BUDGET_USD | 15.0 | Daily spend limit |
| min_liquidity | SIMMER_NEH_MIN_LIQUIDITY | 500.0 | Min market liquidity (USDC) |
| min_volume_24h | SIMMER_NEH_MIN_VOLUME_24H | 100.0 | Min 24h volume (USDC) |
| candidate_pages | SIMMER_NEH_CANDIDATE_PAGES | 3 | Gamma API pages to scan |
Update via CLI: python nothing_ever_happens.py --set price_cap=0.03
The skill fetches active Polymarket events via the Gamma API, sorted by 24h volume. It only considers standalone events — events with exactly one market. Grouped events (e.g. "Who wins Iowa?" alongside "Who wins Florida?" in a presidential election group) are excluded because:
["Yes", "No"]For each candidate, the skill:
client.trade(side="no", amount=max_bet_usd)/events — Discover active Polymarket eventsPOST /api/sdk/import — Import market to Simmer (via client.import_market())GET /api/sdk/context/{market_id} — Fee rate and safeguardsPOST /api/sdk/trade — Trade executionGET /api/sdk/positions — Current positions (avoid doubling up)"No candidates below price cap"
→ All standalone non-sports markets have NO > cap. Lower price_cap (e.g. --set price_cap=0.08) or wait — cheap NO opportunities appear sporadically.
"Daily budget exhausted"
→ Hit daily limit. Adjust with --set daily_budget=30.
"Import failed" → The market may have already resolved, or the slug is incorrect. The skill skips and continues.
All candidates have fees → The fee filter is intentional — on a 5¢ NO position (p=0.05) the crypto taker fee runs ~6.6% of cost, eliminating most of the edge on cheap NO. By design. Zero-fee categories (e.g. Geopolitics) bypass this filter.
"gamma_api.py not found"
→ Copy gamma_api.py from the polymarket-ai-divergence skill into this skill's directory, or install both skills together.
data-ai
Copy the top World Cup traders on Polymarket — auto-curated daily by Simmer. No wallet list to configure; the skill sources leaders via PolyNode's slippage-adjusted copy-PnL screen. Regular mode (daily rebalance). Free tier.
tools
# Fixture Instruction-Only Skill This is a Tier-A instruction-only fixture used to verify that invoking an instruction-only skill returns its SKILL.md playbook instead of an error. UNIQUE_FIXTURE_MARKER_4815162342
development
Fade sharp in-play price shocks on Polymarket soccer markets with a laddered limit-buy strategy (Roan's FIFA-quant framework). Pro skill. Currently scoped to 2026 World Cup markets. Simmer's server detects shocks in real time and emits pre-sized signals; this skill places the recovery ladder and manages the exit.
development
Build and optionally execute a three-tranche Polymarket DCA plan with prop-firm-shaped evaluation envelope checks. Use when the user wants a Bubbles/Roya-style staged averaging template for one thesis, with paper mode by default and explicit live opt-in.