vike
Polymarket

/smart_money

Polymarket smart-money signals — markets with the largest net inflow from the profitable-wallet cohort, or markets that cohort bought well below the mid.

GET https://data.vike.io/v1/polymarket/smart_money

Where the wallets that have historically made money are putting it. The cohort is the set of wallets with at least $1,000 of realized P&L, at least five resolved markets and at least $5,000 of volume; the route reports what that cohort is doing, in one of two modes. It is the same answer the polymarket_smart_money MCP tool gives — the route runs that tool.

cURL
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/smart_money?mode=flows&hours=24&limit=2"
modequeryoptional
flows (default) — markets with the largest net cohort inflow in the window. mispricings — markets where the cohort bought meaningfully below the current mid. Any other value is a 400.
hoursqueryoptional
Lookback window in hours, an integer from 1 to 720. Default 24. Anything else is a 400.
categoryqueryoptional
Restrict to one market category (at most 64 characters). Default: all. An unknown category returns [], not an error.
limitqueryoptional
Maximum rows, a positive integer. Default 10; values above 20 are capped at 20.

A real response for mode=flows.

Example response (mode=flows)
[
  {
    "condition_id": "0xe0b5bd8eef80fe8976e2c287e0b76a5cda138ddc437acf95f9ba91112dbc983d",
    "title": "Seahawks vs. Broncos",
    "slug": "nfl-sea-den-2026-10-16",
    "smart_wallets": 227,
    "buy_inflow": 3819464.49,
    "sell_outflow": 166081.01,
    "net_inflow": 3653383.48,
    "trades": 4576,
    "last_ts": "2026-10-16 03:49:49",
    "yes_mid": 0.015
  }
]

And a real response for mode=mispricings.

Example response (mode=mispricings)
[
  {
    "condition_id": "0x6a93a3190840da7ad3545168388c83c2244c4b5279bbe8ef537f1a091bcec7a0",
    "title": "Solana Up or Down - October 15, 10:50AM-10:55AM ET",
    "slug": "sol-updown-5m-1792075800",
    "smart_wallets": 49,
    "last_buy_ts": "2026-10-15 14:55:16",
    "total_buy_value": 1548.59,
    "side": "YES",
    "avg_buy_price": 0.2466,
    "current_mid": 0.985,
    "delta": 0.7384,
    "buy_value": 384.66
  }
]

Reading it

  • net_inflow is dollars, not shares: cohort buys minus cohort sells in the window.
  • yes_mid can be null — the market has no recorded mid yet. It is absent data, not zero.
  • mispricings only lists clear cases. A market appears when the cohort put at least $500 into it and the current mid is at least 0.03 away from their average entry in their favour. delta is current_mid - avg_buy_price for the side they bought; a large positive value means the market has already moved toward the cohort. It records where they were early and is not a forecast.
  • side is the outcome position, not a literal Yes/No. YES is the first outcome of the market and NO the second, so on an Over/Under or a two-team market read them as "outcome 1" and "outcome 2" and take the names from the market.
  • A short-dated market can dominate. Five-minute "up or down" markets resolve fast and show large deltas; filter with category when you want slower markets.

Errors

StatusWhen
400mode, hours or limit is outside the values above, category is too long, or an unknown query parameter is sent. The body is {"error": "…"}.
401 / 429No or bad credential, or the hourly budget is spent — see Authentication and Rate limits.
503The store behind it is unavailable. The body carries no driver text.
cURL
curl -H "X-API-Key: $VIKE_API_KEY" \  "https://data.vike.io/v1/polymarket/smart_money?mode=flows&hours=24&limit=2"
Example response (mode=flows)
[  {    "condition_id": "0xe0b5bd8eef80fe8976e2c287e0b76a5cda138ddc437acf95f9ba91112dbc983d",    "title": "Seahawks vs. Broncos",    "slug": "nfl-sea-den-2026-10-16",    "smart_wallets": 227,    "buy_inflow": 3819464.49,    "sell_outflow": 166081.01,    "net_inflow": 3653383.48,    "trades": 4576,    "last_ts": "2026-10-16 03:49:49",    "yes_mid": 0.015  }]