vike

Recipe 15 of 65

How many other wallets hold the same position as this leaderboard trader? (crowding behind a copied wallet)

List the trader's open positions with /positions?wallet=, then pass one position's symbol, side, leverage and entry price to /positions/match; every other address in the matches holds the same trade.

GET /v1/hyperliquid/positions/match answers it in one call. It takes a position's symbol, side, leverage and entry price and returns the open positions that match them: same symbol and side, leverage within 0.5 and an entry price within a narrow band. The trader's own position is in the list; every other address is a wallet in the same trade. The four inputs come from GET /v1/hyperliquid/positions with wallet set. The full parameter lists are on Find a position and Positions.

Quick answer

Pass the four values of one of the trader's open positions.

cURL
# who else holds a 10x NEAR long entered at 4.45238, the position of the 30-day PnL leader
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/positions/match?symbol=NEAR&side=long&leverage=10&entry_price=4.45238263796759&limit=50"

Example response

Captured from the live API on 2026-10-24 at 17:22 UTC, trimmed to 3 of 11 matches. The legacy coin copies of symbol are left out.

The first match is the trader itself (entry_dist_pct 0.0). The other 10 wallets hold the same 10x NEAR long within 0.05% of its entry (tolerance_used: tight), together $14,931 against the trader's $3.79M: this trade is not crowded. entry_dist_pct is in percent and snapshot_ts is a Unix time in seconds.

Example response
{
  "matches": [
    {
      "address": "0xfc667adba8d4837586078f4fdcdc29804337ca06",
      "symbol": "NEAR",
      "side": "long",
      "snapshot_ts": 1792862220,
      "size_token": 857137.9,
      "size_usd": 3791120.9317,
      "entry_price": 4.45238263796759,
      "mark_price": 4.423,
      "leverage": 10.0,
      "liquidation_price": 0.0,
      "unrealized_pnl": -25184.972604000264,
      "entry_dist_pct": 0.0
    },
    {
      "address": "0x738f68e5f6b47aa4abe328bf3103bb58c7b1684a",
      "symbol": "NEAR",
      "side": "long",
      "snapshot_ts": 1792862220,
      "size_token": 5.7,
      "size_usd": 25.211100000000002,
      "entry_price": 4.4523,
      "mark_price": 4.423,
      "leverage": 10.0,
      "liquidation_price": 0.0,
      "unrealized_pnl": -0.1670100000000006,
      "entry_dist_pct": 0.0019
    },
    {
      "address": "0x8c10d62907917967b17cdec0081ce42ae09eed8e",
      "symbol": "NEAR",
      "side": "long",
      "snapshot_ts": 1792862220,
      "size_token": 108.1,
      "size_usd": 478.12629999999996,
      "entry_price": 4.452764532839963,
      "mark_price": 4.423,
      "leverage": 10.0,
      "liquidation_price": 4.1894058036,
      "unrealized_pnl": -3.2175460000000418,
      "entry_dist_pct": 0.0086
    }
  ],
  "match_count": 11,
  "tolerance_used": "tight",
  "query": {
    "symbol": "NEAR",
    "side": "long",
    "leverage": 10.0,
    "entry_price": 4.45238263796759,
    "mark_price_hint": 4.45238263796759
  }
}

Variations

The trader's open positions first. The inputs for the match come from here. Use a row whose leverage is above 0.

cURL — open positions
# the trader's open positions with symbol, direction, leverage and entry price
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/positions?wallet=0xfc667adba8d4837586078f4fdcdc29804337ca06&limit=200"

Count and size of the crowd. Leave the trader out and add up the rest.

cURL — crowd totals
# how many other wallets match, and their combined notional
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/positions/match?symbol=NEAR&side=long&leverage=10&entry_price=4.45238263796759&limit=50" \
  | jq '[.matches[] | select(.address != "0xfc667adba8d4837586078f4fdcdc29804337ca06")] | {others: length, others_usd: (map(.size_usd) | add)}'

Who the crowd is. Read one of the matching wallets' record before treating it as a follower.

cURL — a matching wallet
# one matching wallet's 30-day record
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/wallets/0x8c10d62907917967b17cdec0081ce42ae09eed8e?window=30d"

Before you rely on it

At most 50 matches, from the first band that has any

The route returns at most 50 rows, so match_count 50 means "50 or more". It tries an entry band of ±0.05%, then ±0.5%, then ±1%, and stops at the first band with a match, so a crowd at a slightly worse entry is not counted once a tight match exists; tolerance_used names the band. leverage must be a positive number, and some positions report a leverage of 0, so those cannot be used as the input (a 400). A match is a position with the same profile, not proof of copying.

Ask your agent

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

Ask your agent
Who else on Hyperliquid holds a 10x NEAR long entered at 4.4524?
Example response
{  "matches": [    {      "address": "0xfc667adba8d4837586078f4fdcdc29804337ca06",      "symbol": "NEAR",      "side": "long",      "snapshot_ts": 1792862220,      "size_token": 857137.9,      "size_usd": 3791120.9317,      "entry_price": 4.45238263796759,      "mark_price": 4.423,      "leverage": 10.0,      "liquidation_price": 0.0,      "unrealized_pnl": -25184.972604000264,      "entry_dist_pct": 0.0    },    {      "address": "0x738f68e5f6b47aa4abe328bf3103bb58c7b1684a",      "symbol": "NEAR",      "side": "long",      "snapshot_ts": 1792862220,      "size_token": 5.7,      "size_usd": 25.211100000000002,      "entry_price": 4.4523,      "mark_price": 4.423,      "leverage": 10.0,      "liquidation_price": 0.0,      "unrealized_pnl": -0.1670100000000006,      "entry_dist_pct": 0.0019    },    {      "address": "0x8c10d62907917967b17cdec0081ce42ae09eed8e",      "symbol": "NEAR",      "side": "long",      "snapshot_ts": 1792862220,      "size_token": 108.1,      "size_usd": 478.12629999999996,      "entry_price": 4.452764532839963,      "mark_price": 4.423,      "leverage": 10.0,      "liquidation_price": 4.1894058036,      "unrealized_pnl": -3.2175460000000418,      "entry_dist_pct": 0.0086    }  ],  "match_count": 11,  "tolerance_used": "tight",  "query": {    "symbol": "NEAR",    "side": "long",    "leverage": 10.0,    "entry_price": 4.45238263796759,    "mark_price_hint": 4.45238263796759  }}