vike

Recipe 6 of 30

Polymarket trader profile: realized PnL 24h/7d/30d/all, hit rate, categories

/wallets/{address}?window=30d returns the wallet's realized P&L, resolved count and hit rate for markets resolved in the window, beside lifetime volume, categories, markets, trades and open positions.

GET /v1/polymarket/wallets/{address} answers it in one call, with window set to 24h, 7d, 30d or all. The window moves the realized P&L, the resolved count and the hit rate (by resolution time) and the window trade count and volume (by trade time). Everything else in the answer is lifetime: volume, markets, category_breakdown, the 30 largest markets, the last 100 trades, open positions and the equity curve. The full parameter list is on Trader profile.

Quick answer

Pass the proxy wallet and a window.

cURL
# one trader over the last 30 days, beside its lifetime figures
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/wallets/0xde7be6d489bce070a959e0cb813128ae659b5f4b?window=30d"

Example response

Captured from the live API on 2026-10-24 at 17:15 UTC, abridged to the header and 3 of 5 category_breakdown rows. In 30 days the wallet made 1,804 trades for $2.29M and realized $88,368 on the 68 markets that resolved in that time, with a hit rate of 50% give or take 12 points. Its lifetime realized P&L, from window=all, is $1,043,530 on 478 markets. Money is USD and times are UTC.

Example response
{
  "proxy_wallet": "0xde7be6d489bce070a959e0cb813128ae659b5f4b",
  "window": "30d",
  "trades_window": 1804,
  "trades_all": 22588,
  "volume_window_usd": 2286601.204298,
  "volume_all_usd": 19067483.106795996,
  "avg_trade_usd": 844.1421598546129,
  "markets_count": 546,
  "first_seen": "2026-02-21T22:03:38",
  "last_seen": "2026-10-24T12:28:00",
  "realized_pnl_usd": 88368.31513399997,
  "resolved_markets": 68,
  "hit_rate": 0.5047783581480464,
  "hit_rate_ci": 0.11561636344675254,
  "open_exposure_usd": 1181434.7788858055,
  "open_unrealized_usd": 78633.9646673656,
  "category_breakdown": [
    {"category": "Politics", "volume_usd": 11033481.777930005, "trades": 11218, "markets": 268, "resolved": 222, "wins": 91, "hit_rate": 0.4099099099099099, "realized_pnl_usd": 1752528.6636330006},
    {"category": "Other", "volume_usd": 3978941.2214980004, "trades": 6184, "markets": 127, "resolved": 109, "wins": 40, "hit_rate": 0.3669724770642202, "realized_pnl_usd": -550093.1844980003},
    {"category": "Sports", "volume_usd": 3533757.3820270007, "trades": 5018, "markets": 138, "resolved": 135, "wins": 52, "hit_rate": 0.3851851851851852, "realized_pnl_usd": -234602.72786700004}
  ]
}

Variations

Every window. Run the same call with 24h, 7d and all; only the windowed fields change.

cURL — 7 days
# the last week
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/wallets/0xde7be6d489bce070a959e0cb813128ae659b5f4b?window=7d"
cURL — all time
# lifetime: every windowed field covers the whole recorded history
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/wallets/0xde7be6d489bce070a959e0cb813128ae659b5f4b?window=all"

Just the scored fields. The answer is large, so save it once and slice it.

cURL — scored fields
# the windowed score in one line
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/wallets/0xde7be6d489bce070a959e0cb813128ae659b5f4b?window=30d" | jq '{window, realized_pnl_usd, resolved_markets, hit_rate, hit_rate_ci}'

Find a wallet to profile.

cURL — find wallets
# the top lifetime earners; feed a proxy_wallet to the profile
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/leaderboard?limit=5"

Before you rely on it

Two hit rates, and the categories are lifetime

The headline hit_rate is volume-weighted: the share of resolved dollar volume in markets the wallet won. The hit_rate inside category_breakdown is a count, wins / resolved, and covers the whole history whatever the window. For Politics this wallet shows 0.41 there and 0.63 on the Politics leaderboard. Pass the proxy wallet: an address with no recorded trades answers 400. A repeat call within about three minutes can return the same lists.

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
Profile Polymarket wallet 0xde7be6d489bce070a959e0cb813128ae659b5f4b over the last 30 days
Example response
{  "proxy_wallet": "0xde7be6d489bce070a959e0cb813128ae659b5f4b",  "window": "30d",  "trades_window": 1804,  "trades_all": 22588,  "volume_window_usd": 2286601.204298,  "volume_all_usd": 19067483.106795996,  "avg_trade_usd": 844.1421598546129,  "markets_count": 546,  "first_seen": "2026-02-21T22:03:38",  "last_seen": "2026-10-24T12:28:00",  "realized_pnl_usd": 88368.31513399997,  "resolved_markets": 68,  "hit_rate": 0.5047783581480464,  "hit_rate_ci": 0.11561636344675254,  "open_exposure_usd": 1181434.7788858055,  "open_unrealized_usd": 78633.9646673656,  "category_breakdown": [    {"category": "Politics", "volume_usd": 11033481.777930005, "trades": 11218, "markets": 268, "resolved": 222, "wins": 91, "hit_rate": 0.4099099099099099, "realized_pnl_usd": 1752528.6636330006},    {"category": "Other", "volume_usd": 3978941.2214980004, "trades": 6184, "markets": 127, "resolved": 109, "wins": 40, "hit_rate": 0.3669724770642202, "realized_pnl_usd": -550093.1844980003},    {"category": "Sports", "volume_usd": 3533757.3820270007, "trades": 5018, "markets": 138, "resolved": 135, "wins": 52, "hit_rate": 0.3851851851851852, "realized_pnl_usd": -234602.72786700004}  ]}