{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "TwapRecord",
"description": "One TWAP order status event.",
"type": "object",
"required": [
"block_number",
"block_time",
"coin",
"executed_notional",
"executed_size",
"minutes",
"randomize",
"reduce_only",
"side",
"size",
"started_at",
"status",
"timestamp",
"twap_id",
"user_address"
],
"properties": {
"block_number": {
"description": "Hyperliquid block number.",
"type": "integer",
"format": "int64"
},
"block_time": {
"description": "Time of the block that carried the event (RFC 3339, UTC).",
"type": "string",
"format": "date-time"
},
"coin": {
"description": "Market symbol.",
"type": "string",
"example": "HYPE"
},
"executed_notional": {
"description": "Notional filled so far, in quote units.",
"type": "number"
},
"executed_size": {
"description": "Size filled so far, in base units.",
"type": "number"
},
"minutes": {
"description": "TWAP duration in minutes.",
"type": "integer"
},
"randomize": {
"description": "True when slice timing is randomized.",
"type": "boolean"
},
"reduce_only": {
"description": "True for a reduce-only TWAP.",
"type": "boolean"
},
"side": {
"description": "`B` (buy) or `A` (sell).",
"type": "string",
"enum": [
"B",
"A"
]
},
"size": {
"description": "Total TWAP size, in base units.",
"type": "number"
},
"started_at": {
"description": "When the TWAP started (RFC 3339, UTC).",
"type": "string",
"format": "date-time"
},
"status": {
"description": "`activated`, `waitingForTrigger`, `finished`, `terminated`, `stopped`, or `error`.",
"type": "string",
"example": "activated"
},
"stop_px": {
"description": "Price bound that ends the TWAP: the highest price for a buy, the lowest for a sell. Omitted when not set.",
"type": "number"
},
"timestamp": {
"description": "When the status event happened (RFC 3339, UTC).",
"type": "string",
"format": "date-time"
},
"trigger_above": {
"description": "True when the TWAP activates at or above `trigger_px`. Omitted for a TWAP without a trigger.",
"type": "boolean"
},
"trigger_px": {
"description": "Activation trigger price. Omitted for a TWAP without a trigger.",
"type": "number"
},
"twap_id": {
"description": "TWAP order ID. Every event of one TWAP carries the same ID.",
"type": "integer",
"format": "int64"
},
"user_address": {
"description": "Wallet that placed the TWAP, lowercase.",
"type": "string"
}
}
}