Skip to main content
Glama

Ironflow: Hyperliquid data

Liquidation map

get_liquidation_map
Read-only

Where open positions on a Hyperliquid perp would be liquidated if the price moved: notional (size x liquidation price) by price range, longs below the current price and shorts above, with running totals from the price outward. Built from every open position in our node's latest state snapshot, about every 12 minutes (snapshot.age_s says how old). Cross-margin prices assume the account's other positions stay at mark, so a real move that drags correlated markets liquidates earlier; portfolio-margin accounts use Hyperliquid's own liquidation price. For liquidations that already happened use get_liquidation_levels. Without a key you get the 10 largest ranges within 10% of the price; any key, including a free one (https://ironflow.sh/key), returns every range.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "market": "<market>"
    },
    "name": "get_liquidation_map"
  }
}

Input Schema

NameRequiredDescriptionDefault
sideNoWhich side's liquidations. Default both
marketYesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
range_pctNoHow far from the current price to cover, in percent. Default 20, max 50
bucket_sizeNoPrice range width: auto (default, about 0.25% of price) or a number in the market's price units

Output Schema

NameRequiredDescriptionDefault
sideNoboth, long or short
as_ofNoWhen the map was priced (RFC 3339)
staleNoTrue when the last snapshot could not be read and an older map is served
levelsNoPrice ranges, low to high
marketNoDisplay symbol, e.g. "BTC-PERP" or "xyz:NVDA-PERP"
noticeNoPresent without a key: the result is a 10-range sample
mark_pxNoCurrent mark price
coverageNoWhat the map covers
snapshotNoThe node state snapshot the positions come from
range_pctNoPercent from the price covered
bucket_sizeNoPrice range width used

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond readOnlyHint/openWorldHint: discloses data provenance (node's latest state snapshot, ~12 min cadence, snapshot.age_s), the cross-margin modeling assumption that correlated markets liquidate earlier, and how portfolio-margin accounts differ. These are exactly the behavioral caveats an agent needs to interpret results correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Core purpose is front-loaded in the first clause, followed by return structure, caveats, sibling routing, and access tiers in a logical order. Dense but each sentence carries information; slightly long for a single paragraph.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description still usefully previews the return shape (notional per price range with running totals from the price outward) and flags snapshot.age_s. Combined with the modeling caveats and entitlement rules, nothing an agent needs to call or interpret this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns extra by tying 'side' to the map's geometry (longs below, shorts above) and clarifying that the free tier truncates coverage to 10% / 10 ranges, which affects how range_pct interacts with entitlement. It does not add much on bucket_size beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource: computes where open Hyperliquid perp positions would be liquidated, mapped as notional by price range with longs below and shorts above. It explicitly separates itself from get_liquidation_levels (already-happened liquidations), so an agent can distinguish it from the many liquidation siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names a specific alternative and the condition that selects it ('For liquidations that already happened use get_liquidation_levels'), and explains the access tier: no key returns 10 largest ranges within 10%, any key returns every range. This gives the agent both routing and entitlement guidance up front.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.