{"openapi":"3.1.0","info":{"title":"hyperextend — Hyperliquid market-data archive","version":"1.0.0","description":"By-the-minute Hyperliquid market-data archive, paid per request via x402 (no signup, no API key). Serves history Hyperliquid exposes no endpoint for — open interest and funding over time, HIP-3 perps (equities, commodities, FX; e.g. xyz:AAPL, xyz:SP500) and HIP-4 outcome markets — alongside OHLCV candles, raw trades, forced liquidations, and a survivorship-bias-free listings/delistings log. Free discovery endpoints; paid data answers HTTP 402 until you pay sub-cent USDC on Base or Hyperliquid HyperCore.","x-guidance":"Free discovery first: GET /v1/discovery to orient (dexes, coins, intervals, availability lag). Paid data — candles, open interest (/v1/asset_ctx), and HIP-4 outcome markets — answers 402 until you pay via x402 v2: read the PAYMENT-REQUIRED header and retry with a PAYMENT-SIGNATURE header. The 402's `accepts` offers two rails — Base (USDC, eip155:8453) and Hyperliquid HyperCore (hyperliquid:mainnet, the same USDC you trade and open positions with). Price = $0.001/request + a per-row rate ($0.00001 base, $0.000025 premium), capped at 5000 rows/page; paginate with the X-Next-Start response header. Omit start/end on a range endpoint for the most-recent page. Candle history runs to ~2 days ago; for fresher data query Hyperliquid directly. Raw trades (/v1/trades/{coin}) mirror HL's WsTrade verbatim (incl. the buyer/seller addresses and trade hash), priced PER ASSET-HOUR ($0.015 base, $0.03 HIP-3/HIP-4) plus $0.05 per uncached archive hour pulled, up to 24 asset-hours/request — and carry NO availability lag (served live). Forced liquidations (/v1/liquidations/{coin}) are an archive-derived tape (Hyperliquid has no public liquidations feed) priced a third of trades per asset-hour ($0.005 base, $0.01 HIP-3/HIP-4) plus the same $0.05 per uncached archive hour, available ~2h after the hour closes. Buyer guide: https://hyperextend.xyz/docs."},"servers":[{"url":"https://api.hyperextend.xyz","description":"Production"}],"paths":{"/health":{"get":{"operationId":"health_check","summary":"Liveness + asset count.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"security":[]}},"/v1/discovery":{"get":{"operationId":"discovery","summary":"Dex/coin counts, intervals, availability lag — orient before paying.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"security":[]}},"/v1/dexes":{"get":{"operationId":"list_dexes","summary":"Every dex (main, HIP-3, HIP-4) with first/last seen.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}},"security":[]}},"/v1/coins/{coin}":{"get":{"operationId":"coin_dexes","summary":"Which dexes a coin trades on.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"}],"security":[]}},"/v1/outcome_markets":{"get":{"operationId":"outcome_markets","summary":"HIP-4 outcome markets trading during a window (epoch-ms start/end, both optional) — name + the purchasable side coins + outcome id, so you can pivot into the paid candles/ctx/oi reads.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}},"parameters":[{"name":"start","in":"query","required":false,"schema":{"type":"integer"},"description":"Window start (ms for candles, s for ctx). Omit for the most-recent page."},{"name":"end","in":"query","required":false,"schema":{"type":"integer"},"description":"Window end; clipped to the availability cutoff. Omit for the most-recent page."}],"security":[]}},"/v1/availability/{coin}":{"get":{"operationId":"availability","summary":"Per-dex first/last for ctx + candles.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"}],"security":[]}},"/v1/coverage/{coin}":{"get":{"operationId":"coverage","summary":"Gap manifest for OI/ctx over a window.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"},{"name":"start","in":"query","required":false,"schema":{"type":"integer"},"description":"Window start (ms for candles, s for ctx). Omit for the most-recent page."},{"name":"end","in":"query","required":false,"schema":{"type":"integer"},"description":"Window end; clipped to the availability cutoff. Omit for the most-recent page."}],"security":[]}},"/v1/candles/{coin}/coverage":{"get":{"operationId":"candle_coverage","summary":"Gap manifest for candles over a window.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"},{"name":"start","in":"query","required":false,"schema":{"type":"integer"},"description":"Window start (ms for candles, s for ctx). Omit for the most-recent page."},{"name":"end","in":"query","required":false,"schema":{"type":"integer"},"description":"Window end; clipped to the availability cutoff. Omit for the most-recent page."}],"security":[]}},"/v1/trades/discovery":{"get":{"operationId":"trades_discovery","summary":"Trades model: served-live + archive floor + window cap + pricing; ?coin= adds hot first/last.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"parameters":[{"name":"coin","in":"query","required":false,"schema":{"type":"string"},"description":"Optional coin to add its hot-window first/last (e.g. BTC)."}],"security":[]}},"/v1/trades/cache":{"get":{"operationId":"trades_cache","summary":"Archive hours already warm in the cold cache (coalesced windows) — readable with no cold-pull fee; trades and liquidations share the cache.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"security":[]}},"/v1/liquidations/discovery":{"get":{"operationId":"liquidations_discovery","summary":"Liquidations model: archive floor + ~2h lag + window cap + pricing; ?coin= adds dex + rate.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}},"parameters":[{"name":"coin","in":"query","required":false,"schema":{"type":"string"},"description":"Optional coin to add its dex + per-asset-hour rate (e.g. BTC)."}],"security":[]}},"/v1/candles/{coin}/{interval}":{"get":{"operationId":"candles","summary":"OHLCV candles over a window — main, spot, HIP-3 (e.g. xyz:AAPL, xyz:SP500) and HIP-4 outcome markets; intervals 1m to 1d. Priced per row ($0.00001 base for main/spot, $0.000025 premium for HIP-3/HIP-4); paginate with the X-Next-Start header (≤5000 rows/page). Candles lag ~2 days (reconstructed from the archive); omit start/end for the most-recent page.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"402":{"description":"Payment Required (x402) — pay and retry with PAYMENT-SIGNATURE."}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"},{"name":"interval","in":"path","required":true,"schema":{"type":"string"},"example":"1m"},{"name":"start","in":"query","required":false,"schema":{"type":"integer"},"description":"Window start (ms for candles, s for ctx). Omit for the most-recent page."},{"name":"end","in":"query","required":false,"schema":{"type":"integer"},"description":"Window end; clipped to the availability cutoff. Omit for the most-recent page."},{"name":"dex","in":"query","required":false,"schema":{"type":"string"},"description":"Dex name (default 'main'; HIP-3 dexes bill at the premium rate)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Max rows per page (≤5000). Paginate with the X-Next-Start response header."}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"0.126000"},"protocols":[{"x402":{}}]}}},"/v1/candles/{coin}/{interval}/latest":{"get":{"operationId":"candles_latest","summary":"The most-recent N OHLCV candles (≤5000). Same per-row pricing as the windowed read ($0.00001 base for main/spot, $0.000025 premium for HIP-3/HIP-4); candles lag ~2 days.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"402":{"description":"Payment Required (x402) — pay and retry with PAYMENT-SIGNATURE."}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"},{"name":"interval","in":"path","required":true,"schema":{"type":"string"},"example":"1m"},{"name":"n","in":"query","required":false,"schema":{"type":"integer"},"description":"Number of most-recent rows to return (≤5000)."},{"name":"dex","in":"query","required":false,"schema":{"type":"string"},"description":"Dex name (default 'main'; HIP-3 dexes bill at the premium rate)."}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"0.126000"},"protocols":[{"x402":{}}]}}},"/v1/asset_ctx/{coin}":{"get":{"operationId":"asset_ctx","summary":"Open interest / funding / mark / oracle / mid / volumes over a window — the OI & funding history Hyperliquid keeps no endpoint for. Priced per row ($0.000025 premium); paginate with the X-Next-Start header (≤5000 rows/page). Served live (no lag).","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"402":{"description":"Payment Required (x402) — pay and retry with PAYMENT-SIGNATURE."}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"},{"name":"start","in":"query","required":false,"schema":{"type":"integer"},"description":"Window start (ms for candles, s for ctx). Omit for the most-recent page."},{"name":"end","in":"query","required":false,"schema":{"type":"integer"},"description":"Window end; clipped to the availability cutoff. Omit for the most-recent page."},{"name":"dex","in":"query","required":false,"schema":{"type":"string"},"description":"Dex name (default 'main'; HIP-3 dexes bill at the premium rate)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Max rows per page (≤5000). Paginate with the X-Next-Start response header."}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"0.126000"},"protocols":[{"x402":{}}]}}},"/v1/asset_ctx/{coin}/latest":{"get":{"operationId":"asset_ctx_latest","summary":"The most-recent N open-interest / funding / ctx rows (≤5000). Priced per row ($0.000025 premium); served live (no lag).","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"402":{"description":"Payment Required (x402) — pay and retry with PAYMENT-SIGNATURE."}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"},{"name":"n","in":"query","required":false,"schema":{"type":"integer"},"description":"Number of most-recent rows to return (≤5000)."},{"name":"dex","in":"query","required":false,"schema":{"type":"string"},"description":"Dex name (default 'main'; HIP-3 dexes bill at the premium rate)."}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"0.126000"},"protocols":[{"x402":{}}]}}},"/v1/outcome_ctx/{coin}":{"get":{"operationId":"outcome_ctx","summary":"HIP-4 outcome-side mark / mid (implied probability) / circulating-supply / volumes over a window. Priced per row ($0.000025 premium); paginate with the X-Next-Start header (≤5000 rows/page); served live. Coin is the encoded '#<10*outcome+side>' (e.g. %231000).","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"402":{"description":"Payment Required (x402) — pay and retry with PAYMENT-SIGNATURE."}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"},{"name":"start","in":"query","required":false,"schema":{"type":"integer"},"description":"Window start (ms for candles, s for ctx). Omit for the most-recent page."},{"name":"end","in":"query","required":false,"schema":{"type":"integer"},"description":"Window end; clipped to the availability cutoff. Omit for the most-recent page."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Max rows per page (≤5000). Paginate with the X-Next-Start response header."}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"0.126000"},"protocols":[{"x402":{}}]}}},"/v1/outcome_ctx/{coin}/latest":{"get":{"operationId":"outcome_ctx_latest","summary":"The most-recent N HIP-4 outcome-side rows (≤5000). Priced per row ($0.000025 premium); served live.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"402":{"description":"Payment Required (x402) — pay and retry with PAYMENT-SIGNATURE."}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"},{"name":"n","in":"query","required":false,"schema":{"type":"integer"},"description":"Number of most-recent rows to return (≤5000)."}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"0.126000"},"protocols":[{"x402":{}}]}}},"/v1/outcome/{outcome}/oi":{"get":{"operationId":"outcome_oi","summary":"Derived two-sided open interest for a HIP-4 outcome market, per minute (circulating-supply times mark, summed over both sides). Priced per row ($0.000025 premium); served live. Takes the integer outcome id (e.g. 100).","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"402":{"description":"Payment Required (x402) — pay and retry with PAYMENT-SIGNATURE."}},"parameters":[{"name":"outcome","in":"path","required":true,"schema":{"type":"integer"},"example":1},{"name":"start","in":"query","required":false,"schema":{"type":"integer"},"description":"Window start (ms for candles, s for ctx). Omit for the most-recent page."},{"name":"end","in":"query","required":false,"schema":{"type":"integer"},"description":"Window end; clipped to the availability cutoff. Omit for the most-recent page."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Max rows per page (≤5000). Paginate with the X-Next-Start response header."}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"0.126000"},"protocols":[{"x402":{}}]}}},"/v1/trades/{coin}":{"get":{"operationId":"trades","summary":"Raw market trades over a time window — the live hot tier (~24h) plus S3 read-through for older history (archive from 2025-05-25), merged. Each row mirrors HL's WsTrade verbatim, including the buyer/seller addresses (`users`) and the trade `hash`. Priced per asset-hour ($0.015 base, $0.03 HIP-3/HIP-4) plus $0.05 per uncached archive hour pulled (warms the cache); ≤24 asset-hours/request.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"402":{"description":"Payment Required (x402) — pay and retry with PAYMENT-SIGNATURE."}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"},{"name":"start","in":"query","required":false,"schema":{"type":"integer"},"description":"Window start (ms for candles, s for ctx). Omit for the most-recent page."},{"name":"end","in":"query","required":false,"schema":{"type":"integer"},"description":"Window end; clipped to the availability cutoff. Omit for the most-recent page."}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.016000","max":"1.921000"},"protocols":[{"x402":{}}]}}},"/v1/trades/coverage":{"get":{"operationId":"trades_coverage","summary":"Archive coverage for a coin over a window (≤7 days): which archived hours hold its trades and where the gaps are. Warms the cache for everyone after. Priced floor ($0.001) + $0.05 per archived hour examined.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"402":{"description":"Payment Required (x402) — pay and retry with PAYMENT-SIGNATURE."}},"parameters":[{"name":"coin","in":"query","required":true,"schema":{"type":"string"},"example":"BTC","description":"Coin, e.g. BTC."},{"name":"start","in":"query","required":true,"schema":{"type":"integer"},"example":0,"description":"Window start (epoch ms)."},{"name":"end","in":"query","required":true,"schema":{"type":"integer"},"example":3600000,"description":"Window end (epoch ms)."}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"8.401000"},"protocols":[{"x402":{}}]}}},"/v1/liquidations/{coin}":{"get":{"operationId":"liquidations","summary":"Forced-liquidation tape over a time window, reconstructed from the node-fills archive (Hyperliquid has no public liquidations feed). Each row is a trade row (coin, side, px, sz, time, hash, tid, users:[buyer, seller]) plus the liquidation markers (method market|backstop, markPx, liquidatedUser, dir). Priced per asset-hour ($0.005 base, $0.01 HIP-3/HIP-4) plus $0.05 per uncached archive hour pulled; up to 24 asset-hours/request, available ~2h after the hour closes.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true}}}}},"402":{"description":"Payment Required (x402) — pay and retry with PAYMENT-SIGNATURE."}},"parameters":[{"name":"coin","in":"path","required":true,"schema":{"type":"string"},"example":"BTC"},{"name":"start","in":"query","required":false,"schema":{"type":"integer"},"description":"Window start (ms for candles, s for ctx). Omit for the most-recent page."},{"name":"end","in":"query","required":false,"schema":{"type":"integer"},"description":"Window end; clipped to the availability cutoff. Omit for the most-recent page."}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.006000","max":"1.441000"},"protocols":[{"x402":{}}]}}},"/v1/liquidations/coverage":{"get":{"operationId":"liquidations_coverage","summary":"Archive coverage for a coin's liquidations over a window (≤7 days): which archived hours hold liquidations and where the gaps are. Warms the cache for everyone after. Priced floor ($0.001) + $0.05 per archived hour examined.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"402":{"description":"Payment Required (x402) — pay and retry with PAYMENT-SIGNATURE."}},"parameters":[{"name":"coin","in":"query","required":true,"schema":{"type":"string"},"example":"BTC","description":"Coin, e.g. BTC."},{"name":"start","in":"query","required":true,"schema":{"type":"integer"},"example":0,"description":"Window start (epoch ms)."},{"name":"end","in":"query","required":true,"schema":{"type":"integer"},"example":3600000,"description":"Window end (epoch ms)."}],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"8.401000"},"protocols":[{"x402":{}}]}}}}}