본문으로 건너뛰기

TWAP Dataset

업데이트됨:
Jul 17, 2026

개요

The TWAP stream contains Time-Weighted Average Price (TWAP) order status updates from the Hyperliquid exchange. TWAP orders are algorithmic orders that execute gradually over a specified time period to minimize market impact.

하천 유형: TWAP
API 이용 가능 여부: gRPC API + JSON-RPC/WebSocket API
권수: Low - Most blocks are empty; only updates when TWAP orders change status

데이터 구조

Most blocks are empty as TWAP status updates only occur when orders are activated, finished, or terminated. Each event represents a status change for a TWAP order.

{
"local_time": "2025-12-04T17:00:22.590883578",
"block_time": "2025-12-04T17:00:22.417074898",
"block_number": 817824346,
"events": [
{
"time": "2025-12-04T17:00:22.417074898",
"twap_id": 1430699,
"state": {
"coin": "HYPE",
"user": "0x9d6a5ab97a8eed617bde9968d9ab6fcf72fde1b8",
"side": "A",
"sz": "108.36",
"executedSz": "0.0",
"executedNtl": "0.0",
"minutes": 10,
"reduceOnly": false,
"randomize": false,
"timestamp": 1764867622417
},
"status": "activated"
}
]
}

Event Fields

분야유형설명
시간문자열Event timestamp (ISO 8601 format)
twap_id정수Unique identifier for the TWAP order
상태객체Current state of the TWAP order
상태문자열TWAP order status (see Status Types below)

State Object Fields

분야유형설명
동전문자열Trading pair identifier (e.g., "HYPE", "xyz:NVDA", "@107")
사용자문자열User address who created the TWAP order
측면문자열Order side: "B" (Buy) or "A" (Ask/Sell)
sz문자열Total target size for the TWAP order
executedSz문자열Amount executed so far
executedNtl문자열Notional value executed (price × size)
minutes정수Duration of TWAP order in minutes
reduceOnly부울Whether order can only reduce position (cannot increase)
randomize부울Whether execution timing is randomized to avoid detection
타임스탬프정수TWAP order creation timestamp (Unix milliseconds)

Status Types

TWAP orders progress through different status states during their lifecycle, from initial creation to completion or cancellation.

상태설명
activatedTWAP order has been created and is actively executing
finishedTWAP order completed successfully (entire size executed)
terminatedTWAP order was cancelled before completion (partial execution possible)

Example Records

Activated TWAP Order
{
"time": "2025-12-04T17:00:22.417074898",
"twap_id": 1430699,
"state": {
"coin": "HYPE",
"user": "0x9d6a5ab97a8eed617bde9968d9ab6fcf72fde1b8",
"side": "A",
"sz": "108.36",
"executedSz": "0.0",
"executedNtl": "0.0",
"minutes": 10,
"reduceOnly": false,
"randomize": false,
"timestamp": 1764867622417
},
"status": "activated"
}
Finished TWAP Order
{
"time": "2025-12-04T17:00:39.012600357",
"twap_id": 1430683,
"state": {
"coin": "xyz:NVDA",
"user": "0x130506ec2875c51eaf6fa2632ee952205a3dd793",
"side": "A",
"sz": "1.0",
"executedSz": "1.0",
"executedNtl": "183.83588",
"minutes": 5,
"reduceOnly": false,
"randomize": false,
"timestamp": 1764867337234
},
"status": "finished"
}
Terminated TWAP Order (Partially Executed)
{
"time": "2025-12-04T17:05:55.357168702",
"twap_id": 1430645,
"state": {
"coin": "HYPE",
"user": "0xdce7148dd9418e01129192095954a5ad3d75b0cc",
"side": "B",
"sz": "100.59",
"executedSz": "25.94",
"executedNtl": "897.98844",
"minutes": 120,
"reduceOnly": false,
"randomize": true,
"timestamp": 1764866098571
},
"status": "terminated"
}
Long Duration TWAP (210 minutes)
{
"time": "2025-12-04T17:03:28.969809817",
"twap_id": 1430703,
"state": {
"coin": "xyz:NVDA",
"user": "0xa993ad31ef46873c0193448dbb2f04c0d3854731",
"side": "B",
"sz": "27.11",
"executedSz": "0.0",
"executedNtl": "0.0",
"minutes": 210,
"reduceOnly": false,
"randomize": false,
"timestamp": 1764867808969
},
"status": "activated"
}
Outcome Market TWAP (HIP-4)

성과 자산(HIP-4)은 다음과 같이 표시됩니다. #N-prefixed coins in TWAP records. The structure is identical to standard TWAPs.

{
"time": "2026-05-02T10:55:26.396453316",
"twap_id": 1783904,
"state": {
"coin": "#0",
"user": "0x81a39aa0b0d6fa8513aa79929e7c01dfaa232fce",
"side": "B",
"sz": "10000.0",
"executedSz": "0.0",
"executedNtl": "0.0",
"minutes": 5,
"reduceOnly": false,
"randomize": false,
"timestamp": 1777719326396
},
"status": "activated"
}

API 사용법

gRPC
// Subscribe to TWAP updates
const request = {
subscribe: {
stream_type: 'TWAP',
filters: {
user: { values: ['0x123...'] },
coin: { values: ['BTC', 'ETH'] },
status: { values: ['activated', 'finished'] }
}
}
};
JSON-RPC
# Get latest TWAP blocks
curl -X POST https://your-endpoint.hype-mainnet.quiknode.pro/your-token/hypercore \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "hl_getLatestBlocks",
"params": {
"stream": "twap",
"count": 10
},
"id": 1
}'
WebSocket
// Subscribe to TWAP updates
ws.send(JSON.stringify({
"jsonrpc": "2.0",
"method": "hl_subscribe",
"params": {
"streamType": "twap"
},
"id": 1
}));

중요 사항


  • Sparse Data: Most blocks have empty event arrays - TWAP updates only occur when orders are created, completed, or cancelled
  • TWAP ID Linking: 그 twap_id field can be used to correlate with individual fills in the 거래 dataset (where twapId field references this twap_id)
  • Execution Progress: Compare executedSz ~에 sz to determine completion percentage
  • Randomization: When randomize is true, order execution timing is randomized to avoid predictable patterns
  • Reduce-Only Orders: When reduceOnly is true, the TWAP order can only reduce existing positions
  • Duration Range: TWAP orders can range from very short (5 minutes) to very long (210+ minutes or 3.5+ hours)
  • Partial Execution: Terminated orders may have partial execution (non-zero executedSz less than sz)

  • 거래 - View individual fills that comprise TWAP execution (matching twapId field)
  • Orders - See the individual child orders created by TWAP algorithm
  • Events - Monitor system events that may affect TWAP execution