Returns a chronological fill feed, filterable by `coin`, `dex`, and/or `user`. Each row is a single fill carrying price, size, side (`BID` or `ASK`), directional intent (`OPEN_LONG`, `CLOSE_SHORT`, `LIQUIDATED_CROSS_LONG`, `AUTO_DELEVERAGING`, and others), closed PnL, fees (negative values represent maker rebates), and order-level metadata (`order_id`, `client_order_id`, `twap_id`, `crossed`).
For balance-changing events on a user (deposits, withdrawals, funding payments, vault flows), use `/v1/hyperliquid/users/activity`.
At least one of `coin`, `dex`, or `user` is required. Filters compose additively — pass any combination to narrow further; a mismatched pair (e.g. `coin=cash:TSLA&dex=xyz`) returns empty.
Defaults to the last 24 hours when no time range is specified — provide `start_time` and `end_time` to query older data.
**Query Parameters:**
- **coin**: Hyperliquid coin identifier. Core perps have no prefix (`BTC`, `HYPE`); spot pairs use `@N` (`@107`); builder DEXs prefix the symbol with the DEX name (`xyz:SILVER`).<br>Single value or array of values* (separate multiple values with `,`)<br>*Plan restricted.
- **dex**: DEX identifier. `perps` for core perps, `spot` for `@N` spot pairs, or a builder DEX name (`xyz`, `cash`, …). Call `/v1/hyperliquid/dexes` for the live set.<br>Single value or array of values* (separate multiple values with `,`)<br>*Plan restricted.
- **user**: Filter by address<br>Single value or array of values* (separate multiple values with `,`)<br>*Plan restricted.
- **start_time**: UNIX timestamp in seconds or date string (e.g. "2025-01-01T00:00:00Z", "2025-01-01", ...).
- **end_time**: UNIX timestamp in seconds or date string (e.g. "2025-01-01T00:00:00Z", "2025-01-01", ...).
- **limit**: Number of items* returned in a single request.<br>*Plan restricted.
- **page**: Page number to fetch.<br>Empty `data` array signifies end of results.
**Responses:**
- **200** (Success): Successful Response
- Content-Type: `application/json`
- **Response Properties:**
- **request_time**: ISO 8601 datetime string
- **Example:**
```json
{
"data": [
{
"block_num": 1,
"timestamp": "string",
"transaction_hash": "string",
"direction": "string",
"transaction_id": 1,
"closed_pnl": 1.5,
"fee": 1.5,
"notional": 1.5,
"dex": "string",
"crossed": true,
"price": 1.5,
"size": 1.5,
"market_name": "string",
"start_position": "string",
"fee_token": "string",
"twap_id": 1,
"user": "string",
"client_order_id": "string",
"order_id": 1,
"coin": "string",
"side": "string"
}
],
"statistics": {
"elapsed": 1.5,
"rows_read": 1.5,
"bytes_read": 1.5
},
"pagination": {
"previous_page": 1,
"current_page": 1
},
"request_time": "string",
"duration_ms": 1.5,
"results": 1.5
}
```
- **400**: Client side error
- Content-Type: `application/json`
- **Response Properties:**
- **Example:**
```json
{
"status": "unknown_type",
"code": "authentication_failed",
"message": "string"
}
```
- **401**: Authentication failed
- Content-Type: `application/json`
- **Response Properties:**
- **Example:**
```json
{
"status": "unknown_type",
"code": "authentication_failed",
"message": "string"
}
```
- **403**: Forbidden
- Content-Type: `application/json`
- **Response Properties:**
- **Example:**
```json
{
"status": "unknown_type",
"code": "authentication_failed",
"message": "string"
}
```
- **404**: Not found
- Content-Type: `application/json`
- **Response Properties:**
- **Example:**
```json
{
"status": "unknown_type",
"code": "authentication_failed",
"message": "string"
}
```
- **500**: Server side error
- Content-Type: `application/json`
- **Response Properties:**
- **Example:**
```json
{
"status": "unknown_type",
"code": "bad_database_response",
"message": "string"
}
```