/api/hl/smart-money
GETAvailable

Hyperliquid smart-money leaderboard

Hyperliquid smart-money leaderboard (PnL, win rate, ROI)

GET/api/hl/smart-money

Request

Query parameters

NameTypeRequiredDefaultAllowed valuesDescription
sortstringOptionalpnlpnl, winrate, roi, volumeSort key.
dirstringOptionaldescasc, descSort direction.
limitintegerOptional50≤ 200Number of rows to return. Example: 50
min_tradesintegerOptional5≥ 0Minimum trade count.

Example request

curl -s "https://www.coinboss.com/api/hl/smart-money?limit=50"

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.

FieldTypeUnitDescription
successboolean—true when the request succeeded. On failure the body is `{ success: false, code, error, request_id }`.
updatednumbermsWhen the data was last updated.
rowsarray—Result rows.
rows[]object—Result rows.
rows[].addressstring—On-chain address.
rows[].windowDaysnumberdaysDays between the oldest and newest fill analysed (minimum 1).
rows[].fillsAnalyzednumbercountNumber of fills analysed: the most recent fills Hyperliquid returns for the address, at most 2,000.
rows[].closedTradesnumbercountClosing events among the analysed perpetual fills (fills with non-zero closed PnL, grouped by transaction and coin).
rows[].winsnumbercountClosing events with positive closed PnL.
rows[].winRatenumberfraction`wins` ÷ `closedTrades` (0.6 = 60 %); null when there are no closing events.
rows[].realizedPnlnumberUSDSum of closed PnL over the analysed fills, before fees.
rows[].feesPaidnumberUSDSum of trading fees over the analysed perpetual fills.
rows[].volumeUsdnumberUSDSum of price × size over the analysed perpetual fills.
rows[].maxDrawdownnumber|nullUSDLargest peak-to-trough fall of cumulative closed PnL within the analysed fills; null when there was no drawdown.
rows[].roinumber|nullfraction30-day return on the account from Hyperliquid's own leaderboard (0.1 = 10 %); null when the address is not on that leaderboard.
rows[].topCoinsarray—Largest coins.
rows[].topCoins[]string—Largest coins.
rows[].accountValuenumberUSDAccount equity.
rows[].totalUpnlnumberUSDTotal unrealised PnL.
rows[].liqCountnumbercountLiquidations of this address on Hyperliquid recorded since it has been tracked.
rows[].lastActivenumbermsLast time the address was seen in a large fill or a liquidation.
rows[].firstFillTsnumbermsTimestamp.
rows[].lastFillTsnumbermsTimestamp.
rows[].computedAtnumbermsTimestamp.
rows[].tagsarray—Rule-based tags: `high_winrate` (win rate ≥ 0.6 with ≥ 20 closing events), `high_pnl` (realised PnL ≥ $100k), `recently_liquidated` (`liqCount` > 0), `high_frequency` (> 100 fills per day).
rows[].tags[]string—One tag.
rows[].labelsarray—Labels.
rows[].labels[]object—Labels.
rows[].labels[].labelstring—Label.
rows[].labels[].typestring—Type.

Generated 2026-11-11 23:00 UTC from 1 real responses.

Example response

/api/hl/smart-money?limit=50 · Real response captured 2026-11-13 04:03:06 UTC. Long arrays and maps are shortened for display: rows had 50 items.

  • {
    • "success": true,
    • "updated": 1794542586870,
    • "rows": [
      • { … 21 },
      • { … 21 }
      ]
    }

Details

Authentication
None. Public endpoint.
Rate limit
1200 requests per minute per IP
Server cache
60s
Edge micro-cache
10s
Update frequency
fill statistics for the top 150 addresses every 30 min; leaderboard hourly; API cache 60 s
Window
as covered by each address's recent fill history
Data sources
Realized PnL, win rate, ROI and volume of tracked Hyperliquid addresses, computed from their fill history via the official info API and the official leaderboard.
Exchange coverage
tracked whale pool (addresses that made a single fill >= 50,000 USD, were liquidated, or run a vault); not the whole network; statistics only for the top 150 addresses
Pagination
limit (default 50, max 200); filter min_trades (default 5)
Sorting
sort = pnl (default) | winrate | roi | volume; dir = desc | asc
Units
USD; win rate and ROI as reported/computed per address
Timestamps
Unix epoch milliseconds (UTC) unless the field description says otherwise
Response format
json
Stability
Stable

Live status

AvailableChecked 2026-11-13 04:03:06 UTCHTTP 2005 msSchema matchesNewest data point 0s old

Availability, last 30 days

100% of 410 checks passed

Errors

Failed calls share one shape on every endpoint. The full list is on the errors page. Errors and rate limits →

CodeHTTPMeaningWhat to do
INVALID_PARAM400A 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.
UNAUTHORIZED401The `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.
FORBIDDEN403The route is not part of the public API (internal or account-only).Do not retry.
NOT_FOUND404Unknown route, or the requested coin / exchange / fund does not exist.Do not retry; check the path and identifiers against the catalog.
RATE_LIMITED429More requests than the per-minute limit. `Retry-After` gives the seconds to wait.Wait for `Retry-After`, then retry with backoff.
INTERNAL500Unexpected 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_FAILED503The 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.
UNAVAILABLE501 / 503The 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_FAILED200Some 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

GET/api/hl/smart-moneyAvailable
Parameters

string · default pnl — Sort key.

string · default desc — Sort direction.

integer · default 50 · max 200 — Number of rows to return.

integer · default 5 · min 0 — Minimum trade count.

Request URLhttps://www.coinboss.com/api/hl/smart-money?limit=50
Choose an endpoint and press “Send request”. The response, headers and timing will appear here.