Hyperliquid traders by address: the leaderboard, performance, open positions, and the order and position history Hyperliquid itself does not keep, rebuilt from fills.
Base URL https://api.kopyon.com/v5/hyperliquid/ · send your key in the X-API-KEY header · trader id: A trader's wallet address (0x…).
Every Hyperliquid account on its leaderboard, ranked by PnL, ROI or volume over a period.
Hyperliquid refreshes this Hyperliquid updates this leaderboard every few minutes; the API reads it again every 5 minutes..
Query parameters
Name
Type
Description
periodrequired
enum
Period the numbers cover1D, 7D, 30D, ALL
sortBy
enumdefault pnl
What to rank bypnl, roi, volume
order
enumdefault DESC
DESC lists the highest first, ASC the lowestDESC, ASC
minAccountValue
stringdefault 0
Only accounts worth at least this, in USDC; ranking by ROI is noisy without it
minVolume
stringdefault 0
Only accounts that traded at least this over the period, in USDC. Hyperliquid's ROI is over the value at the start of the period, so a nearly empty account that later got a deposit can top an ROI ranking without trading much
page
intdefault 1
Page number
rows
intdefault 20
Rows per page1 to 100
Response fields, in data
Field
Type
Description
traders[]always
array
traders[].traderIdalways
string
The trader's id at the source; other operations take it as traderId
The trader's perpetual positions on Hyperliquid's main exchange, which are public on-chain.
Query parameters
Name
Type
Description
traderIdrequired
string
The trader's address, from the ranking
Response fields, in data
Field
Type
Description
accountValuealways
number
Perpetuals account value, in USDC
positions[]always
array
positions[].symbolalways
string
positions[].sidealways
LONG | SHORT
positions[].size
number
Position size, always positive; side gives the direction
positions[].entryPricealways
number
positions[].markPrice
number
The exchange's mark price
positions[].leverage
number
positions[].marginMode
ISOLATED | CROSS
positions[].unrealizedPnl
number
In pnlCurrency
positions[].pnlCurrency
string
positions[].liquidationPrice
number
positions[].margin
number
Margin the position uses, in pnlCurrency
positions[].roi
number
unrealizedPnl over margin, as a fraction. Where the exchange sends its own (KuCoin; BingX, over the opening margin), it is passed on and can differ from that ratio
The trader's executed perpetual orders, oldest first. Hyperliquid has no such history, so it is rebuilt from the account's perpetual fills: at most 2000 per call, the latest ones or the first ones from startTime on. From startTime, nextCursor reads on from the last fill; the latest fills cannot be paged back. Hyperliquid keeps each account's latest 10000 fills. An order cut at the edge of a call shows up in both, with the same orderId.
Query parameters
Name
Type
Description
traderIdrequired
string
The trader's address, from the ranking
startTime
int
From this time on, in Unix milliseconds; without it, the latest fills
endTime
int
Up to this time, in Unix milliseconds; needs startTime
cursor
string
The nextCursor of the previous answer; leave it out for the first page
Response fields, in data
Field
Type
Description
orders[]always
array
orders[].symbolalways
string
orders[].sidealways
string
orders[].positionSide
string
BOTH in one-way mode; LONG or SHORT in hedge mode
orders[].price
number
orders[].quantity
number
orders[].quoteQuantity
number
orders[].createdAt
number
When the order was placed, in Unix milliseconds
orders[].updatedAtalways
number
Last change, in Unix milliseconds
orders[].sourceDetails.fills
only Hyperliquid
orders[].sourceDetails.feeToken
only Hyperliquid
orders[].realizedPnl
number
orders[].orderId
string
orders[].tradingFee
number
Fees paid, in sourceDetails.feeToken; negative is a rebate
nextCursor
string
Send it back as cursor, with the same query, to read the next page; absent on the last page
The trader's closed perpetual positions, oldest first; a flip closes one position and opens another. Hyperliquid has no such history, so it is rebuilt from the account's perpetual fills: at most 2000 per call, the latest ones or the first ones from startTime on. From startTime, nextCursor reads on from the last fill; the latest fills cannot be paged back. Hyperliquid keeps each account's latest 10000 fills. A position already open at the first fill read is left out, since its entry is unknown. netPnl is omitted when the funding is too long to read.
Query parameters
Name
Type
Description
traderIdrequired
string
The trader's address, from the ranking
startTime
int
From this time on, in Unix milliseconds; without it, the latest fills
endTime
int
Up to this time, in Unix milliseconds; needs startTime
cursor
string
The nextCursor of the previous answer; leave it out for the first page
Response fields, in data
Field
Type
Description
positions[]always
array
positions[].positionId
string
positions[].symbolalways
string
positions[].side
LONG | SHORT
positions[].status
string
positions[].marginMode
ISOLATED | CROSS
positions[].leverage
number
positions[].roi
number
positions[].entryPrice
number
positions[].closePrice
number
positions[].openedAtalways
number
When the position opened, in Unix milliseconds
positions[].closedAt
number
When the position closed, in Unix milliseconds
positions[].updatedAtalways
number
Last change, in Unix milliseconds
positions[].openedVolume
number
positions[].closedVolume
number
positions[].maxOpenInterest
number
positions[].grossPnl
number
positions[].fundingPnl
number
positions[].tradingFee
number
positions[].liquidationFee
number
positions[].netPnl
number
positions[].pnlCurrency
string
positions[].sourceDetails.fills
only Hyperliquid
nextCursor
string
Send it back as cursor, with the same query, to read the next page; absent on the last page
Money into and out of the trader's account, oldest first: deposits, withdrawals, transfers between addresses and vault deposits and withdrawals. Moves inside the account, staking and liquidations are left out. Hyperliquid answers 2000 ledger entries a call.
Query parameters
Name
Type
Description
traderIdrequired
string
The trader's address, from the ranking
startTime
int
From this time on, in Unix milliseconds; without it, from the account's first entry
endTime
int
Up to this time, in Unix milliseconds
cursor
string
The nextCursor of the previous answer; leave it out for the first page
Response fields, in data
Field
Type
Description
transfers[]always
array
transfers[].timealways
number
In Unix milliseconds
transfers[].asset
string
transfers[].amountalways
number
transfers[].typealways
deposit | withdraw | transfer | vaultDeposit | vaultWithdraw | commission | other
deposit and withdraw move the owner's money into or out of the account; transfer, to or from another address; vaultDeposit and vaultWithdraw, into or out of a vault; commission is a vault leader's share; other is a kind none of these fits, named in sourceDetails.type
transfers[].sourceDetails.type
only Hyperliquid
transfers[].counterparty
string
transfers[].fee
number
transfers[].txHash
string
nextCursor
string
Send it back as cursor, with the same query, to read the next page; absent on the last page
What Hyperliquid shows about a trader: name, account value, the leaderboard's numbers per period, largest drawdown and days active. Hyperliquid has no avatar, bio or followers.