Install
openclaw skills install polymarket-supply-chain-traderTrades Polymarket prediction markets focused on supply chain disruptions, port congestion, shipping delays, commodity prices, and logistics outcomes. Use when you want to capture alpha on global trade flow events, raw material price markets, and demand spike predictions.
openclaw skills install polymarket-supply-chain-traderThis is a template.
The default signal is keyword-based market discovery (shipping, port, logistics, commodity, supply chain) — remix it with freight index APIs (Baltic Dry Index), satellite AIS vessel tracking data, or real-time port authority feeds.
The skill handles all the plumbing (market discovery, trade execution, safeguards). Your agent provides the alpha.
Supply chain prediction markets are among the most underserved categories on Polymarket. This skill identifies and trades markets related to:
Research shows prediction markets can reduce supply chain forecasting errors by 20–50% vs traditional methods (CFTC data). This makes these markets both tradable AND informative.
disruption_bias() — combines seasonal shipping cycles with commodity predictabilitymax(MIN_TRADE, conviction × bias × MAX_POSITION) — capped at MAX_POSITIONdisruption_bias() multiplies conviction using two independent factors simultaneously:
Factor 1 — Seasonal Shipping Cycle
Container shipping has a well-documented Q4 crunch (Oct–Dec) driven by pre-holiday inventory builds. Congestion and delay markets are structurally more likely to resolve YES in peak season.
| Period | Multiplier | Why |
|---|---|---|
| Q4: Oct–Dec | 1.25x | Peak season — pre-holiday crunch, port congestion likely |
| Q1: Jan–Mar | 0.85x | Off-season — lower disruption probability |
| Apr–Sep | 1.05x | Mild mid-year activity |
Only applied when the question contains shipping/port/freight/cargo keywords.
Factor 2 — Commodity Predictability
| Commodity type | Multiplier | Why |
|---|---|---|
| Crude oil / energy / LNG | 1.20x | Most liquid commodity — highly modeled, information-rich |
| Semiconductors / chips / GPU | 1.15x | Documented cycles, policy-driven — trackable |
| Lithium / cobalt / EV battery | 1.15x | China-concentrated supply — export data publicly trackable |
| Chokepoints (Suez, Red Sea, Panama) | 1.10x | Geopolitical risk well-documented and persistent |
| Agricultural / grain / harvest | 0.85x | Weather-dependent, high variance — hard to model |
Combined multiplier capped at 1.40x. A Q4 container shipping market mentioning Suez would score 1.25 × 1.10 = 1.375x.
KEYWORDS = [
'shipping', 'port', 'container', 'supply chain', 'logistics',
'commodity', 'crude oil', 'Brent', 'natural gas', 'LNG',
'steel price', 'lithium', 'cobalt', 'critical mineral',
'semiconductor', 'chip shortage', 'TSMC', 'GPU',
'delivery delay', 'Maersk', 'Rotterdam', 'Suez', 'Panama Canal',
'Red Sea', 'freight', 'Baltic Dry', 'EV battery',
]
| Parameter | Default | Notes |
|---|---|---|
| Max position size | $25 USDC | Per market |
| Min market volume | $5,000 | Liquidity filter |
| Max bid-ask spread | 10% | Slippage guard |
| Min days to resolution | 7 | Avoid last-minute noise |
| Max open positions | 5 | Concentration limit |
clawhub install polymarket-supply-chain-trader
Requires: SIMMER_API_KEY environment variable.
Runs every 15 minutes (*/15 * * * *). Markets are slow-moving enough that high-frequency execution is unnecessary.
The skill defaults to paper trading (venue="sim"). Real trades only execute when --live is passed explicitly.
| Scenario | Mode | Financial risk |
|---|---|---|
python trader.py | Paper (sim) | None |
| Cron / automaton | Paper (sim) | None |
python trader.py --live | Live (polymarket) | Real USDC |
The automaton cron is set to null — it does not run on a schedule until you configure it in the Simmer UI. autostart: false means it won't start automatically on install.
| Variable | Required | Notes |
|---|---|---|
SIMMER_API_KEY | Yes | Trading authority — keep this credential private. Do not place a live-capable key in any environment where automated code could call --live. |
All risk parameters are declared in clawhub.json as tunables and adjustable from the Simmer UI without code changes. They use SIMMER_-prefixed env vars so apply_skill_config() can load them securely.
| Variable | Default | Purpose |
|---|---|---|
SIMMER_MAX_POSITION | 25 | Max USDC per trade (reached at 100% conviction) |
SIMMER_MIN_VOLUME | 5000 | Min market volume filter (USD) |
SIMMER_MAX_SPREAD | 0.10 | Max bid-ask spread (0.10 = 10%) |
SIMMER_MIN_DAYS | 7 | Min days until market resolves |
SIMMER_MAX_POSITIONS | 5 | Max concurrent open positions |
SIMMER_YES_THRESHOLD | 0.38 | Buy YES if market price ≤ this value |
SIMMER_NO_THRESHOLD | 0.62 | Sell NO if market price ≥ this value |
SIMMER_MIN_TRADE | 5 | Floor for any trade (min USDC regardless of conviction) |
simmer-sdk is published on PyPI by Simmer Markets.
Review the source before providing live credentials if you require full auditability.