twapOrder payload - TWAP Orders
Decode Hyperliquid `twapOrder` payloads for TWAP orders, returned through Dwellir's read-only L1 gRPC API.
Read-only action reference
Dwellir's Hyperliquid gRPC API returns this decoded action payload through
StreamBlocks and
GetBlock. It does not submit or execute this action.
Submit supported user write actions through Hyperliquid's native
POST /exchange
endpoint.
The decoded twapOrder payload records a time-weighted average price order and its execution parameters.
Sample Data
{
"signature": {
"r": "0xec414de7c86d85e3c73aba1ed8496e15f48acb37ec7f9b52a1c7d76f091ccd45",
"s": "0x373d79f4d9731a69b4d93ccebf3fa711eae9550be65878c9358f30b20e798e4b",
"v": 28
},
"action": {
"type": "twapOrder",
"twap": {
"a": 10260,
"b": true,
"s": "215.72",
"r": false,
"m": 1440,
"t": false
}
},
"nonce": 1768146926099
}View this transaction on Hypurrscan
Field Reference
Action Fields
| Field | Type | Description |
|---|---|---|
type | string | Always "twapOrder" |
a | number | Asset index (e.g., 0 = BTC) |
b | boolean | Side: true for buy, false for sell |
s | string | Total size to execute |
r | boolean | Reduce-only flag |
m | number | Duration in minutes |
t | boolean | Randomize execution (avoid predictable patterns) |
TWAP Execution
TWAP orders:
- Split total size into smaller child orders
- Execute over the specified duration
- Can be randomized to avoid detection
- Minimize market impact for large positions
Use Cases
Institutional Order Detection
Track TWAP order submissions for large position building:
def process_twapOrder_action(action):
asset = action.get('a')
side = 'BUY' if action.get('b') else 'SELL'
size = action.get('s')
duration = action.get('m')
print(f"TWAP: {side} {size} of asset {asset} over {duration} minutes")Market Impact Analysis
Monitor TWAP activity to understand institutional positioning.
Execution Quality Research
Study TWAP execution patterns and slippage.
Related Action Payloads
- twapCancel - TWAP cancellations
- order - Standard orders
- batchModify - Batch modifications