/api/hl/address/:addr
GETAvailable

Hyperliquid account state for an address

Hyperliquid account state for an address (positions, equity)

GET/api/hl/address/:addr
Read through from the Hyperliquid public API on every request; not cached and not stored.

Request

Query parameters

NameTypeRequiredDefaultAllowed valuesDescription
addr pathstringRequired——0x-prefixed 40-hex address; 400 on bad format. Example: 0x5b5d51203a0f9079f8aeb098a6523a13f298c060

Parameters marked “path” are part of the URL.

Example request

curl -s "https://www.coinboss.com/api/hl/address/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.

FieldTypeUnitDescription
successboolean—true when the request succeeded. On failure the body is `{ success: false, code, error, request_id }`.
updatednumbermsWhen the data was last updated.
accountValuenumberUSDAccount equity.
totalNtlPosnumberUSDTotal notional value of all open perpetual positions of the account, from Hyperliquid's margin summary.
totalMarginUsednumberUSDMargin currently locked by the account's open positions, from Hyperliquid's margin summary.
withdrawablenumberUSDBalance the account can withdraw right now, as reported by Hyperliquid.
positionsarray—Open positions.
positions[]object—Open positions.
positions[].coinstring—Coin symbol, upper case (for example BTC).
positions[].szinumber—Signed position size in coins (negative = short).
positions[].entryPxnumberUSDAverage entry price.
positions[].positionValuenumberUSDPosition notional.
positions[].unrealizedPnlnumberUSDUnrealised profit and loss.
positions[].returnOnEquitynumberfractionUnrealised PnL divided by the margin of the position, as Hyperliquid reports it (0.13 = 13 %).
positions[].liquidationPxnumber|nullUSDEstimated liquidation price.
positions[].leverageobject—Leverage of the position.
positions[].leverage.typestring—Type.
positions[].leverage.valuenumber—Value.
positions[].marginUsednumberUSDMargin used by the position.
positions[].fundingSinceOpennumberUSDCumulative funding since the position was opened, in Hyperliquid's sign convention (positive = paid, negative = received); 0 when not published.

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

Example response

/api/hl/address/0x5b5d51203a0f9079f8aeb098a6523a13f298c060 · Real response captured 2026-11-13 03:58:26 UTC. Long arrays and maps are shortened for display: positions had 23 items.

  • {
    • "success": true,
    • "updated": 1794542306834,
    • "accountValue": 72245515.006981,
    • "totalNtlPos": 333028862.928831,
    • "totalMarginUsed": 72245515.006981,
    • "withdrawable": 0,
    • "positions": [
      • { … 10 },
      • { … 10 }
      ]
    }

Details

Authentication
None. Public endpoint.
Rate limit
1200 requests per minute per IP
Server cache
Not cached
Update frequency
real-time on every request, no cache
Data sources
Live account state (margin summary and open positions) for any Hyperliquid address, passed through from Hyperliquid's official info API.
Exchange coverage
Any valid 0x address
Pagination
none
Units
USD; position sizes in coin units
Timestamps
Unix epoch milliseconds (UTC) unless the field description says otherwise
Response format
json
Stability
Stable

Live status

AvailableChecked 2026-11-13 03:58:26 UTCHTTP 200101 msSchema matchesNewest data point 0s old

Availability, last 30 days

100% 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 →

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/address/:addrAvailable
Parameters

string — 0x-prefixed 40-hex address; 400 on bad format.

Request URLhttps://www.coinboss.com/api/hl/address/0x5b5d51203a0f9079f8aeb098a6523a13f298c060
Choose an endpoint and press “Send request”. The response, headers and timing will appear here.