vike

Recipe 9 of 30

Market maker or bettor? Classify a Polymarket trader

No field says maker or bettor; read trade count, average trade size, market count and hit rate on /leaderboard, and how much of what it buys the wallet sells back on /wallets/{address}.

No field labels a wallet a market maker or a bettor; GET /v1/polymarket/leaderboard gives the figures to decide with in one call. Its rows carry trade count, average trade, market count, hit rate and the tags bot, whale, hot and cold, and GET /v1/polymarket/wallets/{address} adds the shares a wallet bought and sold. An automated trader runs hundreds of thousands of markets in small trades; a bettor trades fewer markets in larger size and holds what it buys to resolution. The leaderboard's parameters are on Trader leaderboard.

Quick answer

Rank one category by resolved markets, where the automated traders gather.

cURL
# the Crypto wallets with the most resolved markets: where the automated traders are
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/leaderboard?category=Crypto&sort=resolved&limit=3"

Example response

Captured from the live API on 2026-10-24 at 17:15 UTC, trimmed to 2 rows. The first wallet made 2.1M trades in 235,605 markets at $10.21 a trade, won 58% of its resolved volume and realized $771,524: an automated trader. The second spends five cents a trade and wins 0.3% of its volume: it buys long shots by the penny. Compare the Politics leader 0xde7be6d489bce070a959e0cb813128ae659b5f4b in the first variation: 546 markets at $844 a trade, and it sold 7.3M of the 49.5M shares it bought, so it holds most of what it buys to resolution, a bettor's pattern.

Example response
[
  {
    "rank": 1,
    "proxy_wallet": "0x20d2309cd92b797ae7ca175ed828ed8a27fbe29d",
    "pseudonym": "",
    "display_name": "",
    "realized_pnl_usd": 771523.68,
    "realized_pnl_window_usd": 771523.68,
    "resolved_markets": 235589,
    "hit_rate": 0.583518,
    "hit_rate_ci": 0.001991,
    "volume_all_usd": 21530119.03,
    "volume_window_usd": 21530119.03,
    "trades_all": 2107857,
    "trades_window": 2107857,
    "avg_trade_usd": 10.21,
    "markets": 235605,
    "first_seen": "2026-03-25T16:38:53.000Z",
    "last_seen": "2026-10-24T15:56:53.000Z",
    "tags": ["whale", "bot", "hot"]
  },
  {
    "rank": 2,
    "proxy_wallet": "0x3329cfc2b8d8ceb8d198f081bdf4262f421f43a6",
    "pseudonym": "Cool-Storyboard",
    "display_name": "TENETENET",
    "realized_pnl_usd": -4221.77,
    "realized_pnl_window_usd": -4221.77,
    "resolved_markets": 233298,
    "hit_rate": 0.003347,
    "hit_rate_ci": 0.000235,
    "volume_all_usd": 25222.13,
    "volume_window_usd": 25222.13,
    "trades_all": 478566,
    "trades_window": 478566,
    "avg_trade_usd": 0.05,
    "markets": 233546,
    "first_seen": "2026-01-01T00:14:01.000Z",
    "last_seen": "2026-10-24T16:00:06.000Z",
    "tags": ["bot", "cold"]
  }
]

Variations

Buys against sells for one wallet. shares_bought and shares_sold are lifetime totals across every outcome.

cURL — buys and sells
# how much of what the wallet bought it sold back before resolution
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/wallets/0xde7be6d489bce070a959e0cb813128ae659b5f4b?window=all" | jq '{markets_count, trades_all, avg_trade_usd, shares_bought, shares_sold, sold_back: (.shares_sold / .shares_bought)}'

Per market. The 30 largest markets of a wallet, with the shares bought and sold in each.

cURL — per market
# per-market buys, sells and trade counts of the first automated trader in the example
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/wallets/0x20d2309cd92b797ae7ca175ed828ed8a27fbe29d?window=all" | jq '.markets[] | {title, trades, shares_bought, shares_sold, resolved}'

Only people-sized trades. min_avg_usd=20 leaves out every wallet tagged bot.

cURL — no bots
# the Crypto wallets with the most resolved markets, average trade $20 or more
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/leaderboard?category=Crypto&sort=resolved&min_avg_usd=20&limit=20"

Before you rely on it

Tags are size rules, not a classifier

bot means an average trade under $20 over at least 100 trades; whale a lifetime volume of $100,000 or more; hot and cold a lifetime P&L of +$1,000 or -$1,000 over five or more resolved markets. No field says whether a trade was the wallet's resting order or one it took, so "market maker" is your inference from size, count and two-sided trading, not something the API states. A large automated trader can be a market maker, an arbitrage bot or both.

Ask your agent

Connected to the Vike MCP server (https://vike.io/mcp) in Claude, ChatGPT or Cursor, ask it in plain words. The polymarket_wallet tool answers, at 2 credits a call.

Ask your agent
Is Polymarket wallet 0x20d2309cd92b797ae7ca175ed828ed8a27fbe29d a market maker or a bettor? Show its trade count, average trade and markets
Example response
[  {    "rank": 1,    "proxy_wallet": "0x20d2309cd92b797ae7ca175ed828ed8a27fbe29d",    "pseudonym": "",    "display_name": "",    "realized_pnl_usd": 771523.68,    "realized_pnl_window_usd": 771523.68,    "resolved_markets": 235589,    "hit_rate": 0.583518,    "hit_rate_ci": 0.001991,    "volume_all_usd": 21530119.03,    "volume_window_usd": 21530119.03,    "trades_all": 2107857,    "trades_window": 2107857,    "avg_trade_usd": 10.21,    "markets": 235605,    "first_seen": "2026-03-25T16:38:53.000Z",    "last_seen": "2026-10-24T15:56:53.000Z",    "tags": ["whale", "bot", "hot"]  },  {    "rank": 2,    "proxy_wallet": "0x3329cfc2b8d8ceb8d198f081bdf4262f421f43a6",    "pseudonym": "Cool-Storyboard",    "display_name": "TENETENET",    "realized_pnl_usd": -4221.77,    "realized_pnl_window_usd": -4221.77,    "resolved_markets": 233298,    "hit_rate": 0.003347,    "hit_rate_ci": 0.000235,    "volume_all_usd": 25222.13,    "volume_window_usd": 25222.13,    "trades_all": 478566,    "trades_window": 478566,    "avg_trade_usd": 0.05,    "markets": 233546,    "first_seen": "2026-01-01T00:14:01.000Z",    "last_seen": "2026-10-24T16:00:06.000Z",    "tags": ["bot", "cold"]  }]