GET
/api/v1/hyperliquid/vault/hlp/historyStandard tier+ · 300 req/minHLP deep-dive bundle — TVL, PnL (daily + weekly), and APR series over N days.
Three named time series for the HLP vault. Backs the `/hyperliquid/hlp` deep-dive page; integrators can fetch this once and avoid three parallel round-trips.
Query parameters
All query parameters are optional unless marked required.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| days | number | optional | 30 | Trailing window. Max 365. |
Response shape
Always wrapped in the standard envelope. Nullable fields are explicitly marked — treat missing numeric data as a real data-source gap, not as an error.
data payloadtypescript
// Wrapped in the standard envelope:
// {
// data: /* shape below */,
// meta?: { total?: number; limit?: number; offset?: number; ... }
// }
{
latest: HlpVaultStats | null;
tvl: Array<{ ts: number; tvlUsd: number }>;
pnl: Array<{ ts: number; pnlDaily: number | null; pnlWeekly: number | null }>;
apr: Array<{ ts: number; apr: number }>;
}Example
Copy the curl, replace YOUR_KEY with a real key from your dashboard, and run.
Requestbash
curl -sS "http://localhost:3000/api/v1/hyperliquid/vault/hlp/history?days=30"Responsejson
{
"data": {
"latest": { "tvl": 512000000, "apr": 0.185, "ts": 1744834800000 },
"tvl": [{ "ts": 1744230000000, "tvlUsd": 501200000 }],
"pnl": [{ "ts": 1744230000000, "pnlDaily": 95000, "pnlWeekly": 760000 }],
"apr": [{ "ts": 1744230000000, "apr": 0.178 }]
},
"meta": { "total": 3, "days": 30, "tvlPoints": 1, "pnlPoints": 1, "aprPoints": 1 }
}Next
Check the error code reference, or get an API key to try the request against your own account.