vike

Correlated wallets

The Polymarket wallets that trade the same markets as one trader — up to eight, ranked by shared markets and then by the volume they put through them. It used to be a field of the trader profile.

GET https://data.vike.io/v1/polymarket/wallets/{address}/correlated

The other wallets that trade the same markets as one Polymarket trader: up to eight, ranked by how many markets they share with it and then by how much volume they put through them. It is the list to read when you want the next addresses to profile. The answer is a bare array of rows, with no wrapper.

Until 2026-10-28 these rows were the correlated field of /wallets/{address}. That scan is the heaviest read behind a profile, so it is a route of its own: a client that does not want it no longer waits for it. The polymarket_wallet MCP tool still returns the same rows inline.

cURL
# the wallets that trade the most of the same markets as one trader: the next addresses to profile
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/wallets/0xd99f3bec8e060ada0aef0c4057695dd5bc22fcdc/correlated"

# just the addresses, ready to loop over with /wallets/{address}
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/wallets/0xd99f3bec8e060ada0aef0c4057695dd5bc22fcdc/correlated" | jq -r '.[].proxy_wallet'

# shared markets beside the volume: many shared markets for little volume is a small account, not a close one
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/polymarket/wallets/0xd99f3bec8e060ada0aef0c4057695dd5bc22fcdc/correlated" | jq '.[] | {proxy_wallet, shared_markets, overlap_volume_usd}'
addresspathrequired
The wallet's 0x-prefixed proxy-wallet address (40 hex digits). Anything else is a 400.

The route takes no query parameter. The real answer for that wallet has eight rows; this example keeps the first three.

Example response (abridged)
[
  {
    "proxy_wallet": "0xa66790e2b0075e73c3781ddaf1d0b875a3aaceb3",
    "pseudonym": "Arctic-Kickoff",
    "display_name": "Elias.Thornwell",
    "shared_markets": 45,
    "overlap_volume_usd": 221257.089931,
    "overlap_trades": 739,
    "last_seen": "2026-06-27T22:01:31"
  },
  {
    "proxy_wallet": "0xc8ab97a9089a9ff7e6ef0688e6e591a066946418",
    "pseudonym": "Hideous-Racer",
    "display_name": "ArmageddonRewardsBilly",
    "shared_markets": 44,
    "overlap_volume_usd": 19279229.795885008,
    "overlap_trades": 21757,
    "last_seen": "2026-06-04T02:32:51"
  },
  {
    "proxy_wallet": "0x54498e4c40b17261479aeaeeddf9cc37bd46992b",
    "pseudonym": "",
    "display_name": "",
    "shared_markets": 43,
    "overlap_volume_usd": 50102.53676700007,
    "overlap_trades": 10522,
    "last_seen": "2026-06-17T16:34:41"
  }
]

The fields

FieldMeaning
proxy_walletThe other wallet's address. Pass it to /wallets/{address} to profile it.
pseudonym, display_nameThe pseudonym Polymarket generated for it and the name it traded under, as of its latest trade in the shared markets. "" when it has none.
shared_marketsHow many of the markets you asked about it also traded.
overlap_volume_usdThe USD volume it traded in those shared markets.
overlap_tradesThe number of its trades in them.
last_seenThe time of its latest trade in them, in UTC.

Reading it

  • A wallet is listed only past two floors. It must share at least 3 markets with the address and have traded at least $500 in them. Both floors are fixed; there is no parameter to lower them.
  • Only the address's 1,000 largest markets are compared. Markets are ranked by the address's own volume, so a market-making bot with tens of thousands of markets is matched on its biggest ones, not all of them. A wallet with 1,000 markets or fewer is compared on every one.
  • The order is the ranking. Rows come most shared markets first, then the largest overlap volume. There is no paging and no way to ask for more than eight rows.
  • [] is an answer, not an error. It means no wallet passes the floors, and it is also what an address with no recorded trades gets: unlike the profile, this route does not tell the two apart.
  • A repeat call within a few minutes returns the same rows. The answer is cached briefly, so polling one address adds nothing.
  • Overlap is not copying. Two wallets that traded the same markets may have traded opposite sides, or hours apart. The rows say where two wallets met, not who followed whom.

Errors

StatusWhen
400The address is not 0x plus 40 hex digits, or any query parameter is sent: the route accepts none. 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.

A successful call costs one credit, like every /v1 route.

cURL
# the wallets that trade the most of the same markets as one trader: the next addresses to profilecurl -H "X-API-Key: $VIKE_API_KEY" \  "https://data.vike.io/v1/polymarket/wallets/0xd99f3bec8e060ada0aef0c4057695dd5bc22fcdc/correlated"# just the addresses, ready to loop over with /wallets/{address}curl -s -H "X-API-Key: $VIKE_API_KEY" \  "https://data.vike.io/v1/polymarket/wallets/0xd99f3bec8e060ada0aef0c4057695dd5bc22fcdc/correlated" | jq -r '.[].proxy_wallet'# shared markets beside the volume: many shared markets for little volume is a small account, not a close onecurl -s -H "X-API-Key: $VIKE_API_KEY" \  "https://data.vike.io/v1/polymarket/wallets/0xd99f3bec8e060ada0aef0c4057695dd5bc22fcdc/correlated" | jq '.[] | {proxy_wallet, shared_markets, overlap_volume_usd}'
Example response (abridged)
[  {    "proxy_wallet": "0xa66790e2b0075e73c3781ddaf1d0b875a3aaceb3",    "pseudonym": "Arctic-Kickoff",    "display_name": "Elias.Thornwell",    "shared_markets": 45,    "overlap_volume_usd": 221257.089931,    "overlap_trades": 739,    "last_seen": "2026-06-27T22:01:31"  },  {    "proxy_wallet": "0xc8ab97a9089a9ff7e6ef0688e6e591a066946418",    "pseudonym": "Hideous-Racer",    "display_name": "ArmageddonRewardsBilly",    "shared_markets": 44,    "overlap_volume_usd": 19279229.795885008,    "overlap_trades": 21757,    "last_seen": "2026-06-04T02:32:51"  },  {    "proxy_wallet": "0x54498e4c40b17261479aeaeeddf9cc37bd46992b",    "pseudonym": "",    "display_name": "",    "shared_markets": 43,    "overlap_volume_usd": 50102.53676700007,    "overlap_trades": 10522,    "last_seen": "2026-06-17T16:34:41"  }]