> ## 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.

# Account

## Endpoint

```
POST /info
```

## Request Body

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

## Response

```json theme={null}
{
  "crossMaintenanceMarginUsed": "500.00",
  "crossMarginSummary": {
    "accountValue": "10000.00",
    "totalMargin": "10000.00",
    "totalMarginUsed": "1000.00",
    "totalNtlPos": "5000.00",
    "totalRawUsd": "10000.00"
  },
  "marginSummary": {
    "accountValue": "10000.00",
    "totalMargin": "10000.00",
    "totalMarginUsed": "1000.00",
    "totalNtlPos": "5000.00",
    "totalRawUsd": "10000.00"
  },
  "assetPositions": [
    {
      "type": "oneWay",
      "position": {
        "coin": "BTC",
        "cumFunding": {
          "allTime": "0",
          "sinceChange": "0",
          "sinceOpen": "0"
        },
        "entryPx": "50000.00",
        "leverage": {
          "type": "cross",
          "value": 5
        },
        "liquidationPx": "45000.00",
        "marginUsed": "1000.00",
        "maxLeverage": 10,
        "positionValue": "5000.00",
        "returnOnEquity": "0.05",
        "szi": "0.1",
        "unrealizedPnl": "50.00",
        "hasTpsl": false
      }
    }
  ],
  "time": 1234567890,
  "withdrawable": "9000.00"
}
```

### Response Fields

| Field                                | Type   | Description                         |
| ------------------------------------ | ------ | ----------------------------------- |
| `crossMaintenanceMarginUsed`         | string | Maintenance margin requirement      |
| `crossMarginSummary.accountValue`    | string | Total account value in USDC         |
| `crossMarginSummary.totalMargin`     | string | Total margin backing the account    |
| `crossMarginSummary.totalMarginUsed` | string | Total margin allocated to positions |
| `crossMarginSummary.totalNtlPos`     | string | Total notional position value       |
| `crossMarginSummary.totalRawUsd`     | string | Raw USDC balance                    |
| `assetPositions`                     | array  | List of open positions              |
| `time`                               | number | Timestamp of account snapshot       |
| `withdrawable`                       | string | Amount available for withdrawal     |

\| `assetPositions[].position.coin` | string | Asset symbol (BTC, ETH, etc.) |
\| `assetPositions[].position.entryPx` | string | Average entry price |
\| `assetPositions[].position.leverage.value` | number | Current leverage |
\| `assetPositions[].position.liquidationPx` | string | null | Estimated liquidation price |
\| `assetPositions[].position.marginUsed` | string | Margin allocated to this position |
\| `assetPositions[].position.positionValue` | string | Notional value of position |
\| `assetPositions[].position.szi` | string | Position size (positive = long, negative = short) |
\| `assetPositions[].position.unrealizedPnl` | string | Unrealized profit/loss |
\| `assetPositions[].position.hasTpsl` | boolean | Whether the position currently has TP/SL protection attached |

## Example Request

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

## Error Responses

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

**HTTP Status:** 400 Bad Request

## Notes

<Note>
  * All amounts are in USDC unless otherwise specified - Liquidation prices may be null if not
    calculable - Position sizes are signed decimals (positive = long, negative = short) - Accounts
    with no state return the same shape with zeroed summaries and an empty `assetPositions` array
</Note>
