Hyperliquid liquidation levels, whale positions, liquidations, cohorts and funding. Free.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Past sharp moves (at least `min_move_pct` in one 4-hour step) paired with how much liquidation exposure sat in their path just before -- the evidence for whether clusters actually get run.
Only this market
Newest first, or most exposure first
Smallest 4-hour move to count
Past sharp moves (at least `min_move_pct` in one 4-hour step) paired with how much liquidation exposure sat in their path just before -- the evidence for whether clusters actually get run.
| Argument | Type | Description |
|---|---|---|
| coin | any | Only this market |
| days | integer | |
| sort | string | Newest first, or most exposure first |
| limit | integer | |
| min_move_pct | number | Smallest 4-hour move to count |
{
"type": "object",
"title": "cascadesArguments",
"properties": {
"coin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Coin",
"default": null,
"description": "Only this market"
},
"days": {
"type": "integer",
"title": "Days",
"default": 90,
"maximum": 365,
"minimum": 1
},
"sort": {
"enum": [
"time",
"size"
],
"type": "string",
"title": "Sort",
"default": "time",
"description": "Newest first, or most exposure first"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"maximum": 100,
"minimum": 1
},
"min_move_pct": {
"type": "number",
"title": "Min Move Pct",
"default": 4,
"maximum": 100,
"minimum": 0.5,
"description": "Smallest 4-hour move to count"
}
}
}How different kinds of traders are positioned: wallets grouped by account size (Micro under $250 up to Whale over $1M) and by all-time PnL (Highly Unprofitable to Highly Profitable), with each group's long and short notional and the share that is long. "Are whales and the profitable traders on the other side of retail?" Uses 2 API calls without a coin.
| Argument | Type | Description |
|---|---|---|
| coin | any | One market; omit for all markets combined |
{
"type": "object",
"title": "cohort_positioningArguments",
"properties": {
"coin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Coin",
"default": null,
"description": "One market; omit for all markets combined"
}
}
}Which coins one trader cohort is most long and most short on, ranked across every market: "What are the most profitable traders most bullish and most bearish on?" Each coin has the cohort's long and short notional, net USD, share long and wallet count, plus the cohort's overall lean across all markets to compare against. Uses 2 API calls without a side.
| Argument | Type | Description |
|---|---|---|
| side | any | long: the coins the cohort is most bullish on; short: most bearish on. Omit for both |
| limit | integer | Coins per side |
| cohort | string | By all-time PnL: Highly Profitable (over $100k) down to Highly Unprofitable (under -$100k). By account size: Whale (over $1M) down to Micro (under $250). |
| rank_by | string | ratio: by the share of the cohort's notional that is long (conviction). net: by long minus short USD (the biggest bets, which favours BTC and ETH) |
| min_notional_usd | number | Skip coins where the cohort holds less than this, long plus short. Without a floor a ratio ranking is all tiny markets where a few wallets are 100% one way |
{
"type": "object",
"title": "cohort_top_coinsArguments",
"properties": {
"side": {
"anyOf": [
{
"enum": [
"long",
"short"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Side",
"default": null,
"description": "long: the coins the cohort is most bullish on; short: most bearish on. Omit for both"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Coins per side"
},
"cohort": {
"enum": [
"Highly Profitable",
"Profitable",
"Slightly Profitable",
"Slightly Unprofitable",
"Unprofitable",
"Highly Unprofitable",
"Whale",
"Institutional",
"Advanced",
"Mid-Tier",
"Entry-Level",
"Micro"
],
"type": "string",
"title": "Cohort",
"default": "Highly Profitable",
"description": "By all-time PnL: Highly Profitable (over $100k) down to Highly Unprofitable (under -$100k). By account size: Whale (over $1M) down to Micro (under $250)."
},
"rank_by": {
"enum": [
"ratio",
"net"
],
"type": "string",
"title": "Rank By",
"default": "ratio",
"description": "ratio: by the share of the cohort's notional that is long (conviction). net: by long minus short USD (the biggest bets, which favours BTC and ETH)"
},
"min_notional_usd": {
"type": "number",
"title": "Min Notional Usd",
"default": 1000000,
"minimum": 0,
"description": "Skip coins where the cohort holds less than this, long plus short. Without a floor a ratio ranking is all tiny markets where a few wallets are 100% one way"
}
}
}A metric's history for one market (with the price where the data has it), thinned to at most 60 points.
| Argument | Type | Description |
|---|---|---|
| coin* | string | Hyperliquid market symbol, e.g. BTC, ETH, HYPE, xyz:SKHX |
| days | integer | |
| metric | string | score = liquidation-pressure score; funding = aggregate funding; depth = cross-exchange order-book imbalance; volume = cross-exchange traded volume |
{
"type": "object",
"title": "coin_historyArguments",
"required": [
"coin"
],
"properties": {
"coin": {
"type": "string",
"title": "Coin",
"description": "Hyperliquid market symbol, e.g. BTC, ETH, HYPE, xyz:SKHX"
},
"days": {
"type": "integer",
"title": "Days",
"default": 7,
"maximum": 90,
"minimum": 1
},
"metric": {
"enum": [
"score",
"funding",
"depth",
"volume"
],
"type": "string",
"title": "Metric",
"default": "score",
"description": "score = liquidation-pressure score; funding = aggregate funding; depth = cross-exchange order-book imbalance; volume = cross-exchange traded volume"
}
}
}Everything about one market right now: live price and 24h change, its liquidation-pressure score, liquidation exposure each side and how close it sits, the nearest big cluster, its rank among all markets, and what changed since the previous snapshot. Start here for any question about one coin. Uses 2 API calls.
| Argument | Type | Description |
|---|---|---|
| coin* | string | Hyperliquid market symbol, e.g. BTC, ETH, HYPE, xyz:SKHX |
{
"type": "object",
"title": "coin_snapshotArguments",
"required": [
"coin"
],
"properties": {
"coin": {
"type": "string",
"title": "Coin",
"description": "Hyperliquid market symbol, e.g. BTC, ETH, HYPE, xyz:SKHX"
}
}
}Perp funding rates. With a coin: the rate on each venue (Hyperliquid, Binance, Bybit, OKX, Bitget, Gate) normalised to 8 hours, plus the open-interest weighted aggregate. Without: the markets paying the most positive and most negative funding right now. Positive = longs pay shorts.
| Argument | Type | Description |
|---|---|---|
| coin | any | One market; omit for the most extreme rates across all |
| limit | integer | Markets per side when no coin is given |
{
"type": "object",
"title": "fundingArguments",
"properties": {
"coin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Coin",
"default": null,
"description": "One market; omit for the most extreme rates across all"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Markets per side when no coin is given"
}
}
}Hyperliquid wallets ranked by all-time PnL or by 30-day volume.
| Argument | Type | Description |
|---|---|---|
| by | string | All-time PnL, or 30-day traded volume |
| limit | integer |
{
"type": "object",
"title": "leaderboardArguments",
"properties": {
"by": {
"enum": [
"pnl",
"volume"
],
"type": "string",
"title": "By",
"default": "pnl",
"description": "All-time PnL, or 30-day traded volume"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"maximum": 100,
"minimum": 1
}
}
}Where the forced orders sit around the current price for one market, from every wallet on the node: liquidation prices (longs below = forced sells, shorts above = forced buys), resting stop-loss / take-profit trigger orders, and order-book depth, summed into price bands either side of the mark price, plus the biggest liquidation clusters. This is the "liquidation heatmap" question: where would a move run into cascading liquidations, and how much is there. Uses 2 API calls.
| Argument | Type | Description |
|---|---|---|
| coin* | string | Hyperliquid market symbol, e.g. BTC, ETH, HYPE, xyz:SKHX |
| bands | integer | Price bands per side |
| range_pct | number | How far either side of price to map, in % |
{
"type": "object",
"title": "liquidation_mapArguments",
"required": [
"coin"
],
"properties": {
"coin": {
"type": "string",
"title": "Coin",
"description": "Hyperliquid market symbol, e.g. BTC, ETH, HYPE, xyz:SKHX"
},
"bands": {
"type": "integer",
"title": "Bands",
"default": 10,
"maximum": 50,
"minimum": 4,
"description": "Price bands per side"
},
"range_pct": {
"type": "number",
"title": "Range Pct",
"default": 10,
"maximum": 50,
"description": "How far either side of price to map, in %",
"exclusiveMinimum": 0
}
}
}How much was liquidated. Without a coin: every market ranked by liquidated USD over the window, long vs short. With a coin: long and short liquidations per time bucket. Windows that the node missed are listed under `gaps` -- those are missing data, not quiet periods.
| Argument | Type | Description |
|---|---|---|
| coin | any | One market, for a time series; omit for a ranking of markets |
| hours | number | |
| limit | integer | Markets in the ranking |
| interval | any | Bucket size for the time series; chosen from hours if omitted |
{
"type": "object",
"title": "liquidation_totalsArguments",
"properties": {
"coin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Coin",
"default": null,
"description": "One market, for a time series; omit for a ranking of markets"
},
"hours": {
"type": "number",
"title": "Hours",
"default": 24,
"maximum": 720,
"exclusiveMinimum": 0
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Markets in the ranking"
},
"interval": {
"anyOf": [
{
"enum": [
"5m",
"15m",
"1h",
"4h",
"1d"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Interval",
"default": null,
"description": "Bucket size for the time series; chosen from hours if omitted"
}
}
}Market symbols LiqFlow covers, to resolve a name ("solana") to its market symbol (SOL). `scored` markets also have scores, funding, depth and volume; the rest have node data only (positions, levels, liquidations). Uses 2 API calls.
| Argument | Type | Description |
|---|---|---|
| query | any | Filter by symbol or name, e.g. "pepe" or "bitcoin" |
{
"type": "object",
"title": "list_marketsArguments",
"properties": {
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Filter by symbol or name, e.g. \"pepe\" or \"bitcoin\""
}
}
}The whole market in one reading: how many perps lean bullish vs bearish on liquidation pressure, and the markets leaning hardest each way. The score compares short-liquidation exposure ABOVE price (forced buys if price rises) with long-liquidation exposure BELOW it (forced sells if it falls), weighted by distance. Negative = more fuel below, a bearish pull; positive = the reverse. Uses 2 API calls.
| Argument | Type | Description |
|---|---|---|
| top | integer | How many markets to list on each side |
{
"type": "object",
"title": "market_overviewArguments",
"properties": {
"top": {
"type": "integer",
"title": "Top",
"default": 5,
"maximum": 20,
"minimum": 1,
"description": "How many markets to list on each side"
}
}
}Hyperliquid markets ranked by open interest (USD), with how many positions are open in each, from every wallet on the node.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"title": "open_interest_rankingArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"maximum": 100,
"minimum": 1
}
}
}Individual Hyperliquid liquidation fills, newest first, straight off the node: who was liquidated, on which market, how big, at what price. One liquidation can be several fills sharing an order id.
| Argument | Type | Description |
|---|---|---|
| coin | any | One market; omit for all |
| side | any | Which side was liquidated |
| hours | number | |
| limit | integer | |
| min_usd | any | Only fills at least this large |
{
"type": "object",
"title": "recent_liquidationsArguments",
"properties": {
"coin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Coin",
"default": null,
"description": "One market; omit for all"
},
"side": {
"anyOf": [
{
"enum": [
"long",
"short"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Side",
"default": null,
"description": "Which side was liquidated"
},
"hours": {
"type": "number",
"title": "Hours",
"default": 24,
"maximum": 720,
"exclusiveMinimum": 0
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 25,
"maximum": 100,
"minimum": 1
},
"min_usd": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Min Usd",
"default": null,
"description": "Only fills at least this large"
}
}
}The largest open positions on Hyperliquid right now, longs and shorts, read live from the node: wallet, size, notional, entry, leverage, liquidation price and how far price is from it, unrealised PnL, and the wallet's size cohort.
| Argument | Type | Description |
|---|---|---|
| coin | any | One market; omit for the largest on any market |
| side | any | Omit for both |
| limit | integer | Per side |
{
"type": "object",
"title": "top_positionsArguments",
"properties": {
"coin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Coin",
"default": null,
"description": "One market; omit for the largest on any market"
},
"side": {
"anyOf": [
{
"enum": [
"long",
"short"
],
"type": "string"
},
{
"type": "null"
}
],
"title": "Side",
"default": null,
"description": "Omit for both"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"maximum": 25,
"minimum": 1,
"description": "Per side"
}
}
}One Hyperliquid wallet right now, read live from the node: account value, PnL, every open position with leverage, liquidation price and how far price is from it, and its open orders (limits, stops and take-profits).
| Argument | Type | Description |
|---|---|---|
| address* | string | Hyperliquid wallet address, 0x... |
{
"type": "object",
"title": "walletArguments",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"title": "Address",
"description": "Hyperliquid wallet address, 0x..."
}
}
}