vike

Recipe 11 of 65

Vet a Hyperliquid trader before copying: win rate, drawdown, profit factor, hold time

/wallets/{address}?window=30d returns the wallet's win rate, max drawdown, profit factor and average hold time in one metrics block; /trades/summary adds medians and the per-coin split.

GET /v1/hyperliquid/wallets/{address} answers it in one call: with window=30d its metrics block carries the numbers a copy-trader checks first, win_rate, max_drawdown_pct, profit_factor, avg_duration_seconds, trade_count and the realized PnL. Then GET /v1/hyperliquid/wallets/{address}/trades/summary gives the median trade, the median hold time and the record per coin, so one outlier cannot hide behind an average. The full parameter lists are on Wallet summary and Wallet trade statistics.

Quick answer

Put the address in the path and pick the window.

cURL
# 30-day record of the wallet at the top of the 30-day PnL board
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/wallets/0xfc667adba8d4837586078f4fdcdc29804337ca06?window=30d"

Example response

Captured from the live API on 2026-10-24 at 17:16 UTC, trimmed to the metrics block (the response also carries equity, open_positions, cohorts, lifetime and ledger_by_type).

426 trades closed in 30 days, 54% of them winners, $2.20 won for every $1 lost, and an average hold of about 5 days (428,022 seconds). max_drawdown_pct is in percent: the account fell 40.7% from a peak inside the window. Almost all of the $8.46M came from shorts.

Example response
{
  "wallet": "0xfc667adba8d4837586078f4fdcdc29804337ca06",
  "window": "30d",
  "metrics_updated_at": "2026-10-24T17:05:07+00:00",
  "has_metrics": true,
  "metrics": {
    "wallet": "0xfc667adba8d4837586078f4fdcdc29804337ca06",
    "account_value": 48749226.598805,
    "total_realized_pnl": 8456184.615246003,
    "roi": 17.346294916303947,
    "pnl_pct": 17.346294916303947,
    "total_volume": 8161684145.007959,
    "total_fee": 334682.779919,
    "trade_count": 426,
    "win_count": 229,
    "loss_count": 197,
    "win_rate": 0.5375586748123169,
    "long_win_rate": 0.5,
    "short_win_rate": 0.5747663378715515,
    "long_pnl": 469831.3245520013,
    "short_pnl": 7986353.290693999,
    "profit_factor": 2.202359914779663,
    "expectancy": 19850.198627338035,
    "max_drawdown_pct": 40.70000076293945,
    "current_drawdown_pct": 4.199999809265137,
    "calmar_ratio": 0.42619889974594116,
    "recovery_factor": 0.42619889974594116,
    "max_win_streak": 13,
    "max_loss_streak": 7,
    "avg_leverage": 0.0,
    "avg_duration_seconds": 428022,
    "pnl_cohort_tag": null,
    "style_cohort_tag": "streak_trader"
  }
}

Variations

Medians and the per-coin record. The same wallet's trade statistics, overall and for each coin.

cURL — trade summary
# medians beside means, from the 30-day trade summary
curl -s -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/wallets/0xfc667adba8d4837586078f4fdcdc29804337ca06/trades/summary?window=30d" \
  | jq '.overall | {trade_count, closed_trade_count, open_trade_count, win_rate, profit_factor, median_duration, avg_duration, median_gain, avg_gain, median_loss, avg_loss}'

Captured from the live API on 2026-10-24 at 17:16 UTC, the output of that jq filter.

{
  "trade_count": 447,
  "closed_trade_count": 400,
  "open_trade_count": 47,
  "win_rate": 0.5525727069351231,
  "profit_factor": 2.9987007097600005,
  "median_duration": 55181,
  "avg_duration": 420568.16,
  "median_gain": 3928.498764,
  "avg_gain": 83801.8608644251,
  "median_loss": -2498.915599,
  "avg_loss": -35038.964827685275
}

The median trade is held about 15 hours, not 5 days, and the median win is $3,929 against an average of $83,802: a few large trades carry the record.

Find candidates first. Rank wallets with a real sample before vetting one.

cURL — candidates
# the 30-day PnL board, wallets with at least 50 closed trades
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/leaderboard?window=30d&sort=pnl&min_trades=50&limit=25"

Has the wallet been liquidated? Ask the liquidation history for the address.

cURL — liquidations
# liquidations recorded for the wallet
curl -H "X-API-Key: $VIKE_API_KEY" \
  "https://data.vike.io/v1/hyperliquid/liquidations?wallet=0xfc667adba8d4837586078f4fdcdc29804337ca06&limit=100"

Before you rely on it

Two 30-day windows that do not match

metrics counts trades closed in the current UTC day and the 30 days before, recomputed about hourly. The trade summary counts every trade with activity in the last 30 times 24 hours, including still-open trades with PnL already booked, so here it reports 447 trades and a profit factor of 3.00 against 426 and 2.20. Use one source per comparison. The drawdown is of account value, so a large deposit or withdrawal moves it too; avg_leverage is always 0 and says nothing.

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_wallet tool answers with view: summary and window: 30d, at 1 credit a call.

Ask your agent
Vet Hyperliquid wallet 0xfc667adba8d4837586078f4fdcdc29804337ca06 before I copy it: win rate, drawdown, profit factor and hold time over 30 days
Example response
{  "wallet": "0xfc667adba8d4837586078f4fdcdc29804337ca06",  "window": "30d",  "metrics_updated_at": "2026-10-24T17:05:07+00:00",  "has_metrics": true,  "metrics": {    "wallet": "0xfc667adba8d4837586078f4fdcdc29804337ca06",    "account_value": 48749226.598805,    "total_realized_pnl": 8456184.615246003,    "roi": 17.346294916303947,    "pnl_pct": 17.346294916303947,    "total_volume": 8161684145.007959,    "total_fee": 334682.779919,    "trade_count": 426,    "win_count": 229,    "loss_count": 197,    "win_rate": 0.5375586748123169,    "long_win_rate": 0.5,    "short_win_rate": 0.5747663378715515,    "long_pnl": 469831.3245520013,    "short_pnl": 7986353.290693999,    "profit_factor": 2.202359914779663,    "expectancy": 19850.198627338035,    "max_drawdown_pct": 40.70000076293945,    "current_drawdown_pct": 4.199999809265137,    "calmar_ratio": 0.42619889974594116,    "recovery_factor": 0.42619889974594116,    "max_win_streak": 13,    "max_loss_streak": 7,    "avg_leverage": 0.0,    "avg_duration_seconds": 428022,    "pnl_cohort_tag": null,    "style_cohort_tag": "streak_trader"  }}