Polymarket Smart Money Trader
Follow whale and high-conviction trader signals on Polymarket via PolyClawster API.
What It Does
- Fetches active whale/trader signals from PolyClawster API (
polyclawster.com/api/signals) - Matches signals to live Polymarket markets via Simmer SDK
- Trades YES/NO based on signal direction and conviction score
Quick Start
# Dry run (show opportunities, no trades)
python smartmoney_trader.py
# Live trading on Polymarket
python smartmoney_trader.py --live
# Only high-confidence signals (score 8+)
python smartmoney_trader.py --min-score 8
# Show current positions
python smartmoney_trader.py --status
Signal Score
| Score | Conviction | Position Size Multiplier |
|---|---|---|
| 7-8 | Medium | 70-80% of max position |
| 8-9 | High | 80-90% of max position |
| 9-10 | Very High | 90-100% of max position |
Max position per trade: $SIMMER_SMARTMONEY_MAX_POSITION (default: $10)
Environment Variables
| Variable | Default | Description |
|---|---|---|
SIMMER_API_KEY | required | From https://simmer.markets/dashboard |
TRADING_VENUE | polymarket | polymarket for real USDC, sim for $SIM |
SIMMER_SMARTMONEY_MIN_SCORE | 7 | Minimum signal score to trade |
SIMMER_SMARTMONEY_MAX_POSITION | 10.0 | Max position size in USD |
Architecture
smart-money-trader/
├── smartmoney_trader.py # Main entrypoint (scan → match → trade)
├── smart_money_signal.py # PolyClawster API client + signal normalization
└── clawhub.json # ClawHub + Automaton config
Risk Controls
- Signal threshold: Only trades scores ≥
min_score(default 7) - Position sizing: Scales with conviction score (1.0x - 1.0x of max)
- Venue guardrails:
TRADING_VENUE=simfor virtual, omit--livefor paper - Circuit breaker: 3 consecutive losses → pause (via Simmer SDK)