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

# User Fills

## Endpoint

```
POST /info
```

## Request Body

| Parameter | Type   | Description                                                               |
| --------- | ------ | ------------------------------------------------------------------------- |
| `type`\*  | string | Must be `"userFills"`                                                     |
| `user`\*  | string | User's wallet address (case-insensitive), e.g., `"0x1234567890abcdef..."` |

## Response

```json theme={null}
[
  {
    "coin": "BTC",
    "px": "50000.00",
    "sz": "0.1",
    "side": "B",
    "time": 1701234567890,
    "startPosition": "0",
    "dir": "Open Long",
    "closedPnl": "0",
    "hash": "0x1234abcd...",
    "orderId": "0x1234567890abcdef1234567890abcdef",
    "crossed": true,
    "fee": "2.50",
    "tid": 67890,
    "feeToken": "USDC",
    "forcedClosureType": "adl"
  }
]
```

### Response Fields

| Field               | Type    | Description                                                         |
| ------------------- | ------- | ------------------------------------------------------------------- |
| `coin`              | string  | Asset symbol (BTC, ETH, etc.)                                       |
| `px`                | string  | Fill price                                                          |
| `sz`                | string  | Fill size                                                           |
| `side`              | string  | "B" for buy, "A" for sell/ask                                       |
| `time`              | number  | Fill timestamp (ms)                                                 |
| `startPosition`     | string  | Position size before fill                                           |
| `dir`               | string  | Direction (Open Long, Close Short, etc.)                            |
| `closedPnl`         | string  | Realized PnL from closing position                                  |
| `hash`              | string  | Transaction hash                                                    |
| `orderId`           | string  | Internal Notional order id                                          |
| `crossed`           | boolean | Currently always `true` in this REST response payload               |
| `fee`               | string  | Trading fee paid                                                    |
| `tid`               | number  | Trade ID                                                            |
| `feeToken`          | string  | Fee token (always "USDC")                                           |
| `forcedClosureType` | string  | Present when the fill was a forced closure: `"adl"` or `"backstop"` |

## Example Request

```bash theme={null}
curl -X POST https://api.notional.xyz/info \
  -H "Content-Type: application/json" \
  -d '{
    "type": "userFills",
    "user": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
  }'
```

## Error Responses

```json theme={null}
{
  "error": "Missing 'user' parameter for user fills"
}
```

**HTTP Status:** 400 Bad Request

## Notes

<Note>
  * Fills returned in reverse chronological order (newest first) - The REST response uses `orderId`,
    matching the WebSocket fill payload - `closedPnl` is only non-zero when closing a position -
    Direction values: `"Open Long"`, `"Open Short"`, `"Close Long"`, `"Close Short"`
</Note>
