Install
openclaw skills install @diagnostikon/polymarket-whale-exit-fade-traderDetects when multiple whale wallets exit positions simultaneously, causing market overshooting. Fades the panic by buying the dip after whale dumps, exploiting retail panic-selling that pushes prices below fair value.
openclaw skills install @diagnostikon/polymarket-whale-exit-fade-traderThis skill monitors the top Polymarket wallets (via the predicting.top leaderboard) for coordinated exit events -- when multiple whales sell the same market within a configurable time window. When whale exits are detected, the skill fades the resulting panic by buying the dip.
Whale exits create a predictable cascade:
The edge comes from distinguishing between "whales exiting for portfolio reasons" (liquidity, rebalancing, profit-taking) versus "whales exiting on new information." In most cases, coordinated whale exits are portfolio-driven, not information-driven, making the overshoot a reliable fade opportunity.
MIN_EXIT_WHALES distinct wallets sold >= MIN_EXIT_VOLUME USD.YES_THRESHOLD -> buy YES (fade the dump).NO_THRESHOLD -> buy NO (fade the pump).Base conviction comes from threshold distance (per CLAUDE.md standard):
(YES_THRESHOLD - p) / YES_THRESHOLD(p - NO_THRESHOLD) / (1 - NO_THRESHOLD)Enhanced by an exit intensity multiplier:
exit_mult = 1 + min(0.5, (exit_whale_count - 1) * 0.15 + min(0.2, exit_volume / 5000))
conviction = min(1.0, base_conviction * exit_mult)
size = max(MIN_TRADE, conviction * MAX_POSITION)
More whales exiting and higher exit volume increase the fade conviction, capped at 1.0.
| Factor | Why it creates edge |
|---|---|
| Whale exit cascade | Large sells trigger retail panic, overshooting fair value |
| Information asymmetry | Most whale exits are portfolio-driven, not info-driven |
| Behavioral bias | Retail overreacts to visible whale selling |
| Mean reversion | Markets recover once panic selling exhausts itself |
| Multi-whale confirmation | Requiring 2+ whales selling filters noise from single-wallet rebalancing |
| Safeguard | Description |
|---|---|
| Paper mode default | All trades are simulated unless --live is passed |
| Spread gate | Skips markets with bid-ask spread > MAX_SPREAD |
| Days gate | Skips markets resolving within MIN_DAYS |
| Position limit | Maximum MAX_POSITIONS trades per run |
| Flip-flop check | SDK context check prevents rapid reversals |
| Slippage check | Skips markets with > 15% expected slippage |
| Min exit whales | Requires multiple whales exiting, not just one |
| Min exit volume | Filters out trivially small exits |
| Conviction sizing | Position size scales with edge, never flat |
| Variable | Default | Description |
|---|---|---|
SIMMER_MAX_POSITION | 40 | Max trade size (USD) |
SIMMER_MIN_TRADE | 5 | Min trade size floor (USD) |
SIMMER_MIN_VOLUME | 5000 | Min market volume (USD) |
SIMMER_MAX_SPREAD | 0.12 | Max bid-ask spread |
SIMMER_MIN_DAYS | 5 | Min days until resolution |
SIMMER_MAX_POSITIONS | 6 | Max open positions per run |
SIMMER_YES_THRESHOLD | 0.38 | Buy YES below this probability |
SIMMER_NO_THRESHOLD | 0.62 | Buy NO above this probability |
SIMMER_EXIT_LOOKBACK_HOURS | 24 | Window for exit detection (hours) |
SIMMER_MIN_EXIT_WHALES | 2 | Min distinct whales selling for signal |
SIMMER_MIN_EXIT_VOLUME | 500 | Min USD volume of whale exits |
SIMMER_LEADERBOARD_LIMIT | 20 | Number of top wallets to scan |
simmer-sdk (pip install simmer-sdk)SIMMER_API_KEY environment variable