Install
openclaw skills install @diagnostikon/polymarket-ladder-chess-tournament-traderTrades distribution-sum violations in chess tournament winner markets on Polymarket. Player winner probabilities must sum to ~100% — when the field total deviates beyond threshold, individual player markets are structurally mispriced.
openclaw skills install @diagnostikon/polymarket-ladder-chess-tournament-traderThis is a template. The default signal is distribution-sum consistency checking across chess tournament winner markets — remix it with Elo rating feeds, tournament bracket analysis, or live game evaluation engines. The skill handles all the plumbing (market discovery, tournament grouping, trade execution, safeguards). Your agent provides the alpha.
Polymarket lists winner-takes-all chess tournament markets where each player has a separate "Will X win?" contract:
These markets form a probability distribution. Exactly one player wins, so the individual winner probabilities must sum to approximately 100%. When retail trades these markets in isolation, the sum drifts — and that is the edge.
In a winner-takes-all tournament with N players, the mathematical constraint is:
P(player 1 wins) + P(player 2 wins) + ... + P(player N wins) = 100%
When the sum deviates, the field is structurally mispriced:
| Player Market | Probability |
|---|---|
| Gukesh wins | 35% |
| Caruana wins | 25% |
| Nakamura wins | 20% |
| Praggnanandhaa wins | 15% |
| Firouzja wins | 12% |
| Sum | 107% |
Violation: sum = 107% > 100%. The field is overpriced by 7%. Trade: sell NO on the highest-probability players (Gukesh, Caruana) where the threshold gate is satisfied, sizing by conviction.
MIN_VIOLATION threshold (default 5%)YES_THRESHOLD / NO_THRESHOLD)The skill defaults to paper trading (venue="sim"). Real trades only with --live flag.
| Scenario | Mode | Financial risk |
|---|---|---|
python trader.py | Paper (sim) | None |
| Cron / automaton | Paper (sim) | None |
python trader.py --live | Live (polymarket) | Real USDC |
autostart: false and cron: null mean nothing runs automatically until configured in Simmer UI.
| Variable | Required | Notes |
|---|---|---|
SIMMER_API_KEY | Yes | Trading authority. Treat as a high-value credential. |
All declared as tunables in clawhub.json and adjustable from the Simmer UI.
| Variable | Default | Purpose |
|---|---|---|
SIMMER_MAX_POSITION | 40 | Max USDC per trade at full conviction |
SIMMER_MIN_TRADE | 5 | Floor for any trade |
SIMMER_MIN_VOLUME | 5000 | Min market volume filter (USD) |
SIMMER_MAX_SPREAD | 0.06 | Max bid-ask spread |
SIMMER_MIN_DAYS | 3 | Min days until resolution |
SIMMER_MAX_POSITIONS | 10 | Max concurrent open positions |
SIMMER_YES_THRESHOLD | 0.38 | Buy YES only if market probability <= this |
SIMMER_NO_THRESHOLD | 0.62 | Sell NO only if market probability >= this |
SIMMER_MIN_VIOLATION | 0.05 | Min distribution-sum deviation to trigger a trade |
Chess tournament winner markets are not independent coin flips. They form a closed probability distribution: exactly one player wins, so the individual winner probabilities must sum to 100%. Prediction markets price each player independently, but the joint distribution must be internally consistent.
When it is not, the inconsistency is a free edge. This skill systematically detects and trades these distribution-sum violations, acting as an automated consistency enforcer for chess tournament prediction markets.
simmer-sdk by Simmer Markets (SpartanLabsXyz)