Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Ironflow: Hyperliquid data

NPM · @IRONFLOWSH/MCP · 2 COMPONENTS

Hyperliquid data and liquidation alerts for AI agents: fills, candles, funding, wallet analytics.

54 Trust /100

Last scanned (2 hours ago)

Scores higher than 30% of npm servers

Category Finance and Payments

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security13
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: the version this server declares is not published in its registry.Unverified
  • No install/post-install scripts declared.Pass
  • Dependency health could not be checked: the version this server declares is not published in its registry.Unverified
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to ironflowsh/mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability67
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 7189 tokens (~159/item across 45 items; 45 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management7
  • Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 46 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 −10
    • Known CVEs: fail → unverified ▼ security
    • Malware scan: pass → unverified ▼ security
    • Provenance: fail → pass ▲ security
    • The attested source repository moved: ironflowsh/mcp security
    • Schema quality: 6169 → 7189 ▼ functional
    • Dependency health: 0.85 → unverified ▼ functional
    • Destructive annotations: pass → 100 functional
    • Package version: 0.12.0 → 0.14.0 functional
    • Package version: 0.12.0 → 0.13.2 functional
  • 4 Nov 26 0
    • Tool safety: pass → unverified ▼ security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • Schema quality: 125 → 154 ▼ functional
    • Security disclosure: unverified → fail ▼ functional
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Stability: unverified → 0.03 ▲ functional
    • First check of Schema quality: unverified functional
    • Schema quality: good → excellent functional
    • Package version: 0.11.2 → 0.12.0 functional
  • 3 Nov 26 64

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/@ironflowsh/mcp@0.14.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo ironflowsh/mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/ironflowsh/mcp/.github/workflows/release.yml@refs/heads/main
Rekor log index 3693150028
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:e411fa6d4a0fb040aa20a8917c1ca38def8d2a46f5b36017f5e6f7cd5ad85655c3c2c3e0c7a05d12f7d0e94dc51497a0c7ae969aed7c8caf42c226fc9

Background: How many MCP packages publish verified provenance →

MCP tools · 45 exposed · ~6,851 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
create_liquidation_alert ~371

Have Ironflow post Hyperliquid liquidations to the user's Discord channel, Slack channel, Telegram chat or HTTPS webhook as they happen (within seconds), filtered by market, side, size and wallet. It keeps running after the conversation: use it when the user wants to be told about liquidations, not just to see them now. Needs an API key (free key: 1 alert; Explorer 5; Builder 20). Give url (a Discord channel webhook from channel settings, Integrations, Webhooks, Copy Webhook URL; a Slack incoming webhook; or any public https URL) or telegram_chat (then tell the user to add the bot named in the result's setup to that chat). A plain webhook gets signed JSON, and its signing_secret appears only in this result, so pass it on. Then call test_liquidation_alert to check that it arrives.

NameTypeReqDescription
addressstring–Only this wallet's liquidations (0x...)
marketsstring–Comma-separated markets, e.g. BTC,ETH-PERP,xyz:NVDA (Hyperliquid names work); omit for every market
min_usdnumber–Smallest liquidation to report, in USD (default 0; 100000 keeps a channel readable)
namestring–Label shown in each message, e.g. BTC whales
sidestring–Which positions: long = longs liquidated (default any)
telegram_chatstring–A Telegram chat instead of url: @channel or group name, or a numeric chat id (-100...)
urlstring–Where to post: https://discord.com/api/webhooks/..., https://hooks.slack.com/services/... or a public https URL (or use telegram_chat)
NameTypeReqDescription
address––Only this wallet, when set
created_at––Creation time, RFC 3339
destination––Host it posts to, without the secret part of the URL
failures––Failed deliveries in a row
id––Alert id (UUID)
last_error––The destination's last error
last_sent_at––Last delivery, RFC 3339; null before the first
markets––Markets watched; empty means every market
min_usd––Smallest liquidation reported, USD
name––Label shown in each message
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
sent_count––Liquidations delivered so far
setup––What to do before the first message arrives (Telegram: the bot to add to the chat)
side––any, long (longs liquidated) or short
signing_secret––Webhooks only: HMAC key for the X-Ironflow-Signature header, shown only here
status––active or disabled (after 20 failed deliveries in a row)
type––webhook, discord, slack or telegram

No examples provided.

delete_liquidation_alert ~51

Stop and remove one Hyperliquid liquidation alert from this API key's account; nothing more is sent to its destination.

NameTypeReqDescription
idstringyesAlert id from list_liquidation_alerts
NameTypeReqDescription
deleted––true
id––The deleted alert's id
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key

No examples provided.

describe_data ~90

Returns the SQL tables of Ironflow's Hyperliquid data (every fill and trade, per-market hourly volume and liquidation totals, per-wallet daily totals, wallet behaviour labels, funding rates and per-wallet funding payments, mark and oracle prices, open interest, liquidations, builder-code fills, transfers, vault flows), their columns, how far back each goes, query tips, worked examples and your own limits.

Input schema present but exposes no named parameters.

NameTypeReqDescription
dialect––SQL dialect and database name
examplesarray–Worked examples
limits––Your tier's limits: history_days, max_execution_seconds, max_rows, budget_seconds_per_hour
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
tablesarray–Queryable tables
tiersarray–Every tier's limits
tipsarray–Query tips

No examples provided.

get_auto_deleveraging ~177

Hyperliquid auto-deleveraging (ADL) fills, newest first, across all markets or one: profitable positions Hyperliquid closed to cover a liquidation its backstop could not absorb. Per fill: wallet, market, side, price, size, notional, realized PnL, trade id (shared with the liquidated side) and transaction hash. Recorded from 2026-08-01; the default window is the last 7 days. For the liquidated side use get_liquidations.

NameTypeReqDescription
daysnumber–How many days back (default 7)
limitnumber–Number of fills (1-1000, default 100)
marketstring–Optional market filter: BTC-PERP or a Hyperliquid name (BTC, xyz:NVDA)
NameTypeReqDescription
count––Fills returned
dataarray–ADL fills
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
recorded_from––First moment recorded, Unix milliseconds

No examples provided.

get_candles ~196

OHLCV candles for one Hyperliquid market, built from every trade: open, high, low, close, volume and trade count per candle, oldest first. Returns the latest 24 candles by default (up to 500), at 1m to 1d intervals. Use it for price history, ranges and charts. For only the current price use get_price; for individual trades use get_recent_trades.

NameTypeReqDescription
intervalstring–Candle interval (1m, 5m, 15m, 1h, 4h, 1d). Default: 1h
limitnumber–Number of candles to return (1-500, default 24)
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
NameTypeReqDescription
dataarray–OHLCV candles
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
paginationobject–Cursor pagination

No examples provided.

get_cohort_addresses ~159

Wallet addresses in one named cohort: up to 100, each with the value the cohort ranks by (realized PnL in USD for top_pnl_30d, volume in USD for high_volume_30d), and fetched_at, when the cohort was last computed. Call list_cohorts first for the names and what each one selects. Feed the addresses to get_user_summary, get_trader_profile or get_wallet_behavior to look at each wallet.

NameTypeReqDescription
namestringyesCohort name from list_cohorts: top_pnl_30d, high_volume_30d, whale_fills, net_withdrawers_7d, liquidation_prone, vault_whales, or a custom cohort you created
NameTypeReqDescription
addressesarray–Wallets
fetched_at––Unix milliseconds
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key

No examples provided.

get_early_movers ~242

Wallets whose large orders (at least $10k) on one Hyperliquid market tended to come before price moved their way within 30 minutes, over the last 7 or 30 days. Per wallet: the number of scored orders, their total notional, a lead score (notional-weighted average 30-minute move in the order's direction, in basis points), a hit rate (share of orders followed by a move their way), the last order time and the share of its large orders cancelled without a fill. Needs at least 5 scored orders per wallet; the response states the formulas. Use it to find wallets worth watching on one market, then check them with get_trader_profile or get_user_state. Past activity does not predict future results.

NameTypeReqDescription
limitnumber–Number of wallets (1-25, default 10)
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
windowstring–Lookback window. Default 30d
NameTypeReqDescription
formula––How the lead score is computed
market––Display symbol, e.g. "BTC-PERP" or "xyz:NVDA-PERP"
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
signalsarray–Wallets
window––Lookback window, e.g. "30d"

No examples provided.

get_fills ~121

Every fill for one Hyperliquid wallet, optionally for one market, from indexed history: price, size, side, fee and realized PnL. Hyperliquid's own userFills endpoints stop at the 10,000 most recent fills.

NameTypeReqDescription
addressstringyesWallet address (e.g. 0x...)
limitnumber–Number of fills (1-100, default 20)
marketstring–Optional market filter: BTC-PERP or a Hyperliquid name (BTC, xyz:NVDA)
NameTypeReqDescription
dataarray–Fills for one wallet, newest first
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
paginationobject–Cursor pagination

No examples provided.

get_funding_rates ~100

Hourly funding rate history for a Hyperliquid perp, including HIP-3 builder perps. A positive rate means longs pay shorts.

NameTypeReqDescription
limitnumber–Number of funding rate entries (1-100, default 10)
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
NameTypeReqDescription
dataarray–Hourly funding rates
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
paginationobject–Cursor pagination

No examples provided.

get_funding_stats ~123

Funding statistics per time bucket for a Hyperliquid perp: average, minimum, maximum and annualized rate.

NameTypeReqDescription
intervalstring–Time interval (1h, 4h, 8h, 1d, 7d). Default: 1d
limitnumber–Number of data points (default 7)
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
NameTypeReqDescription
dataarray–Buckets
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key

No examples provided.

get_liquidation_levels ~141

Liquidated notional on a Hyperliquid perp bucketed by price: where longs and shorts were wiped out. Needs an API key (a free key works, https://ironflow.sh/key); keyless calls return 403.

NameTypeReqDescription
bucket_sizestring–Price bucket size (1, 5, 10, 50, 100, 500, 1000, 5000). Default: 100
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
NameTypeReqDescription
dataarray–Price buckets
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key

No examples provided.

get_liquidation_summary ~211

Liquidations on Hyperliquid over a trailing window, totalled across every market or the ones named: count, wallets, notional, longs vs shorts liquidated, the top markets and the largest single liquidation with its price. Use it for 'who got liquidated in the last hour?' or 'how much was liquidated today?'. For the individual liquidations use get_liquidations; for liquidation prices still ahead use get_liquidation_levels. Windows from 15m to 24h without a key, 7d with one. Totals are computed by the API over every liquidation, not sampled.

NameTypeReqDescription
marketstring–Optional: one market or a comma list (BTC-PERP,ETH-PERP); Hyperliquid names work (BTC, xyz:NVDA)
minutesnumber–Older form of window, rounded up to the next one (90 becomes 4h)
windowstring–Trailing window. Default 1h
NameTypeReqDescription
by_marketarray–Top markets by liquidated notional
complete––Always true: totals cover every liquidation in the window
count––Number of liquidations
from––Window start, Unix milliseconds
largestobject–Largest single liquidation, or null when there were none
longs_liquidated_usd––Notional of liquidated longs in USD
market––Market filter, or null for all markets
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
notional_usd––Liquidated notional in USD
shorts_liquidated_usd––Notional of liquidated shorts in USD
to––Window end, Unix milliseconds
wallets––Distinct wallets liquidated
window––Trailing window, e.g. 1h

No examples provided.

get_liquidations ~108

Liquidations on a Hyperliquid perp, read from our own nodes: price, size, side and the liquidated wallet. Hyperliquid's public API has no liquidation feed.

NameTypeReqDescription
limitnumber–Number of liquidation events (1-100, default 20)
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
NameTypeReqDescription
dataarray–Liquidations
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
paginationobject–Cursor pagination

No examples provided.

get_mark_prices ~153

Latest mark price, oracle price and current hourly funding rate of one Hyperliquid perp, with the time of the reading. The funding rate is a fraction per hour (0.0000125 = 0.00125%); positive means longs pay shorts. Use it when you need the oracle price or funding next to the mark, for example for basis or premium. For only the price use get_price, for funding history get_funding_rates, and for many markets at once get_markets_snapshot.

NameTypeReqDescription
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
NameTypeReqDescription
dataarray–Mark price samples
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
paginationobject–Cursor pagination

No examples provided.

get_market_leaders ~114

The best traders on one Hyperliquid market, ranked by profit factor then win rate, among wallets with at least 5 closed trades there.

NameTypeReqDescription
limitnumber–Number of traders (1-50, default 20)
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
windowstring–Lookback window. Default 30d
NameTypeReqDescription
market––Display symbol, e.g. "BTC-PERP" or "xyz:NVDA-PERP"
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
tradersarray–Traders
window––Lookback window, e.g. "30d"

No examples provided.

get_market_top_wallets ~180

Top wallets on one Hyperliquid market by volume or realized PnL, up to 200 rows.

NameTypeReqDescription
fromstring–Window start: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z). Default 24 hours ago
limitnumber–Number of rows, max 200, default 25
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
sort_bystring–Ranking metric
tostring–Window end: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z). Default now
NameTypeReqDescription
dataarray–Wallets
from––Window start, Unix milliseconds
market––Display symbol, e.g. "BTC-PERP" or "xyz:NVDA-PERP"
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
sort_by––Ranking metric
to––Window end, Unix milliseconds

No examples provided.

get_markets_snapshot ~201

Active Hyperliquid markets ranked in one call: mark price, 24h change, 24h volume, open interest and current hourly funding. Sort by abs_funding for the most extreme funding, abs_change_24h for the biggest movers, or volume (default). Use min_volume_usd to skip illiquid markets. Returns the top 25 unless limit is set.

NameTypeReqDescription
issuerstring–HIP-3 builder code (e.g. 'xyz'). Omit to include every issuer.
limitnumber–Rows to return (1-200, default 25)
market_classstring–Filter to one class
min_volume_usdnumber–Skip markets with less 24h volume than this (USD)
orderstring–desc (default) or asc
sort_bystring–Ranking key (default volume). funding_rate is hourly; positive means longs pay shorts.
NameTypeReqDescription
dataarray–Ranked markets
matched––Markets past the volume floor
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
order––desc or asc
returned––Rows in data
sort_by––Ranking key used
total_markets––Active markets before filtering

No examples provided.

get_open_interest ~122

Latest open interest of one Hyperliquid perp in units of the base asset (BTC for BTC-PERP), with its 24-hour traded volume in USD and the time of the reading. Multiply by get_price for open interest in USD. To compare open interest across markets use get_markets_snapshot; for its history use run_query (see describe_data).

NameTypeReqDescription
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
NameTypeReqDescription
dataarray–Open interest samples
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
paginationobject–Cursor pagination

No examples provided.

get_open_interest_changes ~245

Hyperliquid perps ranked by how their open interest moved over the last 1h, 4h, 24h or 7d: open interest at the start and now (in coins), the change in USD at the latest mark and in percent. Sorted by the size of the USD change by default, or by percent. Filter to one HIP-3 dex (xyz) or to native perps only. Markets with less than $100k of open interest at both ends are left out unless you lower min_oi_usd. Use it for 'where is money flowing in or out'. For one market's latest open interest use get_open_interest.

NameTypeReqDescription
dexstring–Optional: a HIP-3 dex such as xyz, or native for validator-run perps
limitnumber–Number of markets (1-200, default 25)
min_oi_usdnumber–Leave out markets below this open interest in USD (default 100000)
sortstring–Rank by USD change (default) or percent change
windowstring–Lookback window (default 24h)
NameTypeReqDescription
count––Markets returned
dataarray–Markets
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
sort––usd or pct
window––Lookback window: 1h, 4h, 24h or 7d

No examples provided.

get_outcome_markets ~193

Hyperliquid HIP-4 outcome markets (prediction markets on sports, central bank decisions, IPOs and daily BTC price contracts) over the last 4 hours, 1 day or 1 week: total volume, fills, wallets and active markets, plus the most traded outcomes with their last price (the implied probability, 0 to 1) and last-24-hour volume. Each outcome has a Yes and a No side whose prices sum to 1. For one outcome's trades or candles pass its symbol to get_recent_trades or get_candles; settled outcomes stay queryable. For per-wallet outcome activity use run_query on hl.wallet_daily with market_class = 'prediction'.

NameTypeReqDescription
limitnumber–Number of outcomes to return, most traded first (1-200, default 20)
windowstring–Lookback window for the totals (default 1d)
NameTypeReqDescription
computed_at––When the summary was computed, Unix seconds
fills_total––Fills over the window
markets_active––Outcome markets listed now
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
notional_total––Volume in USD over the window
top_marketsarray–Most traded outcomes, highest 24h volume first
wallets_total––Wallets that traded over the window
window_hours––Window of the totals, in hours

No examples provided.

get_pnl_leaderboard ~152

Every Hyperliquid wallet ranked by realized PnL, biggest losses or volume over a window. Wallets with fewer than 5 fills in the window are left out.

NameTypeReqDescription
fromstring–Window start: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z). Default 30 days ago
limitnumber–Number of rows, max 200, default 50
sort_bystring–Ranking metric
tostring–Window end: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z). Default now
NameTypeReqDescription
dataarray–Wallets
from––Window start, Unix milliseconds
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
sort_by––Ranking metric
to––Window end, Unix milliseconds

No examples provided.

get_positions_at ~191

Exact perp positions one Hyperliquid wallet held at a past moment, up to 90 days back: market, side, signed size, mark price and notional at that moment, plus today's size and how many fills it made since. Built from Hyperliquid's live positions minus the wallet's fills after that moment, so sizes are exact across native and HIP-3 perps. Needs a free API key; how far back you can go follows the key's history window. Use it for questions like 'what was this wallet holding before the crash'. For positions right now use get_user_state; for trades in between use get_fills.

NameTypeReqDescription
addressstringyes0x-prefixed 20-byte hex address
atstringyesThe past moment: ISO 8601 (2026-11-01T12:00:00Z), unix seconds or unix milliseconds
NameTypeReqDescription
address––Wallet address (0x…)
at––The moment, Unix milliseconds
count––Positions returned
method––How the sizes were rebuilt
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
positionsarray–Positions, largest notional first

No examples provided.

get_premium ~212

A Hyperliquid perp's mark price against its oracle price over time, with the premium in basis points ((mark / oracle - 1) x 10,000) per bucket and a summary (latest, mean, min, max). On HIP-3 stock, index and commodity perps such as xyz:NVDA-PERP, xyz:GOLD-PERP or xyz:SP500-PERP the oracle follows the underlying, so this shows how far the perp trades from what it tracks, weekends included. Default 1h buckets over the last 7 days. For funding payments use get_funding_rates.

NameTypeReqDescription
daysnumber–How many days back (default 7; limited by your key's history window)
intervalstring–Bucket size (default 1h)
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
NameTypeReqDescription
dataarray–Buckets, oldest first
interval––Bucket size
market––Display symbol, e.g. "BTC-PERP" or "xyz:NVDA-PERP"
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
summaryobject–Premium over the window, in basis points

No examples provided.

get_price ~131

Latest mark price of one Hyperliquid market as a single number: native perps, HIP-3 builder perps (e.g. xyz:NVDA-PERP) and spot. The quickest answer to 'what is X trading at'. For the oracle price and funding use get_mark_prices; for price history use get_candles; to compare many markets at once use get_markets_snapshot.

NameTypeReqDescription
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
NameTypeReqDescription
market––Display symbol, e.g. "BTC-PERP" or "xyz:NVDA-PERP"
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
price––Price in USD

No examples provided.

get_recent_trades ~114

Latest tick-level trades on a Hyperliquid market from our own nodes: price, size, side and block time. Covers native perps, HIP-3 builder markets, HIP-4 outcomes and spot.

NameTypeReqDescription
limitnumber–Number of trades to return (1-100, default 20)
marketstringyesMarket: BTC-PERP, xyz:NVDA-PERP, HYPE/USDC, or a Hyperliquid name (BTC, @107, xyz:NVDA)
NameTypeReqDescription
dataarray–Trades, newest first
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
paginationobject–Cursor pagination

No examples provided.

get_status ~26

Ironflow service status right now: overall state, data freshness per venue and component health.

Input schema present but exposes no named parameters.

NameTypeReqDescription
components––data_pipeline, rest_api and streaming health
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
platform––Event and market counts
status––operational, degraded or down
timestamp––Unix milliseconds
uptime––Time since the last incident
venues––Freshness per venue

No examples provided.

get_status_history ~115

Ironflow's own uptime over the last 24 hours (default) or 7 days: points over the period, each with the service status and how fresh the data was in seconds, plus the overall uptime percent. Use it to check whether a gap or odd value in other results came from an Ironflow outage. For the status right now use get_status; for API latency and error rates use get_status_metrics.

NameTypeReqDescription
periodstring–Lookback window. '24h' (default) or '7d'.
NameTypeReqDescription
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
period––24h or 7d
pointsarray–Hourly buckets
uptime_percent––Share of operational hours

No examples provided.

get_status_metrics ~29

Ironflow performance over rolling windows: API latency and error rate, ingestion lag and synthetic probe timings.

Input schema present but exposes no named parameters.

NameTypeReqDescription
api––Latency and error rate
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
pipeline––Ingestion latency and throughput
synthetic––Synthetic probe latencies
timestamp––Unix milliseconds

No examples provided.

get_top_traders ~118

Hyperliquid traders ranked across all markets by results over 7, 30 or 90 days: win rate, profit factor, realized PnL, max drawdown and best markets. sort=top ranks by realized PnL, lowrisk by smallest max drawdown, new by most recently first seen.

NameTypeReqDescription
limitnumber–Number of traders (1-50, default 20)
sortstring–Ranking. Default top
windowstring–Lookback window. Default 30d
NameTypeReqDescription
aggregateobject–Totals
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
sort––Ranking used
tradersarray–Traders
window––Lookback window, e.g. "30d"

No examples provided.

get_trader_profile ~173

How good and how risky one Hyperliquid trader is over 7, 30 or 90 days, rebuilt from its fills: overall win rate, profit factor, trade count, realized PnL and max drawdown; the same numbers per market; its liquidations; and its trades from open to close with direction, timing and peak size. Use it to vet a wallet before following it. For plain totals over any time range use get_user_summary; for positions open right now use get_user_state; for style labels such as market_maker use get_wallet_behavior. A 90d window on a very active wallet can take several seconds.

NameTypeReqDescription
addressstringyes0x-prefixed 20-byte hex address
windowstring–Lookback window. Default 30d
NameTypeReqDescription
address––Wallet address (0x…)
liquidation_count––Liquidations in the window
marketsarray–Best markets, ranked
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
overallobject–Headline stats
trades––Recent round-trip trades
window––Lookback window, e.g. "30d"

No examples provided.

get_user_funding ~221

Funding a Hyperliquid wallet paid or received, per market per bucket: Hyperliquid's own ledger, every hourly payment back to September 2025 (Hyperliquid's API returns only daily totals that far back). Positive means received, negative means paid. bucket=1d gives daily totals, 1h the hourly payments.

NameTypeReqDescription
addressstringyes0x-prefixed 20-byte hex address
bucketstring–Aggregation bucket; default 1d
fromstring–Window start: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z)
limitnumber–Most recent rows to return (default 200)
marketstring–Optional market filter: BTC-PERP or a Hyperliquid name (BTC, xyz:NVDA)
tostring–Window end: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z)
NameTypeReqDescription
address––Wallet address (0x…)
bucket––Bucket size
dataarray–Buckets
from––Window start, Unix milliseconds
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
returned––Rows in data, most recent first
to––Window end, Unix milliseconds
total_rows––Rows in the window before the limit

No examples provided.

get_user_ledger ~185

Vault deposits, withdrawals and transfers for a Hyperliquid wallet. Positive amounts go into the account. Account deposits and withdrawals are recorded only up to 2026-06-06.

NameTypeReqDescription
addressstringyes0x-prefixed 20-byte hex address
event_typesstring–Comma-separated type filter (deposit,withdrawal,vault_deposit,vault_withdraw,vault_transfer_in,vault_transfer_out)
fromstring–Window start: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z)
limitnumber–Max entries, default 1000, cap 10000
tostring–Window end: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z)
NameTypeReqDescription
address––Wallet address (0x…)
dataarray–Ledger entries
from––Window start, Unix milliseconds
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
to––Window end, Unix milliseconds

No examples provided.

get_user_maker_taker ~159

Maker vs taker breakdown of a Hyperliquid wallet's fills per market: volume, fees and rebates. A high maker share with negative maker fees marks a market maker.

NameTypeReqDescription
addressstringyes0x-prefixed 20-byte hex address
fromstring–Window start: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z)
marketstring–Optional market filter: BTC-PERP or a Hyperliquid name (BTC, xyz:NVDA)
tostring–Window end: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z)
NameTypeReqDescription
address––Wallet address (0x…)
dataarray–Per market
from––Window start, Unix milliseconds
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
to––Window end, Unix milliseconds
totalobject–All markets

No examples provided.

get_user_pnl_series ~209

Realized PnL of one Hyperliquid wallet over time: buckets with realized PnL and fees paid in each, by default daily over the last 30 days. Add the buckets up for a running PnL curve. Realized only: unrealized PnL on open positions is in get_user_state. For totals over a range use get_user_summary.

NameTypeReqDescription
addressstringyes0x-prefixed 20-byte hex address
bucket_msnumber–Bucket size in milliseconds: 3600000 for hourly, 86400000 for daily (default)
fromstring–Window start: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z). Default 30 days ago
tostring–Window end: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z). Default now
NameTypeReqDescription
address––Wallet address (0x…)
bucket––Bucket size
dataarray–Buckets
from––Window start, Unix milliseconds
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
to––Window end, Unix milliseconds

No examples provided.

get_user_state ~66

Open positions and unrealized PnL for a Hyperliquid wallet right now, across native and HIP-3 perps. Use it for questions like 'is this wallet long or short?'

NameTypeReqDescription
addressstringyes0x-prefixed 20-byte hex address
NameTypeReqDescription
address––Wallet address (0x…)
as_of_ts––Snapshot time, Unix milliseconds
asset_positionsarray–Open positions
margin_summaryobject–Account totals
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key

No examples provided.

get_user_summary ~212

Totals for one Hyperliquid wallet over a time range (default the last 24 hours): fill count, volume in USD, realized PnL, fees, wins, losses, win rate and maker versus taker share, plus its current account state (open positions and margin). Use it for questions like 'how much did this wallet trade or make this week'. For a scored record with profit factor, drawdown and a per-market breakdown use get_trader_profile; for PnL over time use get_user_pnl_series.

NameTypeReqDescription
addressstringyes0x-prefixed 20-byte hex address
fromstring–Window start: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z). Default 24 hours ago
tostring–Window end: Unix ms or seconds, or ISO 8601 (2026-10-01T00:00:00Z). Default now
NameTypeReqDescription
address––Wallet address (0x…)
from––Window start, Unix milliseconds
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
stateobject–Open positions right now
to––Window end, Unix milliseconds
windowobject–Window totals

No examples provided.

get_vault_leaderboard ~87

Hyperliquid vaults ranked by net deposits (deposits minus withdrawals) over the last 7 days, with depositor counts. Keyless calls see the last 24 hours; a free key from https://ironflow.sh/key gives the full 7 days.

NameTypeReqDescription
limitnumber–Number of vaults (default 10, max 1000)
NameTypeReqDescription
dataarray–Vaults
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
window_days––Days covered (keyless: 1); absent when served by the Builder endpoint

No examples provided.

get_vault_operations ~117

Deposits into and withdrawals from one Hyperliquid vault or one depositor. Pass vault, address, or both; at least one is required (HLP is 0xdfc24b077bc1425ad1dea75bcb6f8158e10df303).

NameTypeReqDescription
addressstring–Depositor address (vault or address is required)
limitnumber–Number of events (1-100, default 20)
vaultstring–Vault address (vault or address is required)
NameTypeReqDescription
dataarray–Vault deposits and withdrawals
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
paginationobject–Cursor pagination

No examples provided.

get_wallet_behavior ~196

How Hyperliquid wallets trade, from their last 30 days: labels (market_maker, high_frequency, whale, directional, consistent_winner, big_loser, revenge_sizing, often_liquidated, hip3_trader, spot_trader, prediction_trader) and the numbers behind them (maker share, buy/sell imbalance, fills per day, green-day share, profit factor, liquidations). Look up specific addresses, or list wallets with one label.

NameTypeReqDescription
addressesstring–Comma-separated wallet addresses (up to 50). Omit to list wallets instead.
labelstring–Only wallets carrying this label
limitnumber–Wallets to return (default 20, max 100)
min_volume_usdnumber–Only wallets with at least this 30-day volume
sort_bystring–Sort order when listing (default volume)
NameTypeReqDescription
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
walletsarray–Wallets
window_days––Days the features cover

No examples provided.

get_wallet_labels ~120

Labels for notable Hyperliquid wallets: top whales by 24h volume, top traders by 30-day realized PnL, vaults and vault leaders. Pass addresses to check specific wallets; without them it lists the whales and smart money.

NameTypeReqDescription
addressesstring–Comma-separated wallet addresses to look up
smart_top_nnumber–Top N smart-money wallets to include (max 500, default 100)
whale_top_nnumber–Top N whales to include (max 500, default 100)
NameTypeReqDescription
counts––Wallets per label kind
generated_at––Unix milliseconds
labelsobject–Address to its labels
note––What the labels map includes
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
source––Venue, always hyperliquid
ttl_seconds––Cache lifetime

No examples provided.

list_cohorts ~61

List available address cohorts: six predefined groups (top_pnl_30d, high_volume_30d, whale_fills, net_withdrawers_7d, liquidation_prone, vault_whales) plus any custom cohorts the caller has created

Input schema present but exposes no named parameters.

NameTypeReqDescription
dataarray–Cohorts
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key

No examples provided.

list_liquidation_alerts ~92

The Hyperliquid liquidation alerts on this API key's account: where each posts (host only), its filter, whether it is active, failed deliveries in a row with the last error, liquidations sent so far, and how many alerts the tier allows. An alert is disabled after 20 failed deliveries in a row; test_liquidation_alert re-enables it once the destination works again.

Input schema present but exposes no named parameters.

NameTypeReqDescription
alertsarray–Alerts
limit––Alerts this tier allows
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key

No examples provided.

list_markets ~253

Find how a Hyperliquid market is named: perps (native and HIP-3), spot and live HIP-4 outcomes, with symbol, class, issuer, base asset and Hyperliquid coin. Search with q (q=nvda finds xyz:NVDA-PERP and the other NVDA perps). Pages of up to 100 rows; pass pagination.next_cursor as cursor for the next page.

NameTypeReqDescription
cursorstring–pagination.next_cursor from the previous page, with the same filters
include_inactiveboolean–Also return closed markets (delisted, settled HIP-4 outcomes), which carry active_to_ms. Default false.
issuerstring–HIP-3 issuer code (e.g. 'xyz'). '' returns native markets only. Omit for every issuer.
limitnumber–Rows per page (default 100, max 100)
market_classstring–Only this class. 'prediction' is HIP-4 outcomes. Omit for all.
qstring–Case-insensitive search over symbol, base asset, Hyperliquid coin and issuer
sourcestring–Venue. Default 'hyperliquid'.
NameTypeReqDescription
dataarray–Markets
matched––Markets matching the filters and search, across all pages
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
paginationobject–Cursor pagination
returned––Rows in data

No examples provided.

run_query ~225

Run one read-only ClickHouse SELECT over Ironflow's Hyperliquid tables (hl.fills, hl.trades, hl.wallet_fills, hl.wallet_daily, hl.wallet_behavior, hl.market_hourly, hl.funding, hl.funding_payments, hl.mark_prices, hl.oracle_prices, hl.open_interest, hl.liquidations, hl.builder_fills, hl.transfers, hl.vault_operations). For volume, taker flow or liquidation totals per market over hours to months read hl.market_hourly, not hl.fills; call describe_data for columns. Aggregate in SQL: results are capped (1,000 rows keyless). Keyless: last 24 hours, 5 s per query, 60 query seconds per hour per IP; a free key from https://ironflow.sh/key gives 30 days of history.

NameTypeReqDescription
max_rowsnumber–Most rows to return (default 200, capped by your tier)
sqlstringyesOne ClickHouse SELECT (or WITH ... SELECT) over hl.* tables, without a FORMAT clause
NameTypeReqDescription
budget_remaining_seconds––Query seconds left this hour
column_typesarray–ClickHouse types in row order
columnsarray–Column names in row order
limits––Your tier's limits
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
row_count––Rows returned
rowsarray–Rows as positional arrays
stats––elapsed_ms, rows_read, bytes_read
truncated––true when more rows existed than were returned

No examples provided.

test_liquidation_alert ~89

Send a sample Hyperliquid liquidation, marked as a test, to an alert's destination now and report whether it arrived (delivered true or false, with the destination's answer). A delivered test switches a disabled alert back on. One test per alert every 10 seconds.

NameTypeReqDescription
idstringyesAlert id from create_liquidation_alert or list_liquidation_alerts
NameTypeReqDescription
delivered––Whether the destination accepted the test message
error––The destination's answer when it was not delivered
notice––Present when the API added a note: how a market name was read, that data starts later than asked because of the history window, or a next step such as a free key
status––The alert's status afterwards

No examples provided.

Install

How do I install the Ironflow: Hyperliquid data MCP server?

Ironflow: Hyperliquid data runs locally as an npm package, launched with npx -y @ironflowsh/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @ironflowsh/mcp

# add to Claude Code
claude mcp add ironflowsh-hyperliquid -- npx -y @ironflowsh/mcp
Common questions

What is the Ironflow: Hyperliquid data MCP server?

Ironflow: Hyperliquid data is an MCP server listed in the public MCP registry as io.github.ironflowsh/hyperliquid. Hyperliquid data and liquidation alerts for AI agents: fills, candles, funding, wallet analytics. This page covers its npm package (@ironflowsh/mcp).

Is the Ironflow: Hyperliquid data MCP server safe to use?

Ironflow: Hyperliquid data scores 54 out of 100 on VerifyMCP. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Ironflow: Hyperliquid data MCP server expose?

Ironflow: Hyperliquid data exposes 45 tools: describe_data, run_query, get_wallet_behavior, get_price, get_recent_trades, and 40 more. Their descriptions and schemas cost roughly 6,851 tokens of context every time the server is loaded.

Is the Ironflow: Hyperliquid data MCP server still maintained?

Ironflow: Hyperliquid data is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Ironflow: Hyperliquid data MCP server under?

Ironflow: Hyperliquid data declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.