> ## Documentation Index
> Fetch the complete documentation index at: https://docs.b3os.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Hyperliquid Position Change

Triggers when a monitored wallet opens or closes a perpetual position on Hyperliquid. Powered by real-time WebSocket stream — no polling delay.

Trigger Other

Triggers when a monitored wallet opens or closes a perpetual position on Hyperliquid. Powered by real-time WebSocket stream — no polling delay.

## At a Glance

| Field | Value |
| --- | --- |
| Trigger ID | `hyperliquid-position-change` |
| Category | Other |
| Tags | `hyperliquid`, `perps`, `positions`, `wallet-monitoring`, `websocket`, `real-time` |

## Trigger Configuration

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `user` | `string` | Yes | Hyperliquid wallet address to monitor for position changes |
| `dex` | `string` | No | DEX venue for TradFi markets \(TSLA, SP500, GOLD\). Leave as default for crypto perps. |
| `coin` | `string` | No | Optional coin filter \(e.g., BTC, ETH for crypto; TSLA, SP500 for trade.xyz\). Omit to watch all coins |
| `action` | `string` | No | Position action to trigger on: open \(new/increase position\), close \(reduce/exit position\), or both |
| `minSize` | `number` | No | Optional minimum position size in base coin |
| `minNotional` | `number` | No | Optional minimum notional value in USDC \(price × size\) |

## Trigger Result

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `triggeredAt` | `string` | Yes | Timestamp when the position change was detected \(UTC, RFC3339 format\) |
| `user` | `string` | Yes | Monitored Hyperliquid wallet address |
| `positionChange` | `object` | Yes | - |

## Workflow Root Example

```json
{
  "nodes": {
    "root": {
      "type": "hyperliquid-position-change",
      "payload": {
        "user": "0x0000000000000000000000000000000000000000"
      },
      "children": [
        "log_event"
      ]
    },
    "log_event": {
      "type": "log",
      "payload": {
        "message": "Triggered at {{$trigger.triggeredAt}}"
      },
      "children": []
    }
  }
}
```

**Reference trigger output**

Downstream nodes can use `{{$trigger.triggeredAt}}` and any result fields listed above. Event triggers usually expose the raw source payload under a field such as `event`, `body`, `trade`, or `raw`.