> 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/trade-history.md).

# Trade History

Trade history records are created when fills **close** (fully or partially) a position's assets. Each record captures entry price, exit price, size, fees, and realized PnL — scoped to a specific basket position.

Trade history is **not** raw Hyperliquid fills. It's Pear's basket-level interpretation: which basket was closed, at what entry/exit, and what PnL resulted. Entry prices come from the basket's own entry (not Hyperliquid's global average).

Opening a position does not create trade history. Only closing fills — where an existing position asset's size is reduced — generate records. A single close order affecting multiple baskets creates multiple trade history records — one per basket affected.

Records with `FULLY_EXTERNAL` execution flag are excluded from queries.

#### Access

* **REST**: `GET /trade-history` — optional `limit`, `startDate`, `endDate` params
* **WebSocket**: `trade-histories` channel (requires address)

#### Example

Position: Long BTC @ 100,000 (0.01) / Short ETH @ 2,700 (0.15)

Close fills: sell 0.01 BTC @ 105,000, buy 0.15 ETH @ 2,600

| Asset     | Side  | Entry   | Exit    | Size | PnL      |
| --------- | ----- | ------- | ------- | ---- | -------- |
| BTC       | LONG  | 100,000 | 105,000 | 0.01 | +$50     |
| ETH       | SHORT | 2,700   | 2,600   | 0.15 | +$15     |
| **Total** |       |         |         |      | **+$65** |
