Inspect a Hyperliquid account's open market positions. Returns open positions, margin context, liquidation fields and reported Hyperliquid perpetual account totals. Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0288 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
Up to 0.0288 credits / call
The final charge is based on confirmed usage. Unused reserved credits return to your available balance.
Surf
Hyperliquid Wallet Positions by Address | Surf
Inspect a Hyperliquid account's open market positions. Returns open positions, margin context, liquidation fields and reported Hyperliquid perpetual account totals. Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0288 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
You receive
Returns open positions, margin context, liquidation fields and reported Hyperliquid perpetual account totals. Perpetual account value is not an all-chain portfolio total. A null liquidation price does not establish that a position has no liquidation risk.
Start with your task
Show what the Hyperliquid account in [public profile link] is currently holding.
Inputs & outputs
Inspect the current inputs, availability, and maximum charge before starting.
Input schema
Input schema
Field / Path
Type
Requirement
Meaning
queryParamsqueryParams
object
Required
Required fields
address
dexqueryParams.dex
string
Optional
Market scope: omit (or main_dex) for the native market, or a builder market — one of: xyz, flx, vntl, hyna, km, abcd, cash, para, mkts.
Options
main_dex, xyz, flx, vntl, hyna, km, abcd, cash, para, mkts
addressqueryParams.address
string
Required
Wallet address: a 0x EVM address or an ENS name (e.g. vitalik.eth). Solana addresses are not supported.
Minimum length
1
View raw JSON
{
"type": "object",
"required": [
"queryParams"
],
"properties": {
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"address"
],
"~standard": {
"vendor": "zod",
"version": 1,
"jsonSchema": {}
},
"properties": {
"dex": {
"enum": [
"main_dex",
"xyz",
"flx",
"vntl",
"hyna",
"km",
"abcd",
"cash",
"para",
"mkts"
],
"type": "string",
"description": "Market scope: omit (or main_dex) for the native market, or a builder market — one of: xyz, flx, vntl, hyna, km, abcd, cash, para, mkts."
},
"address": {
"type": "string",
"minLength": 1,
"description": "Wallet address: a 0x EVM address or an ENS name (e.g. vitalik.eth). Solana addresses are not supported."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
Result schema
Output fields have not been documented yet.
Additional notes
Inspect a Hyperliquid account's open market positions
How to use this Tool
Use the deployed input fields below. Required fields must be supplied; optional filters narrow the result.
queryParams.dex (Optional): Market scope: omit (or main_dex) for the native market, or a builder market — one of: xyz, flx, vntl, hyna, km, abcd, cash, para, mkts.
queryParams.address (Required): Wallet address: a 0x EVM address or an ENS name (e.g. vitalik.eth). Solana addresses are not supported.
What this Tool returns
Returns open positions, margin context, liquidation fields and reported Hyperliquid perpetual account totals.
Response fields and how to read them
The table follows the official response contract, including nested fields and useful response metadata. [] denotes an array item. Required means required within its parent object, not that a conditional parent always exists. A nullable type permits null; an optional field can be absent. Use the documented conditions below to distinguish missing, empty and zero values. Units and reporting windows apply only where explicitly documented.
Field, type and presence
Meaning and conditions
data.account_value
number; Required within parent; format: double
Perp clearinghouse equity, USD (cross-margin summary). NOT total portfolio — for total equity incl. spot/vault/staking use /hyperliquid/account (total_value_usd).
data.address
string; Required within parent
Wallet address
data.cross_maintenance_margin_used
number; Required within parent; format: double
Maintenance margin, USD
data.margin_ratio
number; Required within parent; format: double
Maintenance margin / account equity (0-1); the account is liquidated as this approaches 1.0. Use it as the account-level liquidation-proximity signal when a position's liquidation_price is null.
data.positions
array | null; Required within parent
Open positions, sorted by position value (largest first)
data.positions.[].cum_funding
object; Required within parent
Funding paid/received, USD
data.positions.[].cum_funding.all_time
number; Required within parent; format: double
Funding since the account opened, USD
data.positions.[].cum_funding.since_change
number; Required within parent; format: double
Funding since this position last changed, USD
data.positions.[].cum_funding.since_open
number; Required within parent; format: double
Funding since this position was opened, USD
data.positions.[].distance_to_liquidation
number; Optional within parent; format: double
Fraction the mark must move to reach the liquidation price (e.g. 0.05 = 5%), always positive — a RELATIVE fraction, not an absolute price/USD distance. Omitted when there is no liquidation price.
data.positions.[].entry_price
number; Required within parent; format: double
Average entry price, USD
data.positions.[].leverage_type
string; Required within parent
cross or isolated
data.positions.[].leverage_value
integer; Required within parent; format: int64
Leverage used
data.positions.[].liquidation_price
number; Optional within parent; format: double
Liquidation price, USD. Omitted when Hyperliquid returns none upstream — common for cross positions whose spot collateral backstops them; fall back to the account-level margin_ratio for proximity.
data.positions.[].margin_used
number; Required within parent; format: double
Margin on this position, USD
data.positions.[].mark_price
number; Required within parent; format: double
Current mark price, USD (= position_value / |size|)
data.positions.[].max_leverage
integer; Required within parent; format: int64
Max allowed leverage for this market
data.positions.[].position_value
number; Required within parent; format: double
Current value, USD
data.positions.[].return_on_equity
number; Required within parent; format: double
Return on equity (0.45 = 45%)
data.positions.[].side
string; Required within parent
long or short
data.positions.[].size
number; Required within parent; format: double
Position size; positive = long, negative = short
data.positions.[].symbol
string; Required within parent
Market id (BTC, kPEPE, xyz:GOLD)
data.positions.[].unrealized_pnl
number; Required within parent; format: double
Unrealized profit/loss, USD
data.timestamp
integer; Required within parent; format: int64
When this was captured (Unix seconds)
data.total_margin_used
number; Required within parent; format: double
Margin currently in use, USD
data.total_notional_pos
number; Required within parent; format: double
Total size of all positions, USD
data.total_raw_usd
number; Required within parent; format: double
Raw USD balance
data.withdrawable
number; Required within parent; format: double
Available to withdraw, USD
meta.cached
boolean; Required within parent
Whether this response was served from cache
meta.credits_used
integer; Required within parent; format: int64
Credits deducted for this request
meta.empty_reason
string; Optional within parent
Hint explaining why the data array is empty, when applicable
Coverage, units and freshness
Perpetual account value is not an all-chain portfolio total. A null liquidation price does not establish that a position has no liquidation risk.
Inspect any returned observation time, cache status, watermark, pagination and errors using their documented meanings. A successful request alone does not establish complete coverage. Where no freshness or completeness guarantee is documented, treat it as unknown. Saved Examples are historical and viewing them does not refresh data or execute a new call.
Data source and references
Surf supplies this endpoint through its Data API. Response contract and deployed Tool inputs reviewed on 2026-10-03 against official OpenAPI v0.2.102. This is a contract review date, not a data observation time. Coverage depends on the selected endpoint and request.
Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0288 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
Use a public account page
Explain what the Hyperliquid account shown in [public profile link] is currently holding.
queryParams.dex (Optional): Market scope: omit (or main_dex) for the native market, or a builder market — one of: xyz, flx, vntl, hyna, km, abcd, cash, para, mkts. queryParams.address (Required): Wallet address: a 0x EVM address or an ENS name (e.g. vitalik.eth). Solana addresses are not supported.
Returns open positions, margin context, liquidation fields and reported Hyperliquid perpetual account totals.
Perpetual account value is not an all-chain portfolio total. A null liquidation price does not establish that a position has no liquidation risk.
Use one Toolmu account and a shared prepaid balance across available Tools. Pay per use; no separate supplier subscription is required. The current execution ceiling for this Tool is 0.0288 Toolmu credits per call. This is a maximum, not the settled charge. Before execution, get the current Tool contract and check availability, the latest maximumCredits, your balance and budget. Supplier response credits_used, when present, describes supplier API credits and is not the Toolmu customer charge.
Ask your agent to Inspect a Hyperliquid account's open market positions. Provide the required inputs above. If Toolmu is already connected, reuse that connection; otherwise use the setup instructions on this page. Before a paid execution, the agent must read the current Tool contract and check availability, the credit ceiling, balance, budget and your authorization. It should then execute the Tool and explain the returned fields and limitations.
Inspect any returned observation time, cache status, watermark, pagination and errors using their documented meanings. A successful request alone does not establish complete coverage. Where no freshness or completeness guarantee is documented, treat it as unknown. Saved Examples are historical and viewing them does not refresh data or execute a new call.