userTwapSummaries

Get aggregated TWAP order summaries for a user.

All data fully available from 28-07-2025. We have performed a full backfill of all fills the HL native API offered, meaning that we have full historical data for most traders except for some very high volume addresses. TWAP fills are included from 02-08-2025.

💧New endpoint - this endpoint is not a part of original Hyperliquid API and is added by us for builder convenience.

Returns one summary per TWAP order for a user, aggregating all slice fills that share the same twapId. Includes the volume-weighted average price, total size, total fees, total closed PnL, number of slices, and the time range of execution.

POST Request

Field
Type
Description

type

string

Must be "userTwapSummaries"

user

string

Ethereum address (0x-prefixed, 42 characters)

curl -X POST https://api.hydromancer.xyz/info \
  -H "Authorization: Bearer $HYDROMANCER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "userTwapSummaries",
    "user": "0x0000000000000000000000000000000000000000"
  }'
Response
[
{
"user": "0x0000000000000000000000000000000000000000",
"twapId": 1628419,
"coin": "BTC",
"side": "A",
"avgPx": "67832.45",
"sz": "0.054",
"fee": "1.65115",
"closedPnl": "0",
"nSlices": 50,
"firstFillTime": 1772092668036,
"lastFillTime": 1772096268036
}
]
Response Fields
Field
Type
Description

user

string

User address

twapId

number

TWAP order identifier

coin

string

Asset symbol (e.g. "BTC")

side

string

"B" for buy, "A" for sell

avgPx

string

Volume-weighted average fill price across all slices

sz

string

Total size filled across all slices

fee

string

Total fees paid across all slices

closedPnl

string

Total closed PnL across all slices

nSlices

number

Number of individual slice fills executed

firstFillTime

number

Timestamp (ms) of the first slice fill

lastFillTime

number

Timestamp (ms) of the last slice fill

Notes
  • Returns at most 500 most recent TWAP summaries, ordered by last fill time descending

  • Each summary aggregates all slice fills that share the same twapId — use userTwapSliceFills to get the individual fills

  • avgPx is the volume-weighted average price: sum(px * sz) / sum(sz) across all slices

  • Summaries update incrementally as new TWAP slices are executed

Last updated