vike
API EndpointsHyperliquid

/wallets/{address}/trades/summary

Trade statistics for one wallet, overall and per coin.

GET https://data.vike.io/v1/hyperliquid/wallets/{address}/trades/summary

Trade statistics for one wallet, overall and per coin.

Open trades count, and the window is rolling

trade_count covers every round trip that opened or closed in the last N×24 hours, open ones included, and net_pnl includes PnL already realised by partial closes of positions still open. That is why a wallet's numbers here exceed its row on /traders, which counts completed trades by the day they opened. Until 2026-10-19 this route also counted every stored version of a still-open trade: the top 30-day wallet read 619 trades and $27.1M where 445 and $8.44M existed.

cURL
# lifetime trade statistics, overall and per coin (a large response for an active wallet)
curl -s "https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/trades/summary?window=all" \
  -H "X-API-KEY: $VIKE_API_KEY"

# the last 30 days only
curl -s "https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/trades/summary?window=30d" \
  -H "X-API-KEY: $VIKE_API_KEY"

# mean versus median: one outlier drags the mean, so read both
curl -s "https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/trades/summary?window=30d" \
  -H "X-API-KEY: $VIKE_API_KEY" \
  | jq '.overall | {avg_gain, median_gain, avg_loss, median_loss, avg_trade_size, median_size_usd}'

# where this wallet loses money: the five worst coins by net PnL
curl -s "https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/trades/summary?window=30d" \
  -H "X-API-KEY: $VIKE_API_KEY" \
  | jq '.by_coin | sort_by(.net_pnl) | .[:5] | map({asset, net_pnl, trade_count, win_rate})'

# then read the trades behind one coin
curl -s "https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/trades?coin=BTC&limit=100" \
  -H "X-API-KEY: $VIKE_API_KEY"
addresspathrequired
The wallet
windowqueryoptional
1d | 7d | 30d | all. Default all

Captured 2026-10-19 and truncated: by_coin holds 2,628 rows and the full response is about 2.6 MB — a per-wallet summary is not a small object. overall is complete; one by_coin row is shown.

Example response
{
  "wallet": "0x25773676902085225ae5751075e4161369334897",
  "window": "all",
  "overall": {
    "trade_count": 147614,
    "closed_trade_count": 147121,
    "open_trade_count": 493,
    "fill_count": 17382859,
    "wins": 77755,
    "losses": 68493,
    "win_rate": 0.5267454306502093,
    "long_trades": 75701,
    "short_trades": 71913,
    "long_win_rate": 0.5264131253219905,
    "short_win_rate": 0.5270952400817654,
    "net_pnl": 5863650.629090035,
    "total_winning_pnl": 40550191.97800966,
    "total_losing_pnl": -34686541.348919615,
    "avg_gain": 521.5123397596253,
    "avg_loss": -506.4246178283856,
    "median_gain": 7.45448001,
    "median_loss": -7.00645,
    "median_duration": 132,
    "avg_duration": 11706.044901815512,
    "max_duration": 9750392,
    "median_size_usd": 11613.2712,
    "avg_trade_size": 66824.559812285,
    "max_trade_size_usd": 22907390.75299997,
    "profit_factor": 1.1690468522100916,
    "payoff_ratio": 1.0297926313217904,
    "expectancy": 39.72286252719956,
    "total_fees": 1282675.9379597914,
    "total_volume": 44380730793.930084,
    "volume_share_pct": 100.00000000000001,
    "first_trade_ts": "2026-01-02T12:03:58.812000+00:00",
    "last_trade_ts": "2026-10-18T22:14:30.755000+00:00",
    "first_open_ts": "2026-01-02T12:03:58.812000+00:00",
    "last_close_ts": "2026-10-18T22:14:30.755000+00:00"
  },
  "by_coin": [
    {
      "trade_count": 29218,
      "closed_trade_count": 29217,
      "open_trade_count": 1,
      "fill_count": 2000998,
      "wins": 14648,
      "losses": 13725,
      "win_rate": 0.501334793620371,
      "long_trades": 14899,
      "short_trades": 14319,
      "long_win_rate": 0.4976844083495537,
      "short_win_rate": 0.505133040016761,
      "net_pnl": 2713.250756000338,
      "total_winning_pnl": 415281.8284209997,
      "total_losing_pnl": -412568.577665,
      "avg_gain": 28.35075289602674,
      "avg_loss": -30.059641359927138,
      "median_gain": 1.124323,
      "median_loss": -0.759431,
      "median_duration": 24,
      "avg_duration": 481.3653010233768,
      "max_duration": 6423232,
      "median_size_usd": 9823.458599999998,
      "avg_trade_size": 36542.99525210489,
      "max_trade_size_usd": 16950533.750400003,
      "profit_factor": 1.0065764842571283,
      "payoff_ratio": 0.9431500714383593,
      "expectancy": 0.09286230255323218,
      "total_fees": 129053.434469,
      "total_volume": 5800723467.046999,
      "volume_share_pct": 13.070364915758349,
      "first_trade_ts": "2026-01-02T12:03:58.812000+00:00",
      "last_trade_ts": "2026-06-16T13:16:47.508000+00:00",
      "first_open_ts": "2026-01-02T12:03:58.812000+00:00",
      "last_close_ts": "2026-06-16T13:16:47.508000+00:00",
      "asset": "xyz:XYZ100"
    }
  ]
}

Carries medians as well as means, deliberately: one $4M outlier drags the mean trade size far from anything the wallet typically does, and the mean is where most leaderboards stop.

cURL
# lifetime trade statistics, overall and per coin (a large response for an active wallet)curl -s "https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/trades/summary?window=all" \  -H "X-API-KEY: $VIKE_API_KEY"# the last 30 days onlycurl -s "https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/trades/summary?window=30d" \  -H "X-API-KEY: $VIKE_API_KEY"# mean versus median: one outlier drags the mean, so read bothcurl -s "https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/trades/summary?window=30d" \  -H "X-API-KEY: $VIKE_API_KEY" \  | jq '.overall | {avg_gain, median_gain, avg_loss, median_loss, avg_trade_size, median_size_usd}'# where this wallet loses money: the five worst coins by net PnLcurl -s "https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/trades/summary?window=30d" \  -H "X-API-KEY: $VIKE_API_KEY" \  | jq '.by_coin | sort_by(.net_pnl) | .[:5] | map({asset, net_pnl, trade_count, win_rate})'# then read the trades behind one coincurl -s "https://data.vike.io/v1/hyperliquid/wallets/0x25773676902085225ae5751075e4161369334897/trades?coin=BTC&limit=100" \  -H "X-API-KEY: $VIKE_API_KEY"
Example response
{  "wallet": "0x25773676902085225ae5751075e4161369334897",  "window": "all",  "overall": {    "trade_count": 147614,    "closed_trade_count": 147121,    "open_trade_count": 493,    "fill_count": 17382859,    "wins": 77755,    "losses": 68493,    "win_rate": 0.5267454306502093,    "long_trades": 75701,    "short_trades": 71913,    "long_win_rate": 0.5264131253219905,    "short_win_rate": 0.5270952400817654,    "net_pnl": 5863650.629090035,    "total_winning_pnl": 40550191.97800966,    "total_losing_pnl": -34686541.348919615,    "avg_gain": 521.5123397596253,    "avg_loss": -506.4246178283856,    "median_gain": 7.45448001,    "median_loss": -7.00645,    "median_duration": 132,    "avg_duration": 11706.044901815512,    "max_duration": 9750392,    "median_size_usd": 11613.2712,    "avg_trade_size": 66824.559812285,    "max_trade_size_usd": 22907390.75299997,    "profit_factor": 1.1690468522100916,    "payoff_ratio": 1.0297926313217904,    "expectancy": 39.72286252719956,    "total_fees": 1282675.9379597914,    "total_volume": 44380730793.930084,    "volume_share_pct": 100.00000000000001,    "first_trade_ts": "2026-01-02T12:03:58.812000+00:00",    "last_trade_ts": "2026-10-18T22:14:30.755000+00:00",    "first_open_ts": "2026-01-02T12:03:58.812000+00:00",    "last_close_ts": "2026-10-18T22:14:30.755000+00:00"  },  "by_coin": [    {      "trade_count": 29218,      "closed_trade_count": 29217,      "open_trade_count": 1,      "fill_count": 2000998,      "wins": 14648,      "losses": 13725,      "win_rate": 0.501334793620371,      "long_trades": 14899,      "short_trades": 14319,      "long_win_rate": 0.4976844083495537,      "short_win_rate": 0.505133040016761,      "net_pnl": 2713.250756000338,      "total_winning_pnl": 415281.8284209997,      "total_losing_pnl": -412568.577665,      "avg_gain": 28.35075289602674,      "avg_loss": -30.059641359927138,      "median_gain": 1.124323,      "median_loss": -0.759431,      "median_duration": 24,      "avg_duration": 481.3653010233768,      "max_duration": 6423232,      "median_size_usd": 9823.458599999998,      "avg_trade_size": 36542.99525210489,      "max_trade_size_usd": 16950533.750400003,      "profit_factor": 1.0065764842571283,      "payoff_ratio": 0.9431500714383593,      "expectancy": 0.09286230255323218,      "total_fees": 129053.434469,      "total_volume": 5800723467.046999,      "volume_share_pct": 13.070364915758349,      "first_trade_ts": "2026-01-02T12:03:58.812000+00:00",      "last_trade_ts": "2026-06-16T13:16:47.508000+00:00",      "first_open_ts": "2026-01-02T12:03:58.812000+00:00",      "last_close_ts": "2026-06-16T13:16:47.508000+00:00",      "asset": "xyz:XYZ100"    }  ]}