VeztaVezta
WebSocket Reference

market:holders

Top token holder concentration data for Polymarket markets

The market:holders channel broadcasts top token holder concentration data for Polymarket markets. For each market, the top 20 holders per token side (YES/NO) are returned with ownership percentages, amounts, and identity details. Updates are pushed when holder data is synced from the Polymarket Data API.

Subscribe

{ "event": "subscribe", "data": { "channel": "market:holders:<marketId>" } }

Replace <marketId> with the target market UUID.

Unsubscribe

{ "event": "unsubscribe", "data": { "channel": "market:holders:<marketId>" } }

Server Broadcast

When holder data is synced, the server emits a data event with the holders-update event type:

{
  "channel": "market:holders:c5a2e7f1-3b4d-4e6a-8f9c-1d2e3f4a5b6c",
  "data": {
    "marketId": "c5a2e7f1-3b4d-4e6a-8f9c-1d2e3f4a5b6c",
    "groups": [
      {
        "token": "tok-yes",
        "holders": [
          {
            "proxyWallet": "0xAbC123DeF456...",
            "name": "PolymarketWhale",
            "pseudonym": "Whale_42",
            "amount": 24500.75,
            "outcomeIndex": 0,
            "profileImage": "https://example.com/avatar.png",
            "verified": true
          }
        ]
      },
      {
        "token": "tok-no",
        "holders": [
          {
            "proxyWallet": "0x98765FEDcba...",
            "name": "NoSideTrader",
            "pseudonym": "TraderX",
            "amount": 12300.5,
            "outcomeIndex": 1,
            "profileImage": "",
            "verified": false
          }
        ]
      }
    ],
    "timestamp": 1716923400000
  }
}

Payload Schema

FieldTypeDescription
marketIdstringUnique market identifier (UUID)
groupsarrayHolder groups by token side (YES/NO)
timestampnumberUnix millisecond epoch of the snapshot

Group Object

FieldTypeDescription
tokenstringToken identifier (e.g., tok-yes, tok-no)
holdersarrayTop 20 holders for this token side

Holder Object

FieldTypeDescription
proxyWalletstringPolymarket proxy wallet address
namestringHolder display name
pseudonymstringHolder pseudonym
amountnumberNumber of shares held
outcomeIndexnumber0 = YES, 1 = NO
profileImagestringProfile image URL (empty string if none)
verifiedbooleanWhether the holder identity is verified

Notes

  • This channel does not require authentication — holder data is public market information
  • Holders are synced from the Polymarket Data API only (no Kalshi equivalent)
  • Each token group is capped to the top 20 holders by share amount
  • The subscription is per-market: you must subscribe to each market's holder channel separately
  • Holder data is refreshed on the holder sync cycle, not on every price tick

On this page