> For the complete documentation index, see [llms.txt](https://docs.pearprotocol.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pearprotocol.io/api-integration/trade-activity/open-order.md).

# Open Order

Open orders are pending orders that have not yet fully executed.

#### Access

* **REST**: `GET /orders/open`
* **WebSocket**: `open-orders` channel (requires address)

#### What Counts as Open

Only orders with status `OPEN` or `PARTIALLY_FILLED` and type `TRIGGER`, `TP`, or `SL` are returned. MARKET orders execute immediately and never appear here. TWAP orders have their own monitoring channel (`twap-details`).

#### Response Shape

Each open order contains:

* `orderId` — unique order identifier
* `orderType` — `TRIGGER`, `TP`, or `SL`
* `status` — `OPEN` or `PARTIALLY_FILLED`
* `positionId` — linked position (for TP/SL orders)
* `parameters` — order-type-specific config (leverage, USD value, trigger conditions, etc.)
* `longAssets` / `shortAssets` — each with `asset`, `weight`, `size` (planned), and `filledSize` (executed so far)
* `createdAt` / `updatedAt`

#### Order Types in Open Orders

| Type      | When it appears                                                                             | Triggered by                             |
| --------- | ------------------------------------------------------------------------------------------- | ---------------------------------------- |
| `TRIGGER` | User placed a conditional order waiting for price/ratio/BTC dom/prediction market condition | Oracle condition met                     |
| `TP`      | Take profit set on an open position                                                         | Position ROI or price reaching threshold |
| `SL`      | Stop loss set on an open position                                                           | Position ROI or price reaching threshold |

#### Lifecycle

```
OPEN → PROCESSING → EXECUTED
                  → FAILED
     → PARTIALLY_FILLED → EXECUTED
     → CANCELLED
```

* `OPEN`: order created, waiting for trigger condition
* `PARTIALLY_FILLED`: some fills received (e.g., TWAP chunks or partial execution)
* `PROCESSING`: trigger condition met, execution in progress
* `EXECUTED`: fully filled
* `FAILED`: execution error (e.g., insufficient margin, liquidity)
* `CANCELLED`: user cancelled or system cancelled

#### Real-Time Updates

The `open-orders` channel refreshes automatically after trade execution, position close, or TP/SL changes. No manual polling needed — subscribe once and receive updates.
