Skip to content

Gonzih/poly-scout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

poly-scout

Polymarket smart money tracker — MCP skill for Claude.

Tracks wallets with consistent positive ROI across many Polymarket markets. Smart money moves before the crowd; poly-scout surfaces where it is and what it's betting on.

What it does

  • Scans top-volume Polymarket markets for wallet activity
  • Scores wallets by trade count, diversification, and ROI proxy
  • Surfaces consensus signals: where multiple smart wallets are positioned
  • Tracks late money: unusual 48h volume spikes indicating informed positioning
  • Returns raw trade feeds for any market

Data sources: data-api.polymarket.com (no auth required) and gamma-api.polymarket.com.

Installation

npx @gonzih/poly-scout

Redis is used for caching (optional — gracefully skips if unavailable). Set REDIS_URL env var if you have Redis running.

Add to Claude

In your Claude settings.json (usually ~/.claude/settings.json):

{
  "mcpServers": {
    "poly-scout": {
      "command": "npx",
      "args": ["--yes", "-y", "@gonzih/poly-scout"],
      "env": {
        "REDIS_URL": "redis://localhost:6379"
      }
    }
  }
}

Restart Claude after saving. The tools will appear as poly-scout:scan_smart_money, etc.

Tools

scan_smart_money()

No parameters. Returns top wallets by win rate and ROI, their current open positions, and a consensus map showing where smart money is concentrated.

{
  "wallets": [
    {
      "address": "0xabc...",
      "trade_count": 47,
      "roi_proxy": 0.312,
      "total_usdc_traded": 14200,
      "open_positions": [
        {
          "market_id": "0x...",
          "question": "Will X happen?",
          "outcome": "Yes",
          "price": 0.72,
          "size_usdc": 420
        }
      ]
    }
  ],
  "consensus": [
    {
      "market_id": "0x...",
      "question": "Will X happen?",
      "direction": "YES",
      "confidence": 0.81,
      "smart_wallet_count": 5
    }
  ]
}

Results cached 5 minutes.

get_wallet_positions(address: string)

Full position breakdown for any wallet: open positions, current P&L, entry prices, end dates.

{
  "address": "0xabc...",
  "open_positions": [
    {
      "market_id": "0x...",
      "question": "Will X happen?",
      "outcome": "No",
      "entry_price": 0.22,
      "cur_price": 0.35,
      "size_usdc": 840,
      "cash_pnl": 491,
      "pct_pnl": 58.5,
      "end_date": "2026-05-01"
    }
  ],
  "recent_trades": [...]
}

get_late_money(market_id: string, token_id?: string)

Detects unusual position buildup in the last 48h for a specific market. Volume spike vs 5-day baseline, net direction, wallet concentration.

{
  "signal": "YES",
  "confidence": 0.74,
  "volume_48h_usdc": 85000,
  "volume_48h_vs_baseline": 3.4,
  "yes_usdc_48h": 61000,
  "no_usdc_48h": 24000,
  "unique_wallets_48h": 23,
  "top_wallets": ["0xabc...", "0xdef..."]
}

Pass the conditionId from the gamma API as market_id, plus token_id (from clobTokenIds[0]) if known.

get_market_trades(token_id: string, limit?: number)

Raw trade feed — last N trades (max 500) for a market. Returns wallet addresses, prices, sizes, outcomes, timestamps.

Integration with polly-gamba

poly-scout complements polly-gamba (the automated Polymarket trading system). Use scan_smart_money() to identify which markets have smart wallet consensus, then pass those market IDs to polly-gamba's position sizing logic.

Workflow:

  1. scan_smart_money() → identify high-confidence consensus markets
  2. get_late_money(market_id) → verify the signal isn't noise
  3. get_wallet_positions(address) → validate specific wallets before following
  4. Feed signals into polly-gamba entry criteria

License

MIT

About

Polymarket smart money tracker — MCP skill for Claude

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors