userTwapSummariesByTime - User TWAP Summaries by Time
Retrieve execution-derived TWAP summaries for a single Hyperliquid user inside a bounded time window over /info or JSON-RPC.
Use userTwapSummariesByTime to retrieve execution-derived TWAP summaries for one user inside a bounded time window. The service first aggregates indexed slice fills by (user, twapId) inside the requested window, then applies cursor pagination to the grouped summaries.
Keep the same time window when paging
Cursor pages must repeat the same startTime and endTime used for the first page. Changing the window can change the grouped TWAP summaries.
Execution-derived summaries
TWAP summaries are derived from executed slice fills in the Hyperliquid Index. They summarize observed executions, not the full parent TWAP order intent or configuration.
Endpoints
REST-style Info API:
POST https://api-hyperliquid-index.n.dwellir.com/YOUR_API_KEY/infoJSON-RPC:
POST https://api-hyperliquid-index.n.dwellir.com/YOUR_API_KEY/jsonrpcParameters
| Field | Type | Required | Description |
|---|---|---|---|
type | string | yes | Must be userTwapSummariesByTime for /info. |
user | string | yes | 0x-prefixed Hyperliquid user address. |
startTime | number | yes | Inclusive Unix timestamp in milliseconds. Keep this unchanged when following cursors. |
endTime | number | no | Exclusive Unix timestamp in milliseconds. Keep this unchanged when following cursors. |
cursor | string | no | Pagination cursor in lastFillTime_txIndex format. Resumes after that grouped summary. |
limit | number | no | Maximum summaries to return, capped at 500. |
Billing
Billed by returned summary objects
userTwapSummariesByTime responses are billed by the number of TWAP summary objects returned, not as one response per HTTP request.
A response with 50 summaries counts as 50 responses/API credits.
Requests that return an empty array are billed as 0 responses/API credits and do not count against usage. Error responses are not charged.
Cursor pagination
txIndex is the block-local fill event index for the latest slice in the grouped summary. It is exposed as a stable summary pagination key together with lastFillTime.
REST-style Example
curl -X POST "https://api-hyperliquid-index.n.dwellir.com/YOUR_API_KEY/info" \
-H "content-type: application/json" \
-d '{
"type": "userTwapSummariesByTime",
"user": "0x1111111111111111111111111111111111111111",
"startTime": 1753606200000,
"endTime": 1753609900000,
"limit": 50
}'JSON-RPC Example
curl -X POST "https://api-hyperliquid-index.n.dwellir.com/YOUR_API_KEY/jsonrpc" \
-H "content-type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "userTwapSummariesByTime",
"params": {
"user": "0x1111111111111111111111111111111111111111",
"startTime": 1753606200000,
"endTime": 1753609900000,
"limit": 50
}
}'Response
REST /info responses return an array directly. JSON-RPC responses return the same array under result. Empty matches return []; they are not errors.
Results are ordered oldest first by lastFillTime, then txIndex, then twapId. For the next page, pass the last returned row's lastFillTime and txIndex as cursor, for example 1753606260000_8, and keep the original time window unchanged.