polymarket-weather-trader

Installation
SKILL.md

Polymarket Weather Trader

Trade temperature markets on Polymarket using NOAA forecast data.

Template skill. Defaults to dry-run mode (no real money). The --live flag is a deliberate single-command opt-in for real-money execution. Configure tunables (entry/exit thresholds, locations, etc.) via env vars listed below.

Safety rails (read first)

This skill executes real-money trades on Polymarket only when the --live flag is passed AND the human's wallet is linked to their Simmer account. Trading is bounded by default:

  • Dry-run is the default. python weather_trader.py (no flag) shows opportunities but executes no trades. The --live flag is required for real-money execution. There is no "auto-graduate" path.
  • $SIM paper sandbox option. Set TRADING_VENUE=sim to trade Simmer's $SIM virtual currency at real prices — useful for validating the strategy without USDC exposure.
  • Real-money trading requires explicit human verification. A wallet must be linked at simmer.markets/dashboard before any real trade lands. Without a linked wallet the SDK rejects real-money order construction.
  • Per-trade cap. SIMMER_WEATHER_MAX_POSITION_USD defaults to $2.00 per trade. Configurable via env var, capped at the user's dashboard-set platform per-trade limit.
  • Daily caps. Platform-level daily caps apply (max trades/day, max USD/day). Set at simmer.markets/dashboard → SDK settings.
  • Auto stop-loss is ON by default. Server-side risk monitor watches every buy. Threshold is configurable per user at simmer.markets/dashboard → Settings → Auto Risk Monitor.
  • Strategy-side safeguards. Beyond platform risk monitors, this skill checks flip-flop, slippage (SIMMER_WEATHER_SLIPPAGE_MAX, default 15%), time-decay, and resolved-market status before every order. Disable only with --no-safeguards (not recommended).
  • Reversibility. Open positions exit automatically when price > SIMMER_WEATHER_EXIT_THRESHOLD (default 0.45), or via client.cancel_order() / a manual sell.

If anything above isn't clear, stop and ask the user before passing --live.

Related skills

More from spartanlabsxyz/simmer-sdk

Installs
17
GitHub Stars
45
First Seen
Mar 12, 2026