{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Retry after 60 seconds.",
"upgrade": {},
"ironbox": {
"why": "No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.",
"create": "POST https://api.ironflow.sh/v1/ironbox",
"url": "https://ironflow.sh/ironbox?utm_source=api"
},
"stream": "GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)"
}
}
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Retry after 60 seconds.",
"upgrade": {},
"ironbox": {
"why": "No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.",
"create": "POST https://api.ironflow.sh/v1/ironbox",
"url": "https://ironflow.sh/ironbox?utm_source=api"
},
"stream": "GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)"
}
}
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Retry after 60 seconds.",
"upgrade": {},
"ironbox": {
"why": "No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.",
"create": "POST https://api.ironflow.sh/v1/ironbox",
"url": "https://ironflow.sh/ironbox?utm_source=api"
},
"stream": "GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)"
}
}
SQL
Run read-only SQL on Hyperliquid data
POST /v1/query runs read-only ClickHouse SQL over Ironflow’s Hyperliquid tables: fills, trades, liquidations, funding, wallets. Works without a key.
POST
/
v1
/
query
Run a read-only SQL query
curl --request POST \ --url https://api.ironflow.sh/v1/query \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "sql": "SELECT market, round(sum(notional) / 2) AS volume_usd FROM hl.fills WHERE ts > now() - INTERVAL 1 HOUR GROUP BY market ORDER BY volume_usd DESC LIMIT 5", "max_rows": 5}'
import requests
url = "https://api.ironflow.sh/v1/query"
payload = {
"sql": "SELECT market, round(sum(notional) / 2) AS volume_usd FROM hl.fills WHERE ts > now() - INTERVAL 1 HOUR GROUP BY market ORDER BY volume_usd DESC LIMIT 5",
"max_rows": 5
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
sql: 'SELECT market, round(sum(notional) / 2) AS volume_usd FROM hl.fills WHERE ts > now() - INTERVAL 1 HOUR GROUP BY market ORDER BY volume_usd DESC LIMIT 5',
max_rows: 5
})
};
fetch('https://api.ironflow.sh/v1/query', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Retry after 60 seconds.",
"upgrade": {},
"ironbox": {
"why": "No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.",
"create": "POST https://api.ironflow.sh/v1/ironbox",
"url": "https://ironflow.sh/ironbox?utm_source=api"
},
"stream": "GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)"
}
}
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Retry after 60 seconds.",
"upgrade": {},
"ironbox": {
"why": "No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.",
"create": "POST https://api.ironflow.sh/v1/ironbox",
"url": "https://ironflow.sh/ironbox?utm_source=api"
},
"stream": "GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)"
}
}
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Retry after 60 seconds.",
"upgrade": {},
"ironbox": {
"why": "No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.",
"create": "POST https://api.ironflow.sh/v1/ironbox",
"url": "https://ironflow.sh/ironbox?utm_source=api"
},
"stream": "GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)"
}
}
Every table with its start date, the limits per plan and eight tested example queries (candles from trades, taker flow, liquidations, funding, transfers, PnL) are in the Hyperliquid SQL guide.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Ironflow","colors":{"primary":"#B24E24","light":"#C45A2D","dark":"#A03D18"},"favicon":"https://mintcdn.com/ironflow/CrJwR04LYaIKFosO/favicon.svg?fit=max\u0026auto=format\u0026n=CrJwR04LYaIKFosO\u0026q=85\u0026s=fee2e1a6dea606cb489f6d9c8018d4c7","logo":{"light":"https://mintcdn.com/ironflow/CrJwR04LYaIKFosO/logo/light.svg?fit=max\u0026auto=format\u0026n=CrJwR04LYaIKFosO\u0026q=85\u0026s=2c50490df26c7762ab71eb17be6ad76e","dark":"https://mintcdn.com/ironflow/CrJwR04LYaIKFosO/logo/dark.svg?fit=max\u0026auto=format\u0026n=CrJwR04LYaIKFosO\u0026q=85\u0026s=1edf4ce6b050aed52ad875ebcb746b22"},"api":{"openapi":"openapi.yaml"},"appearance":{"default":"dark","strict":null},"background":{"decoration":null,"color":{"light":"#F4F2EF","dark":"#0A0A0A"}},"navbar":{"links":[{"label":"Website","href":"https://ironflow.sh"},{"label":"Status","href":"https://status.ironflow.sh"}],"primary":{"type":"button","label":"Get a free key","href":"https://ironflow.sh/key?utm_source=docs_topbar"}},"search":{"prompt":"Search docs..."},"footer":{"socials":{"x":"https://x.com/ironflowsh"},"links":[{"header":"Legal","items":[{"label":"Terms","href":"https://ironflow.sh/terms"},{"label":"API terms","href":"https://ironflow.sh/terms#api"},{"label":"Privacy","href":"https://ironflow.sh/privacy"},{"label":"Risk disclosure","href":"https://ironflow.sh/risk-disclosure"},{"label":"Acknowledgements","href":"https://ironflow.sh/acknowledgements"}]},{"header":"Ironflow","items":[{"label":"Website","href":"https://ironflow.sh"},{"label":"Terminal","href":"https://terminal.ironflow.sh"},{"label":"Status","href":"https://status.ironflow.sh"}]}]},"fonts":{"heading":{"family":"Space Grotesk","weight":600,"format":"woff2","source":"https://ironflow.sh/fonts/space-grotesk-latin-var.woff2"},"body":{"family":"Space Grotesk","weight":400,"format":"woff2","source":"https://ironflow.sh/fonts/space-grotesk-latin-var.woff2"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ironflow","hasAudioNarration":false,"actualSubdomain":"ironflow","customDomains":["docs.ironflow.sh"],"gitSource":{"type":"github","owner":"eternaut1","repo":"ironflow","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6aef5b8b59edac7bace69fa1","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":122},{"language":"default","tag":"Documentation","count":23},{"language":"default","tag":"Market Data","count":18},{"language":"default","tag":"Analytics","count":10},{"language":"default","tag":"Guides","count":9},{"language":"default","tag":"Concepts","count":8},{"language":"default","tag":"Wallet Analytics","count":7},{"language":"default","tag":"Keys and billing","count":5},{"language":"default","tag":"System","count":5},{"language":"default","tag":"Alerts","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/query/run-query","slug":"/api-reference/query/run-query","pageMetadata":{"title":"Run read-only SQL on Hyperliquid data","sidebarTitle":"Run SQL (POST)","description":"POST /v1/query runs read-only ClickHouse SQL over Ironflow's Hyperliquid tables: fills, trades, liquidations, funding, wallets. Works without a key.","openapi":"POST /v1/query","href":"/api-reference/query/run-query"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"POST /v1/query runs read-only ClickHouse SQL over Ironflow’s Hyperliquid tables: fills, trades, liquidations, funding, wallets. Works without a key.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,..._provideComponents(),...props.components};return _jsxs(_components.p,{children:[`Every table with its start date, the limits per plan and eight tested example queries (candles from trades, taker flow, liquidations, funding, transfers, PnL) are in the `,_jsx(_components.a,{href:`https://ironflow.sh/guides/hyperliquid-sql`,children:`Hyperliquid SQL guide`}),`.`]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Run read-only SQL on Hyperliquid data","sidebarTitle":"Run SQL (POST)","description":"POST /v1/query runs read-only ClickHouse SQL over Ironflow's Hyperliquid tables: fills, trades, liquidations, funding, wallets. Works without a key.","openapi":"POST /v1/query","href":"/api-reference/query/run-query"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/ironflow/fdad569770b855d6/posthog.js"],"openApiReferenceData":{"operation":{"operationId":"runQuery","summary":"Run a read-only SQL query","description":"POST /v1/query runs read-only ClickHouse SQL over Ironflow's Hyperliquid tables: fills, trades, liquidations, funding, wallets. Works without a key.","tags":["Query"],"security":["4e708ea3-176d-4852-8f39-9cd31e158463","e88ad5a7-ee6b-4481-997b-58633b1c7bab"],"requestBody":"9a636ad8-1ad0-436f-8efc-5328a88cae53","responses":{"200":"f643e4a1-8c24-4d68-8496-25d40a714344","400":"e97371c0-fe4f-4f35-baa1-f602e18fdf7a","429":"eb892984-2019-4351-ae22-8758121caa20","504":"c397b3fe-40fd-4e3e-92a5-10fea90b7711"},"method":"post","type":"path","servers":["e75206a2-6bd3-4f62-989c-f57c1c4fa178"],"path":"/v1/query","baseUrlOptions":["https://api.ironflow.sh"],"title":"Run a read-only SQL query","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["sql"],"properties":{"sql":{"type":"string","maxLength":20000,"description":"One read-only ClickHouse statement.","isRequired":true,"uniqueKey":"sql","typeLabel":"string"},"max_rows":{"type":"integer","minimum":1,"description":"Most rows to return. Defaults to, and is capped at, the tier limit.","uniqueKey":"max_rows","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"example":{"sql":"SELECT market, round(sum(notional) / 2) AS volume_usd FROM hl.fills WHERE ts > now() - INTERVAL 1 HOUR GROUP BY market ORDER BY volume_usd DESC LIMIT 5","max_rows":5},"examples":{"Example":{"title":"Example","value":{"sql":"SELECT market, round(sum(notional) / 2) AS volume_usd FROM hl.fills WHERE ts > now() - INTERVAL 1 HOUR GROUP BY market ORDER BY volume_usd DESC LIMIT 5","max_rows":5}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"f643e4a1-8c24-4d68-8496-25d40a714344":{"description":"Query result.","content":{"application/json":{"schema":{"type":"object","required":["columns","rows","row_count","truncated","stats","limits","budget_remaining_seconds"],"properties":{"columns":{"type":"array","items":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"columns.items.[INDEX].name","typeLabel":"string"},"type":{"type":"string","description":"ClickHouse type","isRequired":true,"uniqueKey":"columns.items.[INDEX].type","typeLabel":"string"}},"uniqueKey":"columns.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"columns","typeLabel":"object[]"},"rows":{"type":"array","description":"Positional rows in `columns` order. Numbers stay JSON numbers; times are UTC strings.","items":{"type":"array","items":{"oneOf":[{}],"uniqueKey":"rows.items.[INDEX].items.[INDEX]","typeLabel":"any"},"uniqueKey":"rows.items.[INDEX]","typeLabel":"any[]"},"isRequired":true,"uniqueKey":"rows","typeLabel":"any[][]"},"row_count":{"type":"integer","isRequired":true,"uniqueKey":"row_count","typeLabel":"integer"},"truncated":{"type":"boolean","description":"More rows existed than max_rows.","isRequired":true,"uniqueKey":"truncated","typeLabel":"boolean"},"stats":{"type":"object","required":["elapsed_ms","rows_read","bytes_read"],"properties":{"elapsed_ms":{"type":"number","isRequired":true,"uniqueKey":"stats.elapsed_ms","typeLabel":"number"},"rows_read":{"type":"integer","isRequired":true,"uniqueKey":"stats.rows_read","typeLabel":"integer"},"bytes_read":{"type":"integer","isRequired":true,"uniqueKey":"stats.bytes_read","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"stats","typeLabel":"object"},"limits":{"type":"object","required":["history_days","max_execution_seconds","max_rows","budget_seconds_per_hour"],"properties":{"history_days":{"type":"integer","description":"How far back every hl.* view reaches.","isRequired":true,"uniqueKey":"limits.history_days","typeLabel":"integer"},"max_execution_seconds":{"type":"integer","description":"Time limit for one query.","isRequired":true,"uniqueKey":"limits.max_execution_seconds","typeLabel":"integer"},"max_rows":{"type":"integer","description":"Most rows one response returns.","isRequired":true,"uniqueKey":"limits.max_rows","typeLabel":"integer"},"budget_seconds_per_hour":{"type":"integer","description":"Query time one caller may use per clock hour.","isRequired":true,"uniqueKey":"limits.budget_seconds_per_hour","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"limits","typeLabel":"object"},"budget_remaining_seconds":{"type":"number","isRequired":true,"uniqueKey":"budget_remaining_seconds","typeLabel":"number"}},"uniqueKey":"","typeLabel":"object"},"example":{"columns":[{"name":"market","type":"LowCardinality(String)"},{"name":"volume_usd","type":"Float64"}],"rows":[["BTC-PERP",181234567],["ETH-PERP",92345678]],"row_count":2,"truncated":false,"stats":{"elapsed_ms":212.4,"rows_read":612345,"bytes_read":24493800},"limits":{"history_days":1,"max_execution_seconds":5,"max_rows":1000,"budget_seconds_per_hour":60},"budget_remaining_seconds":59.7},"examples":{"Example":{"title":"Example","value":{"columns":[{"name":"market","type":"LowCardinality(String)"},{"name":"volume_usd","type":"Float64"}],"rows":[["BTC-PERP",181234567],["ETH-PERP",92345678]],"row_count":2,"truncated":false,"stats":{"elapsed_ms":212.4,"rows_read":612345,"bytes_read":24493800},"limits":{"history_days":1,"max_execution_seconds":5,"max_rows":1000,"budget_seconds_per_hour":60},"budget_remaining_seconds":59.7}}},"exampleType":"examples"}},"exampleType":"examples"},"e97371c0-fe4f-4f35-baa1-f602e18fdf7a":{"description":"The statement was rejected or failed. `code` is one of `INVALID_REQUEST`,\n`INVALID_QUERY` (not a single read statement), `QUERY_ERROR` (ClickHouse error,\nmessage included), `QUERY_NOT_ALLOWED` (table outside hl.* or a locked setting),\n`QUERY_TOO_EXPENSIVE` (read or memory limit).\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","example":"RATE_LIMIT_EXCEEDED","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","example":"Rate limit exceeded. Retry after 60 seconds.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"upgrade":{"type":"object","description":"On a limit a higher plan lifts, the next plan, its price, what it lifts and the call that gets it.","uniqueKey":"error.upgrade","typeLabel":"object"},"ironbox":{"type":"object","description":"On a rate limit, the keyless daily cap, the stream limit and the SQL time budget, how to run the agent in an Ironbox instead.","properties":{"why":{"type":"string","example":"No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.","uniqueKey":"error.ironbox.why","typeLabel":"string"},"create":{"type":"string","example":"POST https://api.ironflow.sh/v1/ironbox","uniqueKey":"error.ironbox.create","typeLabel":"string"},"url":{"type":"string","format":"uri","example":"https://ironflow.sh/ironbox?utm_source=api","uniqueKey":"error.ironbox.url","typeLabel":"string\u003curi>"}},"uniqueKey":"error.ironbox","typeLabel":"object"},"stream":{"type":"string","description":"On the keyless daily limit of `/v1/liquidations` and `/v1/trades`, the live stream that replaces polling.","example":"GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)","uniqueKey":"error.stream","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"RATE_LIMIT_EXCEEDED","message":"Rate limit exceeded. Retry after 60 seconds.","upgrade":{},"ironbox":{"why":"No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.","create":"POST https://api.ironflow.sh/v1/ironbox","url":"https://ironflow.sh/ironbox?utm_source=api"},"stream":"GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)"}}}},"exampleType":"generated"}},"exampleType":"generated"},"eb892984-2019-4351-ae22-8758121caa20":{"description":"Rate limit, too many concurrent queries, or the hourly query budget (`QUERY_BUDGET_EXCEEDED`) is used up.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","example":"RATE_LIMIT_EXCEEDED","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","example":"Rate limit exceeded. Retry after 60 seconds.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"upgrade":{"type":"object","description":"On a limit a higher plan lifts, the next plan, its price, what it lifts and the call that gets it.","uniqueKey":"error.upgrade","typeLabel":"object"},"ironbox":{"type":"object","description":"On a rate limit, the keyless daily cap, the stream limit and the SQL time budget, how to run the agent in an Ironbox instead.","properties":{"why":{"type":"string","example":"No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.","uniqueKey":"error.ironbox.why","typeLabel":"string"},"create":{"type":"string","example":"POST https://api.ironflow.sh/v1/ironbox","uniqueKey":"error.ironbox.create","typeLabel":"string"},"url":{"type":"string","format":"uri","example":"https://ironflow.sh/ironbox?utm_source=api","uniqueKey":"error.ironbox.url","typeLabel":"string\u003curi>"}},"uniqueKey":"error.ironbox","typeLabel":"object"},"stream":{"type":"string","description":"On the keyless daily limit of `/v1/liquidations` and `/v1/trades`, the live stream that replaces polling.","example":"GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)","uniqueKey":"error.stream","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"RATE_LIMIT_EXCEEDED","message":"Rate limit exceeded. Retry after 60 seconds.","upgrade":{},"ironbox":{"why":"No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.","create":"POST https://api.ironflow.sh/v1/ironbox","url":"https://ironflow.sh/ironbox?utm_source=api"},"stream":"GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)"}}}},"exampleType":"generated"}},"exampleType":"generated"},"c397b3fe-40fd-4e3e-92a5-10fea90b7711":{"description":"The query ran past the tier's per-query time limit (`QUERY_TIMEOUT`).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","example":"RATE_LIMIT_EXCEEDED","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","example":"Rate limit exceeded. Retry after 60 seconds.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"upgrade":{"type":"object","description":"On a limit a higher plan lifts, the next plan, its price, what it lifts and the call that gets it.","uniqueKey":"error.upgrade","typeLabel":"object"},"ironbox":{"type":"object","description":"On a rate limit, the keyless daily cap, the stream limit and the SQL time budget, how to run the agent in an Ironbox instead.","properties":{"why":{"type":"string","example":"No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.","uniqueKey":"error.ironbox.why","typeLabel":"string"},"create":{"type":"string","example":"POST https://api.ironflow.sh/v1/ironbox","uniqueKey":"error.ironbox.create","typeLabel":"string"},"url":{"type":"string","format":"uri","example":"https://ironflow.sh/ironbox?utm_source=api","uniqueKey":"error.ironbox.url","typeLabel":"string\u003curi>"}},"uniqueKey":"error.ironbox","typeLabel":"object"},"stream":{"type":"string","description":"On the keyless daily limit of `/v1/liquidations` and `/v1/trades`, the live stream that replaces polling.","example":"GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)","uniqueKey":"error.stream","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"RATE_LIMIT_EXCEEDED","message":"Rate limit exceeded. Retry after 60 seconds.","upgrade":{},"ironbox":{"why":"No rate limits inside an Ironbox: your agent runs next to Hyperliquid with the data on the box.","create":"POST https://api.ironflow.sh/v1/ironbox","url":"https://ironflow.sh/ironbox?utm_source=api"},"stream":"GET https://api.ironflow.sh/v1/liquidations/stream (no daily limit for keyless streams)"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"4e708ea3-176d-4852-8f39-9cd31e158463":{},"e88ad5a7-ee6b-4481-997b-58633b1c7bab":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Ironflow API key, format `if_xxxx`. Free keys at https://ironflow.sh/key. Optional on read endpoints.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"e75206a2-6bd3-4f62-989c-f57c1c4fa178":{"url":"https://api.ironflow.sh","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Ironflow API key, format `if_xxxx`. Free keys at https://ironflow.sh/key. Optional on read endpoints.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Ironflow API key, format `if_xxxx`. Free keys at https://ironflow.sh/key. Optional on read endpoints.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"ironflow","siteName":"Ironflow","title":"Run read-only SQL on Hyperliquid data - Ironflow","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-07T11:12:29.669Z","originalFileLocation":"api-reference/query/run-query.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"POST /v1/query runs read-only ClickHouse SQL over Ironflow\u0026#x27;s Hyperliquid tables: fills, trades, liquidations, funding, wallets. Works without a key.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Ironflow\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ironflow/byzI622w4A47enFn/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/ironflow/byzI622w4A47enFn/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ironflow/byzI622w4A47enFn/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ironflow/byzI622w4A47enFn/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ironflow/byzI622w4A47enFn/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ironflow/byzI622w4A47enFn/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ironflow/byzI622w4A47enFn/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ironflow/byzI622w4A47enFn/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ironflow/byzI622w4A47enFn/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Run read-only SQL on Hyperliquid data - Ironflow\">\u003cmeta data-mint-head property=\"og:description\" content=\"POST /v1/query runs read-only ClickHouse SQL over Ironflow\u0026#x27;s Hyperliquid tables: fills, trades, liquidations, funding, wallets. Works without a key.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ironflow\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.ironflow.sh/api-reference/query/run-query\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ironflow.mintlify.site/_mintlify/api/og/v2?division=SQL\u0026amp;title=Run+read-only+SQL+on+Hyperliquid+data\u0026amp;description=POST+%2Fv1%2Fquery+runs+read-only+ClickHouse+SQL+over+Ironflow%27s+Hyperliquid+tables%3A+fills%2C+trades%2C+liquidations%2C+funding%2C+wallets.+Works+without+a+key.\u0026amp;theme=65db10876e49f8f53e58cbae\u0026amp;signature=aa9dba80fe7ae599f0757351726cec799dcbd792843ead045f30c36250e8a080\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Run read-only SQL on Hyperliquid data - Ironflow\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"POST /v1/query runs read-only ClickHouse SQL over Ironflow\u0026#x27;s Hyperliquid tables: fills, trades, liquidations, funding, wallets. Works without a key.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ironflow.mintlify.site/_mintlify/api/og/v2?division=SQL\u0026amp;title=Run+read-only+SQL+on+Hyperliquid+data\u0026amp;description=POST+%2Fv1%2Fquery+runs+read-only+ClickHouse+SQL+over+Ironflow%27s+Hyperliquid+tables%3A+fills%2C+trades%2C+liquidations%2C+funding%2C+wallets.+Works+without+a+key.\u0026amp;theme=65db10876e49f8f53e58cbae\u0026amp;signature=aa9dba80fe7ae599f0757351726cec799dcbd792843ead045f30c36250e8a080\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/ironflow/byzI622w4A47enFn/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Ironflow\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#B24E24\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.ironflow.sh/api-reference/query/run-query\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/query/run-query.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.ironflow.sh/#organization\",\"name\":\"Ironflow\",\"url\":\"https://docs.ironflow.sh\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ironflow/CrJwR04LYaIKFosO/logo/light.svg?fit=max\u0026auto=format\u0026n=CrJwR04LYaIKFosO\u0026q=85\u0026s=2c50490df26c7762ab71eb17be6ad76e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.ironflow.sh#website\",\"name\":\"Ironflow\",\"url\":\"https://docs.ironflow.sh\",\"publisher\":{\"@id\":\"https://docs.ironflow.sh/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.ironflow.sh/api-reference/query/run-query#webpage\",\"url\":\"https://docs.ironflow.sh/api-reference/query/run-query\",\"name\":\"Run read-only SQL on Hyperliquid data\",\"description\":\"POST /v1/query runs read-only ClickHouse SQL over Ironflow's Hyperliquid tables: fills, trades, liquidations, funding, wallets. Works without a key.\",\"dateModified\":\"2026-11-07T11:12:29.669Z\",\"isPartOf\":{\"@id\":\"https://docs.ironflow.sh#website\"},\"breadcrumb\":{\"@id\":\"https://docs.ironflow.sh/api-reference/query/run-query#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.ironflow.sh/api-reference/query/run-query#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.ironflow.sh/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Run read-only SQL on Hyperliquid data\",\"item\":\"https://docs.ironflow.sh/api-reference/query/run-query\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.ironflow.sh/api-reference/query/run-query#apireference\",\"headline\":\"Run read-only SQL on Hyperliquid data\",\"name\":\"Run read-only SQL on Hyperliquid data\",\"description\":\"POST /v1/query runs read-only ClickHouse SQL over Ironflow's Hyperliquid tables: fills, trades, liquidations, funding, wallets. Works without a key.\",\"url\":\"https://docs.ironflow.sh/api-reference/query/run-query\",\"mainEntityOfPage\":{\"@id\":\"https://docs.ironflow.sh/api-reference/query/run-query#webpage\"},\"dateModified\":\"2026-11-07T11:12:29.669Z\",\"publisher\":{\"@id\":\"https://docs.ironflow.sh/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.ironflow.sh#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Ironflow\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Ironflow","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"Ironflow REST API reference","sidebarTitle":"API Reference","href":"/api-reference/introduction"},{"group":"Market Data","pages":[{"title":"List Hyperliquid markets","sidebarTitle":"List Markets","openapi":"GET /v1/markets","href":"/api-reference/market-data/list-markets"},{"title":"Hyperliquid markets snapshot","sidebarTitle":"Markets snapshot","openapi":"GET /v1/markets/snapshot","href":"/api-reference/market-data/markets-snapshot"},{"title":"Hyperliquid trade history","sidebarTitle":"List Trades","openapi":"GET /v1/trades","href":"/api-reference/market-data/list-trades"},{"title":"Hyperliquid order book (L2)","sidebarTitle":"Order Book","openapi":"GET /v1/book","href":"/api-reference/market-data/order-book"},{"title":"Hyperliquid fills by address","sidebarTitle":"List Fills","openapi":"GET /v1/fills","href":"/api-reference/market-data/list-fills"},{"title":"Hyperliquid liquidation history","sidebarTitle":"List Liquidations","openapi":"GET /v1/liquidations","href":"/api-reference/market-data/list-liquidations"},{"title":"Hyperliquid liquidation totals by market and window","sidebarTitle":"Liquidations summary","openapi":"GET /v1/liquidations/summary","href":"/api-reference/market-data/liquidations-summary"},{"title":"Hyperliquid auto-deleveraging (ADL) fills","sidebarTitle":"Auto-Deleveraging","openapi":"GET /v1/adl","href":"/api-reference/market-data/auto-deleveraging"},{"title":"Hyperliquid liquidations live stream","sidebarTitle":"Stream Liquidations","openapi":"GET /v1/liquidations/stream","href":"/api-reference/market-data/stream-liquidations"},{"title":"Hyperliquid trades live stream","sidebarTitle":"Stream Trades","openapi":"GET /v1/trades/stream","href":"/api-reference/market-data/stream-trades"},{"title":"Hyperliquid OHLCV candles","sidebarTitle":"List Candles","openapi":"GET /v1/candles","href":"/api-reference/market-data/list-candles"},{"title":"Hyperliquid funding rate history","sidebarTitle":"List Funding Rates","openapi":"GET /v1/funding","href":"/api-reference/market-data/list-funding-rates"},{"title":"Hyperliquid open interest history","sidebarTitle":"List Open Interest","openapi":"GET /v1/open-interest","href":"/api-reference/market-data/list-open-interest"},{"title":"Hyperliquid open interest movers","sidebarTitle":"Open Interest Changes","openapi":"GET /v1/open-interest/changes","href":"/api-reference/market-data/open-interest-changes"},{"title":"Hyperliquid mark vs oracle premium","sidebarTitle":"Premium","openapi":"GET /v1/premium","href":"/api-reference/market-data/premium"},{"title":"Hyperliquid mark and oracle prices","sidebarTitle":"List Mark Prices","openapi":"GET /v1/mark-prices","href":"/api-reference/market-data/list-mark-prices"},{"title":"Hyperliquid vault deposits and withdrawals","sidebarTitle":"List Vault Operations","openapi":"GET /v1/vault-operations","href":"/api-reference/market-data/list-vault-operations"},{"title":"Hyperliquid HIP-4 outcome markets summary","sidebarTitle":"Outcome markets summary","openapi":"GET /v1/predictions/summary","href":"/api-reference/market-data/predictions-summary"}]},{"group":"Analytics","pages":[{"title":"Hyperliquid net deposit and withdrawal flows","sidebarTitle":"Net Flows","openapi":"GET /v1/analytics/net-flows","href":"/api-reference/analytics/net-flows"},{"title":"Hyperliquid liquidations by price level","sidebarTitle":"Liquidation Levels","openapi":"GET /v1/analytics/liquidation-levels","href":"/api-reference/analytics/liquidation-levels"},{"title":"Hyperliquid liquidation map","sidebarTitle":"Liquidation Map","openapi":"GET /v1/liquidations/map","href":"/api-reference/analytics/liquidation-map"},{"title":"Markets in the Hyperliquid liquidation map","sidebarTitle":"Liquidation Map Markets","openapi":"GET /v1/liquidations/map/markets","href":"/api-reference/analytics/liquidation-map-markets"},{"title":"Hyperliquid order flow analysis","sidebarTitle":"Order Flow","openapi":"GET /v1/analytics/order-flow","href":"/api-reference/analytics/order-flow"},{"title":"Hyperliquid vault leaderboard","sidebarTitle":"Vault Leaderboard","openapi":"GET /v1/analytics/vault-leaderboard","href":"/api-reference/analytics/vault-leaderboard"},{"title":"Hyperliquid funding rate statistics","sidebarTitle":"Funding Stats","openapi":"GET /v1/analytics/funding-stats","href":"/api-reference/analytics/funding-stats"},{"title":"Hyperliquid PnL leaderboard","sidebarTitle":"PnL leaderboard","openapi":"GET /v1/analytics/leaderboard-pnl","href":"/api-reference/analytics/leaderboard-pnl"},{"title":"Top wallets in a Hyperliquid market","sidebarTitle":"Market top wallets","openapi":"GET /v1/analytics/market-top-wallets","href":"/api-reference/analytics/market-top-wallets"},{"title":"Hyperliquid wallet labels","sidebarTitle":"Wallet labels","openapi":"GET /v1/analytics/wallet-labels","href":"/api-reference/analytics/wallet-labels"}]},{"group":"Wallet Analytics","pages":[{"title":"Hyperliquid open positions and unrealized PnL","sidebarTitle":"User State","openapi":"GET /v1/analytics/user-state","href":"/api-reference/analytics/user-state"},{"title":"Hyperliquid wallet activity summary","sidebarTitle":"Wallet summary","openapi":"GET /v1/analytics/user-summary","href":"/api-reference/analytics/user-summary"},{"title":"Hyperliquid wallet PnL over time","sidebarTitle":"Wallet PnL series","openapi":"GET /v1/analytics/user-pnl-series","href":"/api-reference/analytics/user-pnl-series"},{"title":"Hyperliquid wallet positions at a past time","sidebarTitle":"Positions at a Time","openapi":"GET /v1/positions","href":"/api-reference/analytics/positions-at"},{"title":"Hyperliquid funding payments by address","sidebarTitle":"User Funding","openapi":"GET /v1/analytics/user-funding","href":"/api-reference/analytics/user-funding"},{"title":"Hyperliquid maker and taker breakdown by address","sidebarTitle":"User Maker / Taker","openapi":"GET /v1/analytics/user-maker-taker","href":"/api-reference/analytics/user-maker-taker"},{"title":"Hyperliquid deposits, withdrawals and ledger events","sidebarTitle":"User Ledger","description":"GET /v1/analytics/user-ledger returns non-fill ledger events for a Hyperliquid address: deposits, withdrawals, vault operations, transfers and staking.","openapi":"GET /v1/analytics/user-ledger","href":"/api-reference/analytics/user-ledger"}]},{"group":"SQL","pages":[{"title":"Run read-only SQL on Hyperliquid data","sidebarTitle":"Run SQL (POST)","openapi":"POST /v1/query","href":"/api-reference/query/run-query"},{"title":"Run Hyperliquid SQL from a URL","sidebarTitle":"Run SQL (GET)","description":"GET /v1/query?sql= runs the same read-only Hyperliquid SQL from a URL, for clients that can only fetch URLs. Works without a key.","openapi":"GET /v1/query","href":"/api-reference/query/run-query-get"},{"title":"Hyperliquid SQL tables and columns","sidebarTitle":"Query schema","openapi":"GET /v1/query/schema","href":"/api-reference/query/schema"}]},{"group":"Cohorts","pages":[{"title":"List Hyperliquid wallet cohorts","sidebarTitle":"List Cohorts","openapi":"GET /v1/cohorts","href":"/api-reference/cohorts/list-cohorts"},{"title":"Create a custom wallet cohort","sidebarTitle":"Create Cohort","openapi":"POST /v1/cohorts","href":"/api-reference/cohorts/create-cohort"},{"title":"Get the addresses in a wallet cohort","sidebarTitle":"Get Cohort Addresses","openapi":"GET /v1/cohorts/{name}","href":"/api-reference/cohorts/get-cohort-addresses"},{"title":"Delete a custom wallet cohort","sidebarTitle":"Delete Cohort","openapi":"DELETE /v1/cohorts/{name}","href":"/api-reference/cohorts/delete-cohort"}]},{"group":"Alerts","pages":[{"title":"List your liquidation alerts","sidebarTitle":"List Alerts","openapi":"GET /v1/alerts","href":"/api-reference/alerts/list-alerts"},{"title":"Create a Hyperliquid liquidation alert","sidebarTitle":"Create Alert","openapi":"POST /v1/alerts","href":"/api-reference/alerts/create-alert"},{"title":"Delete a liquidation alert","sidebarTitle":"Delete Alert","openapi":"DELETE /v1/alerts/{id}","href":"/api-reference/alerts/delete-alert"},{"title":"Send a test liquidation alert","sidebarTitle":"Test Alert","openapi":"POST /v1/alerts/{id}/test","href":"/api-reference/alerts/test-alert"}]},{"group":"Ironbox","pages":[{"title":"Create an Ironbox","sidebarTitle":"Create Ironbox","openapi":"POST /v1/ironbox","href":"/api-reference/ironbox/create-ironbox"},{"title":"List your Ironboxes","sidebarTitle":"List Ironboxes","openapi":"GET /v1/ironbox","href":"/api-reference/ironbox/list-ironboxes"},{"title":"Get an Ironbox","sidebarTitle":"Get Ironbox","openapi":"GET /v1/ironbox/{id}","href":"/api-reference/ironbox/get-ironbox"},{"title":"Delete an Ironbox","sidebarTitle":"Delete Ironbox","openapi":"DELETE /v1/ironbox/{id}","href":"/api-reference/ironbox/delete-ironbox"}]},{"group":"Keys and billing","pages":[{"title":"Request a free Hyperliquid API key","sidebarTitle":"Free API key","openapi":"POST /v1/keys","href":"/api-reference/billing/request-key"},{"title":"Ironflow API plans and prices","sidebarTitle":"List plans","openapi":"GET /v1/billing/plans","href":"/api-reference/billing/list-plans"},{"title":"Upgrade an API key with USDC on Hyperliquid","sidebarTitle":"Start an upgrade","openapi":"POST /v1/billing/upgrade","href":"/api-reference/billing/request-upgrade"},{"title":"Upgrade request status","sidebarTitle":"Upgrade status","openapi":"GET /v1/billing/upgrade","href":"/api-reference/billing/upgrade-status"},{"title":"Buy an Ironflow plan with x402","sidebarTitle":"Buy a plan (x402)","openapi":"POST /x402/v1/plans/{plan}/buy","href":"/api-reference/billing/buy-plan-x402"}]},{"group":"System","pages":[{"title":"Ironflow API index","sidebarTitle":"API index","openapi":"GET /v1","href":"/api-reference/system/index"},{"title":"Ironflow API status","sidebarTitle":"Status","openapi":"GET /v1/status","href":"/api-reference/system/status"},{"title":"Ironflow API uptime history","sidebarTitle":"Status History","openapi":"GET /v1/status/history","href":"/api-reference/system/history"},{"title":"Ironflow API health check","sidebarTitle":"Health Check","openapi":"GET /healthz","href":"/api-reference/system/health"},{"title":"Ironflow API performance metrics","sidebarTitle":"Status Metrics","openapi":"GET /v1/status/metrics","href":"/api-reference/system/metrics"}]}]}]}]},"basePath":"","title":"Run read-only SQL on Hyperliquid data - Ironflow","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js","Markdown-D7Ofw1oz.js","clsx-eKJ4rcii.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CwjSCXIK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-9EK5IAXV.js"]}