Skill flagged — review recommended

ClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.

Polymarket Smart Money

v1.0.0

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

0· 299· 1 versions· 0 current· 0 all-time· Updated 17h ago· MIT-0

Install

openclaw skills install polymarket-smart-money

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 <address>
python analyze.py <address> --force   # force full refresh
python analyze.py <address> --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 <address>
python analyze.py cache clear --all

Filtering Pipeline

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

RuleThresholdRationale
PnL/Vol ratio< 3% → excludeMarket makers earn tiny spreads on huge volume
VOL-only listingexcludeOnly on volume leaderboard, not on any PNL leaderboard

Stage 2: Deep analysis (from activity data)

MM Score (0-100, weighted)

IndicatorWeightMarket Maker Signal
PnL/Vol ratio30%< 1%
Decision frequency (positions/day)25%> 50/day
Buy/sell balance20%> 0.7 (near 1:1)
Avg holding time15%< 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)

ConditionThreshold
Decision frequency> 10 positions/day
Median holding time< 4 hours
Median position size< $50

Copy Reliability Labels

LabelConditions
🟢 高可靠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

APIBase URLAuthUse
Gamma APIgamma-api.polymarket.comNoneMarkets, events, search
Data API v1data-api.polymarket.com/v1NoneLeaderboard, positions, trades, PnL
CLOB APIclob.polymarket.comFor tradingOrderbook, 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/<key>

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)

Version tags

latestvk9743ryavebacw5dhsv19by5gh82v5s3