Accessing Hyperliquid on Nansen API Beta
A public, developer‑friendly guide to accessing Hyperliquid perpetuals data via Nansen API. This page covers available endpoints, required parameters, example requests and responses, and key caveats specific to Hyperliquid.
Supported now: Perp Positions, Perp Flows, Position Changes, Trades, PnL Leaderboard
We're rolling out a more robust /v1 soon, but here’s a quick solution to get you started right away..
General guidance
Chain must be set to "hyperliquid" for all endpoints
tokenAddress accepts the token symbol (for example, "PENGU")
Labels supported include: top_100_holders, Smart Money, Public Figures, Whale, high_winrate_hl_perps_trader
Pagination is supported with page and recordsPerPage
Dates accept ISO 8601 or YYYY-MM-DD
Authentication
Send your API key in header: apiKey: YOUR_API_KEY
Content type: application/json
Errors and limits
Standard HTTP status codes
If a query returns no data, verify tokenAddress symbol, date range, and label filters
Endpoints
1) Hyperliquid Perp Positions
Returns wallets with active perpetual positions for a given market and time range.
Endpoint
Link:
Parameters
chain
: "hyperliquid" (required)tokenAddress
: token symbol or name, for example "PENGU" (required)date.from
,date.to
: ISO 8601 timestamps delimiting the window (required)isEntity
: false for wallet‑level positionsincludeLabels
: optional array of label filters; examples belowlabel
: optional segment label such as top_100_holdersisStablecoin
: optional boolean
Example request
curl -L \\
--request POST \\
--url '<https://api.nansen.ai/api/beta/tgm/holders>'' \\
--header 'apiKey: YOUR_API_KEY' \\
--header 'Content-Type: application/json' \\
--data '{
"parameters": {
"chain": "hyperliquid",
"tokenAddress": "PENGU",
"date": {
"from": "2025-08-05T00:00:00.000Z",
"to": "2025-09-05T23:59:59.000Z"
},
"isEntity": false,
"includeLabels": [
"180D Smart Trader",
"30D Smart Trader",
"90D Smart Trader",
"Fund",
"Smart HL Perps Trader"
],
"label": "top_100_holders",
"isStablecoin": false
},
"pagination": { "page": 1, "recordsPerPage": 20 },
"order": { "orderBy": "balance", "order": "desc" }
}'
Example response
{
"address": "0x27388d079cb5cf1ad50f60ab4c260356449bf92b",
"name": "🤓 Smart HL Perps Trader [0x27388d]",
"balance": 10143138,
"sent": 0,
"received": 10143138,
"changeShortTimeframe": 0,
"changeMediumTimeframe": 0,
"changeLongTimeframe": 0,
"percentOwnership": 0,
"balanceUsd": 294932.023626,
"shortTimeframeHours": 0,
"mediumTimeframeHours": 0,
"longTimeframeHours": 0
}
Field notes
balance
andbalanceUsd
represent position size and USD value for the time windowchangeShortTimeframe
,changeMediumTimeframe
,changeLongTimeframe
capture deltas across predefined hour buckets
2) Hyperliquid Perp Flows
Aggregated flows across label cohorts such as Smart Money, Whales, Public Figures, and High Win‑rate Perps Traders.
Endpoint
Link:
Parameters
chain
: "hyperliquid" (required)tokenAddress
: token symbol or name, for example "PENGU" (required)label
: cohort label such as smart_money or top_100_holdersdate.from
,date.to:
date strings (YYYY-MM-DD) or ISO 8601pagination optional
Example request
curl -L \\
--request POST \\
--url '<https://api.nansen.ai/api/beta/tgm/flows>'' \\
--header 'apiKey: YOUR_API_KEY' \\
--header 'Content-Type: application/json' \\
--data '{
"parameters": {
"chain": "hyperliquid",
"tokenAddress": "PENGU",
"date": { "from": "2025-05-01", "to": "2025-05-03" },
"label": "smart_money"
},
"pagination": { "page": 1, "recordsPerPage": 100 }
}'
Example response
{
"blockDate": "2025-06-18T01:00:00Z",
"priceUsd": 0.009264,
"totalBalance": -25843981,
"totalBalanceUsd": -751465.435537,
"totalHolders": "3",
"totalInflows": 0,
"totalOutflows": 0,
"totalPositivePositions": "1",
"totalNegativePositions": "2"
}
Field notes
totalBalance
andtotalBalanceUsd
reflect net position change across the cohort for the intervaltotalPositivePositions
andtotalNegativePositions
count wallets with net increases vs decreases
3) Position Changes
Tracks whether a wallet increased or decreased positions within the time range.
Endpoint
Link:
Parameters
chain
: "hyperliquid" (required)buyOrSell
: BUY or SELL to focus on directionalitytimeRange.from,
timeRange.to
: YYYY-MM-DD or ISO 8601tokenAddress
: token symbol or name
Example request
curl -L \\
--request POST \\
--url '<https://api.nansen.ai/api/beta/tgm/who-bought-sold>'' \\
--header 'apiKey: YOUR_API_KEY' \\
--header 'Content-Type: application/json' \\
--data '{
"parameters": {
"chain": "hyperliquid",
"buyOrSell": "BUY",
"timeRange": { "from": "2025-05-01", "to": "2025-05-02" },
"tokenAddress": "PENGU"
},
"pagination": { "page": 1, "recordsPerPage": 100 }
}'
Example response
{
"address": "0x00c511ab1b583f4efab3608d0897d377c4de47a6",
"addressLabel": "High Balance [0x00c511]",
"boughtTokenVolume": 17835948,
"soldTokenVolume": 5452519,
"tokenTradeVolume": 12383429,
"boughtVolumeUsd": 198902.1348184976,
"soldVolumeUsd": 63002.2294680785,
"tradeVolumeUsd": 261904.3642865761
}
4) Trades
Live or historical list of trades executed by individual traders for the specified market.
Endpoint
Link
Parameters
chain
: "hyperliquid" (required)tokenAddress
: token symbol or nameonlySmartMoney
: boolean to restrict to Smart Money cohortdate.from
,date.to
: YYYY-MM-DD or ISO 8601
Example request
curl -L \\
--request POST \\
--url '<https://api.nansen.ai/api/beta/tgm/dex-trades>'' \\
--header 'apiKey: YOUR_API_KEY' \\
--header 'Content-Type: application/json' \\
--data '{
"parameters": {
"chain": "hyperliquid",
"tokenAddress": "PENGU",
"onlySmartMoney": false,
"date": { "from": "2025-07-07", "to": "2025-07-14" }
},
"pagination": { "page": 1, "recordsPerPage": 100 }
}'
Example response
{
"action": "MARKET SELL|Close Long",
"tokenAmount": 5315,
"estimatedValueUsd": 159.58819,
"estimatedSwapPriceUsd": 0.030026,
"traderAddressHex": "0x5099991c26843e6b137b5603aa3be0bb5babb6da",
"traderName": "[0x509999]",
"transactionHash": "0x41ff68366cba8816b99204277226b401f000a4b2852662e0af0e059a94f05dd3",
"blockTimestamp": "2025-07-13T23:59:58.836Z"
}
5) TGM PnL Leaderboard
Ranks traders by realised and unrealised PnL over the period.
Endpoint
Link
Parameters
chain
: "hyperliquid" (required)date.from
,date.to
tokenAddress
Example request
curl -L \\
--request POST \\
--url '<https://api.nansen.ai/api/beta/tgm/pnl-leaderboard>'' \\
--header 'apiKey: YOUR_API_KEY' \\
--header 'Content-Type: application/json' \\
--data '{
"parameters": {
"chain": "hyperliquid",
"date": { "from": "2025-07-14", "to": "2025-07-15" },
"tokenAddress": "PENGU"
},
"pagination": { "page": 1, "recordsPerPage": 100 }
}'
Example response
{
"traderAddress": "0x6f5bbfbfb82729cf356f37f88911952ca115d3f5",
"fullName": "High Balance [0x6f5bbf]",
"holdingAmount": 0,
"holdingUsd": 0,
"tokenPrice": 0.029225,
"maxBalanceHeld": 0,
"maxBalanceHeldUsd": 0,
"stillHoldingBalanceRatio": 0,
"pnlUsdRealised": 1924261.762444,
"pnlUsdUnrealised": 0,
"roiPercentRealised": 0.18026886923180446,
"roiPercentUnrealised": null,
"pnlUsdTotal": 1924261.762444,
"roiPercentTotal": 0.18026886923180446,
"nofTrades": "2629",
"netflowAmountUsd": 0
}
This endpoint supports flexible sorting through the order parameter. You can sort traders by various performance metrics to analyze different aspects of trading behavior. Supported OrderBy Fields:
pnlUsdTotal
- Total profit/loss in USDpnlUsdUnrealised
- Unrealized profit/loss in USDpnlUsdRealised
- Realized profit/loss in USDroiPercentRealised
- Realized ROI percentagenofTrades
- Number of tradesnetflowAmountUsd
- Net flow amount in USDholdingUsd
- Current USD value of holdings
Example
{
"parameters": {
"chain": "hyperliquid",
"date": { "from": "2025-07-14", "to": "2025-07-15" },
"tokenAddress": "PENGU"
},
"pagination": { "page": 1, "recordsPerPage": 100 },
"order": { "orderBy": "roiPercentRealised", "order": "desc" }
}
Last updated
Was this helpful?