🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Polymarket Smart Money

by @griffithkk3-del

Discover, analyze, and filter Polymarket smart money wallets. Use when asked to find profitable traders, analyze wallet addresses, detect market makers or HF...

Versionv1.0.0
Downloads497
TERMINAL
clawhub install polymarket-smart-money

πŸ“– About This Skill


name: polymarket-smart-money description: "Discover, analyze, and filter Polymarket smart money wallets. Use when asked to find profitable traders, analyze wallet addresses, detect market makers or HFT bots, assess copy-trading reliability, run the smart money discovery pipeline, or check if a Polymarket address is suitable for copy trading. Triggers on: find smart money, analyze wallet, discover traders, is this a market maker, copy trading, leaderboard, θͺζ˜Žι’±, εšεΈ‚ε•†ζ£€ζ΅‹, θ·Ÿε•ε―ι ζ€§."

Polymarket Smart Money Discovery & Analysis

Discover profitable Polymarket traders, filter out market makers and HFT bots, and assess copy-trading reliability.

Project Location

{baseDir}/../../agents/polymarket-bot/PolyAnalysis/

Activate the virtualenv before running any script:

cd {baseDir}/../../agents/polymarket-bot/PolyAnalysis
source .venv/bin/activate

Quick Commands

Analyze a single wallet

python analyze.py 
python analyze.py
--force # force full refresh python analyze.py
--json # JSON output

The report includes:

  • PnL, ROI, win rate
  • Entry timing analysis
  • Copy trading score (0-100)
  • MM/HFT detection (MM Score, is_market_maker, is_hft)
  • Copy reliability label (🟒 高可靠 / 🟑 中可靠 / πŸ”΄ 低可靠 / ❌ δΈε―θ·Ÿε•)
  • Discover smart money (batch)

    python analyze.py discover --top-n 10
    python analyze.py discover --top-n 20 --min-profit 100000 --min-volume 500000
    python analyze.py discover --top-n 10 --output-json --output-file smart_money.json
    

    Discovery pipeline: 1. Fetch from Polymarket v1 Leaderboard API (7 strategies) 2. Deduplicate across dimensions 3. Stage 1 pre-filter: PnL/Vol < 3% β†’ exclude (likely market maker) 4. Fetch activity data for remaining addresses 5. Stage 2 deep analysis: MM Score + HFT detection 6. Exclude "❌ δΈε―θ·Ÿε•" addresses 7. Rank by copy trading score

    Cache management

    python analyze.py cache list
    python analyze.py cache stats
    python analyze.py cache clear 
    python analyze.py cache clear --all

    Filtering Pipeline

    Stage 1: Pre-filter (from leaderboard data, zero cost)

    | Rule | Threshold | Rationale | |------|-----------|-----------| | PnL/Vol ratio | < 3% β†’ exclude | Market makers earn tiny spreads on huge volume | | VOL-only listing | exclude | Only on volume leaderboard, not on any PNL leaderboard |

    Stage 2: Deep analysis (from activity data)

    #### MM Score (0-100, weighted)

    | Indicator | Weight | Market Maker Signal | |-----------|--------|-------------------| | PnL/Vol ratio | 30% | < 1% | | Decision frequency (positions/day) | 25% | > 50/day | | Buy/sell balance | 20% | > 0.7 (near 1:1) | | Avg holding time | 15% | < 1 hour | | Trade amount uniformity (CV) | 10% | < 0.3 |

    MM Score > 50 β†’ flagged as market maker.

    Important: Decision frequency uses positions per day, not trades per day. A directional trader may place hundreds of trades to build one position (dollar-cost averaging). What matters is how many independent position decisions they make.

    #### HFT Detection (2 of 3 conditions)

    | Condition | Threshold | |-----------|-----------| | Decision frequency | > 10 positions/day | | Median holding time | < 4 hours | | Median position size | < $50 |

    #### Copy Reliability Labels

    | Label | Conditions | |-------|-----------| | 🟒 高可靠 | Holding > 24h, < 2 positions/day, PnL/Vol > 10% | | 🟑 中可靠 | Holding 4-24h, < 5 positions/day | | πŸ”΄ 低可靠 | Holding < 4h or > 5 positions/day | | ❌ δΈε―θ·Ÿε• | MM Score > 50 or HFT detected |

    Data Sources

    | API | Base URL | Auth | Use | |-----|----------|------|-----| | Gamma API | gamma-api.polymarket.com | None | Markets, events, search | | Data API v1 | data-api.polymarket.com/v1 | None | Leaderboard, positions, trades, PnL | | CLOB API | clob.polymarket.com | For trading | Orderbook, prices |

    Key endpoints

    GET /v1/leaderboard?category=OVERALL&timePeriod=ALL&orderBy=PNL&limit=50&offset=0
    GET /positions?user={address}
    GET /closed-positions?user={address}
    GET /activity?user={address}
    GET /profit-loss?user={address}
    

    On-Chain Data (Phase 2)

    Alchemy RPC configured in .env:

    POLYGON_RPC_URL=https://polygon-mainnet.g.alchemy.com/v2/
    

    CTF Exchange contract: 0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E

    Key event: OrderFilled β€” extract maker/taker addresses and trade amounts from on-chain logs.

    Free tier limit: 10 blocks per eth_getLogs call.

    Architecture

    polycopilot/
    β”œβ”€β”€ fetcher.py      # Data fetching (incremental + full)
    β”œβ”€β”€ processor.py    # Trade processing, MarketReport generation
    β”œβ”€β”€ analyzer.py     # Scoring, MM/HFT detection, copy reliability
    β”œβ”€β”€ discovery.py    # Multi-source wallet discovery + filtering
    └── cache.py        # Disk cache for incremental updates
    

    Interpreting Results

    When presenting results to users:

  • Always show the copy reliability label prominently
  • For ❌ addresses, explain why (MM Score, HFT indicators)
  • For 🟒 addresses, highlight key strengths (holding time, PnL/Vol efficiency)
  • Compare addresses using the copy trading score (0-100, A/B/C/D grades)
  • Use Chinese for user-facing output (the user prefers Chinese)