Contents

Security incidents

Security view, newest first: detector events (Hyperliquid manipulation patterns, possible ADL, oracle / mark deviations, HLP vault drawdowns, market-wide liquidation surges, stablecoin depegs from Chainlink feeds read on-chain, outflows from bridge and lending contracts listed in the protocols’ own docs) and curated incidents (our own factual summary, amount with its primary source, status, post-mortem and transaction links).

GET/api/v1/security/incidentsEvery keyPaginated

Description

Pattern detectors are matches, not confirmed attacks. Paginated over the newest 500 items.

Who can call it

Available with every key and keyless (X-Blockmetric-Access: public). Keys of Free accounts get free-tier data (real-time feeds, 30 days of history, heatmap over time for every coin over the last 24 hours, liquidation levels now for every coin, the same as the free web plan); Pro and Desk keys the data of their plan; API Dev / API Pro raise the limits.

No key
24 h
Free
30 days
Pro
365 days
Desk
1095 days
API Dev
365 days
API Pro
1095 days

History window per plan. Limits: Authentication & limits.

Parameters

Parameters of /security/incidents
ParameterDescription
originstringall (default) | detector | curated.one of all, detector, curated · default all
typestringIncident type (exploit, hack, rug_pull, oracle_manipulation, market_manipulation, bridge, key_compromise, governance_attack, phishing, depeg, other) or detector type (tvl_drop, outflow, adl, oracle_deviation, vault_drawdown, liquidation_surge) (optional).one of adl, bridge, depeg, exploit, governance_attack, hack, key_compromise, liquidation_surge, market_manipulation, oracle_deviation, oracle_manipulation, other, outflow, phishing, rug_pull, tvl_drop, vault_drawdown
chainstringethereum | arbitrum | base | optimism | polygon | bnb | avalanche | solana | bitcoin | tron | hyperliquid | sui | aptos | ronin | harmony | fantom | starknet | blast | linea | zksync | mantle | sonic | ton | xrp | other (optional).one of ethereum, arbitrum, base, optimism, polygon, bnb, avalanche, solana, bitcoin, tron, hyperliquid, sui, aptos, ronin, harmony, fantom, starknet, blast, linea, zksync, mantle, sonic, ton, xrp, other
minSeverityinteger1 info, 2 notable, 3 major, 4 critical; default 1.1–4 · default 1
limitintegerNumber of items, default 50, clamped to 1–500.1–500 · default 50
cursorstringNext page: the value of meta.nextCursor from the previous response (keep the other parameters unchanged). Cursors are signed: an edited cursor answers 400; paging stops at the plan history.
fieldsstringComma-separated fields of every item to return, e.g. id,date,title,amountUsd (case-insensitive). All other fields are left out, so large lists get much smaller; an unknown name answers 400 with the list of fields. Default: every field.
formatstringjson (default: the { data, meta } envelope) | csv (the rows with a header line; nested values as JSON text) | ndjson (one JSON object per row and line). csv and ndjson carry the meta block in headers: Link rel="next" and X-Blockmetric-Next-Cursor (next page), X-Blockmetric-Next-After (forward polling), X-Blockmetric-Updated-At, X-Blockmetric-Warnings, X-Blockmetric-License. Errors stay JSON.one of json, csv, ndjson · default json

Response fields

Every success is { data, meta }; these are the fields of data. meta is the same on every endpoint.

Response fields of /security/incidents
FieldDescription
[].idstring"evt_<radar event id>" (detector) or "inc_<incident id>" (curated).
[].origin"detector" | "curated"detector = found by our detectors in market data; curated = an incident written up by us with primary sources.
[].tsstring (ISO 8601)Event time (detector) or publication time (curated).
[].datestringUTC day of the incident (YYYY-MM-DD).
[].kindstringRadar event kind ("incident" for curated items).
[].typestringIncident type (exploit, oracle_manipulation, …) or detector type (depeg, outflow, adl, …).
[].severity"1" | "2" | "3" | "4"1 info, 2 notable, 3 major, 4 critical.
[].titlestringOne-line factual title in our own words.
[].summarystring · nullableOur own factual text.
[].chains[]array of stringChains involved.
[].coinstring · nullableCoin name as on Hyperliquid (BTC, kPEPE, HIP-3 names like xyz:TSLA).
[].amountUsdnumber · nullableReported loss / flow (USD).
[].statusstring · nullableCurated: unknown | ongoing | funds_frozen | partially_recovered | recovered | not_recovered | resolved.
[].urlstringEvidence page on the website.
[].links[]array of objectsCurated: primary-source links (post-mortem, announcement, tx, address, governance) and coverage links.
[].links[].kindstringKind of the item (enum of this field).
[].links[].urlstringLink (absolute URL).
[].links[].labelstringDisplay label: a public label with a cited source, else the self-chosen leaderboard name (unverified).
[].dataanyDetector: the evidence numbers of the event (JSON). Curated: recoveredUsd, amountSource, txs.

Errors

Code snippets in these docs are licensed under MIT-0: copy them into your own code without attribution. The SDKs, CLI and MCP server will be, once published, Apache-2.0; the name Blockmetric is not licensed (forks must be renamed). Data from the API is governed by the API terms; third-party exchange data by the exchange’s terms.

LiveHyperliquid markets 10sOperationalHyperliquid positions & whales 2sOperationalLiquidation heatmap & levels 3sOperationalLighter markets & liquidations 11sOperationalLighter positions & heatmap 5sOperationalLighter RH positions & heatmap 3sOperationalBinance markets 30sOperationalBybit markets 4sOperationalBinance liquidations 11sOperationalBybit liquidations 11sOperationaldYdX positions & heatmap 2sOperationalGMX positions & heatmap 7sOperationalLong/short & open interest history 55sOperationalOrder books & trade flow 5sOperationalOn-chain transfers 7sOperationalSecurity monitor 38sOperationalBlockmetric Sentiment 12mOperationalOfficial news 1mOperationalAlert delivery 2sOperational10:09:29 UTCData: Blockmetric Research · Binance · Bybit