Hyperliquid single-whale detail
Hyperliquid single-whale detail (positions and activity)
/api/hl/whale/:addrRequest
Query parameters
| Name | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
| addr path | string | Required | — | — | 0x-prefixed 40-hex address; 400 on bad format (lowercase). Example: 0x5b5d51203a0f9079f8aeb098a6523a13f298c060 |
Parameters marked “path” are part of the URL.
Example request
curl -s "https://www.coinboss.com/api/hl/whale/0x5b5d51203a0f9079f8aeb098a6523a13f298c060"Response fields
The field table is generated from real responses, so it lists exactly what the endpoint returns. Paths use a[] for array items and {*} for objects keyed by a dynamic name such as a coin or an exchange.
| Field | Type | Unit | Description |
|---|---|---|---|
| success | boolean | — | true when the request succeeded. On failure the body is `{ success: false, code, error, request_id }`. |
| updated | number | ms | When the data was last updated. |
| address | string | — | On-chain address. |
| tracked | boolean | — | True when the address is in the tracked whale pool. |
| labels | array | — | Labels. |
| labels[] | object | — | Labels. |
| labels[].label | string | — | Label. |
| labels[].type | string | — | Type. |
| profile | object | — | Pool record of the address; null when it is not tracked. |
| profile.firstSeen | number | ms | First time the address was recorded in a large fill or a liquidation. |
| profile.lastActive | number | ms | Last time the address was seen in a large fill or a liquidation. |
| profile.totalVolumeUsd | number | USD | Cumulative notional of the address's large fills recorded since `firstSeen`; not its full trading volume. |
| profile.tradeCount | number | count | Number of large fills recorded for the address since `firstSeen`. |
| profile.maxFillUsd | number | USD | Largest single fill recorded for the address. |
| profile.liqCount | number | count | Liquidations of this address on Hyperliquid recorded since it has been tracked. |
| profile.source | string | — | Where the value comes from. |
| profile.accountValue | number | USD | Account equity. |
| profile.totalUpnl | number | USD | Total unrealised PnL. |
| profile.totalPosValue | number | USD | Sum of the position values of all open positions at the last poll (`posPolledAt`); null when never polled. |
| profile.posPolledAt | number | ms | When positions were last polled. |
| positions | array | — | Open positions. |
| positions[] | object | — | Open positions. |
| positions[].coin | string | — | Coin symbol, upper case (for example BTC). |
| positions[].side | string | — | `long` / `short` or `buy` / `sell`. |
| positions[].szi | number | — | Signed position size in coins (negative = short). |
| positions[].entryPx | number | USD | Average entry price. |
| positions[].positionValue | number | USD | Position notional. |
| positions[].unrealizedPnl | number | USD | Unrealised profit and loss. |
| positions[].roe | number | fraction | Unrealised PnL divided by the margin of the position, as Hyperliquid reports it (0.13 = 13 %); null when it is zero or missing. |
| positions[].leverage | number | — | Leverage of the position. |
| positions[].leverageType | string | — | Margin mode of the position: `cross` or `isolated`. |
| positions[].marginUsed | number | USD | Margin used by the position. |
| positions[].liquidationPx | number|null | USD | Estimated liquidation price. |
| positions[].snapshotTs | number | ms | Time of the position snapshot. |
| recentLiquidations | array | — | Up to 50 most recent liquidations of this address on Hyperliquid, newest first; empty when none are recorded. empty in the samples used to generate this table |
| stats | object | — | Trading statistics computed from the address's most recent perpetual fills (at most 2,000); null until they have been computed. |
| stats.windowDays | number | days | Days between the oldest and newest fill analysed (minimum 1). |
| stats.fillsAnalyzed | number | count | Number of fills analysed: the most recent fills Hyperliquid returns for the address, at most 2,000. |
| stats.closedTrades | number | count | Closing events among the analysed perpetual fills (fills with non-zero closed PnL, grouped by transaction and coin). |
| stats.wins | number | count | Closing events with positive closed PnL. |
| stats.winRate | number | fraction | `wins` ÷ `closedTrades` (0.6 = 60 %); null when there are no closing events. |
| stats.realizedPnl | number | USD | Sum of closed PnL over the analysed fills, before fees. |
| stats.feesPaid | number | USD | Sum of trading fees over the analysed perpetual fills. |
| stats.volumeUsd | number | USD | Sum of price × size over the analysed perpetual fills. |
| stats.maxDrawdown | number | USD | Largest peak-to-trough fall of cumulative closed PnL within the analysed fills; null when there was no drawdown. |
| stats.roi | number | fraction | 30-day return on the account from Hyperliquid's own leaderboard (0.1 = 10 %); null when the address is not on that leaderboard. |
| stats.topCoins | array | — | Largest coins. |
| stats.topCoins[] | string | — | Largest coins. |
| stats.computedAt | number | ms | Timestamp. |
Generated 2026-11-11 23:00 UTC from 1 real responses.
Example response
/api/hl/whale/0x5b5d51203a0f9079f8aeb098a6523a13f298c060 · Real response captured 2026-11-13 03:58:41 UTC. Long arrays and maps are shortened for display: labels had 3 items; positions had 23 items.
- "success"true
- "updated"1794542321546
- "address""0x5b5d51203a0f9079f8aeb098a6523a13f298c060"
- "tracked"true
- "labels"
- "profile"
- "firstSeen"1784647213853
- "lastActive"1794431032742
- "totalVolumeUsd"1925599.62
- "tradeCount"21
- "maxFillUsd"207800.94
- "liqCount"0
- "source""bigfill"
- "accountValue"72162095.74
- "totalUpnl"69508245.45
- "totalPosValue"332670116.98
- "posPolledAt"1794542171319
- "positions"
- "recentLiquidations"
- "stats"
- "windowDays"1
- "fillsAnalyzed"2000
- "closedTrades"1262
- "wins"772
- "winRate"0.6117
- "realizedPnl"44221.53
- "feesPaid"164.6835
- "volumeUsd"1047900.19
- "maxDrawdown"2774.11
- "roi"0.812723
- "topCoins"
- "computedAt"1793024816450
Details
- Authentication
- None. Public endpoint.
- Rate limit
- 1200 requests per minute per IP
- Server cache
- 20s
- Edge micro-cache
- 10s
- Update frequency
- positions every 5 min for top addresses, refreshed on request when older than 10 min; API cache 20 s
- Window
- latest positions; liquidation history as stored
- Data sources
- Profile of one Hyperliquid address: positions (polled from the official info API, refreshed on request if stale), liquidation history from our own node, statistics and labels.
- Exchange coverage
- Any address; richer data for addresses already in the tracked pool
- Pagination
- none
- Units
- USD
- Timestamps
- Unix epoch milliseconds (UTC) unless the field description says otherwise
- Response format
- json
- Stability
- Stable
Live status
Availability, last 30 days
99.76% of 409 checks passed
Errors
Failed calls share one shape on every endpoint. The full list is on the errors page. Errors and rate limits →
| Code | HTTP | Meaning | What to do |
|---|---|---|---|
| INVALID_PARAM | 400 | A required parameter is missing or a value is not accepted. `param` names the parameter when it is known. | Do not retry unchanged; fix the request. |
| UNAUTHORIZED | 401 | The `CB-API-KEY` header was sent but the key is unknown or revoked. Public data needs no key — drop the header or use a valid key. | Do not retry unchanged. |
| FORBIDDEN | 403 | The route is not part of the public API (internal or account-only). | Do not retry. |
| NOT_FOUND | 404 | Unknown route, or the requested coin / exchange / fund does not exist. | Do not retry; check the path and identifiers against the catalog. |
| RATE_LIMITED | 429 | More requests than the per-minute limit. `Retry-After` gives the seconds to wait. | Wait for `Retry-After`, then retry with backoff. |
| INTERNAL | 500 | Unexpected server error. The message is generic by design; quote `request_id` when reporting it. | Retry once after a few seconds; report it with the request id if it persists. |
| UPSTREAM_FAILED | 503 | The data source behind this endpoint did not answer in time. No stale or substitute numbers are returned in its place. | Retry with backoff; check the status page. |
| UNAVAILABLE | 501 / 503 | The dataset is temporarily not ready (cache warming) or the endpoint has no lawful public source yet. | Retry later; the catalog marks endpoints that are unavailable by design. |
| REQUEST_FAILED | 200 | Some older endpoints answer HTTP 200 with `success: false`. Always check `success`, not only the HTTP status. | Depends on the message; treat as a failed request. |
Try it
/api/hl/whale/:addrAvailablestring — 0x-prefixed 40-hex address; 400 on bad format (lowercase).
https://www.coinboss.com/api/hl/whale/0x5b5d51203a0f9079f8aeb098a6523a13f298c060More in this category
- Hyperliquid account state for an address /api/hl/address/:addr
- Hyperliquid per-coin whale positions page data /api/hl/coin
- HYPE burn overview /api/hl/hype-burn
- HYPE burn statistics /api/hl/hype-burn-stats
- HYPE burn / buyback transactions /api/hl/hype-burn-txs
- Hyperliquid address labels /api/hl/labels/:addr
- Hyperliquid position-size distribution /api/hl/margin-distribution
- Hyperliquid perp market list /api/hl/markets
- Hyperliquid wallet PnL distribution /api/hl/pnl-distribution
- Hyperliquid position summary /api/hl/position-summary
- Hyperliquid smart-money leaderboard /api/hl/smart-money
- Hyperliquid tier × coin heatmap /api/hl/symbol-heatmap
- Hyperliquid tier detail /api/hl/tier/:slug
- Addresses within a Hyperliquid tier /api/hl/tier/:slug/addresses
- Hyperliquid vault fills /api/hl/vault-fills
- Hyperliquid vault deposit / withdrawal flows /api/hl/vault-flows
- Hyperliquid vault profile /api/hl/vault-profile/:addr
- Hyperliquid vault detail /api/hl/vault/:addr
- Hyperliquid vault list /api/hl/vaults
- Hyperliquid vault overview table /api/hl/vaults/overview
- Hyperliquid whale open / close activity /api/hl/whale-actions
- Hyperliquid single-whale detail /api/hl/whale/:addr
- Hyperliquid whale position list /api/hl/whales
- Hyperliquid whale long/short split /api/hl/whales/long-short
- Hyperliquid whale-pool statistics /api/hl/whales/stats