Positions

View and manage open positions

Get Positions

Retrieve your current positions. By default returns open positions only.

GET /v1/positions
Authorization: Bearer <token>

Query Parameters:

FieldTypeRequiredDescription
statusstringNoOPEN (default) or CLOSED

Response:

{
  "ok": true,
  "positions": [
    {
      "id": "clx...",
      "accountId": "clx...",
      "venuePositionId": "33600",
      "symbol": "BTCUSDT",
      "quantity": "0.05",
      "avgEntryPrice": "70500.00",
      "markPrice": "71034.50",
      "liquidationPrice": "51493.41",
      "unrealizedPnl": "26.75",
      "realizedPnl": "0",
      "fundingFee": "-1.23",
      "initialMargin": "176.25",
      "maintenanceMargin": "14.10",
      "leverage": 20,
      "marginMode": "Isolated",
      "status": "OPEN",
      "closeReason": null,
      "closedAt": null,
      "updatedAt": "2026-04-02T22:35:25.456Z"
    }
  ]
}
FieldTypeDescription
venuePositionIdstringExchange-assigned position ID
quantitystringPosition size. Positive = long, negative = short
avgEntryPricestringAverage entry price
markPricestringCurrent mark price from exchange
liquidationPricestringEstimated liquidation price
unrealizedPnlstringUnrealized PnL from exchange
realizedPnlstringRealized PnL from exchange
fundingFeestringAccumulated funding fees
initialMarginstringInitial margin (collateral) for this position
maintenanceMarginstringMaintenance margin requirement
leveragenumberPosition leverage multiplier
marginModestringIsolated or Cross
statusstringOPEN or CLOSED
closeReasonstring|nullWhy the position was closed: MANUAL, LIQUIDATED, or UNKNOWN
closedAtstring|nullISO timestamp when position was closed

Position History

Get closed positions by passing status=CLOSED:

GET /v1/positions?status=CLOSED
Authorization: Bearer <token>

Closed positions include a closeReason field:

Close ReasonDescription
MANUALUser closed the position manually
LIQUIDATEDPosition was liquidated (mark price crossed liquidation price)
UNKNOWNClosed during a period when WebSocket was disconnected

Close Position

Close an entire position or a partial amount at market price.

POST /v1/positions/close
Authorization: Bearer <token>
Content-Type: application/json

{
  "symbol": "BTCUSDT",
  "positionSide": "LONG"
}

Parameters:

FieldTypeRequiredDescription
symbolstringYesTrading pair
positionSidestringNoBOTH, LONG, or SHORT
quantitystringNoAmount to close. Omit for full close

Response:

{
  "ok": true,
  "closed": {
    "symbol": "BTCUSDT",
    "quantity": "0.05",
    "remainingPosition": "0"
  }
}

Risk Exposure

Get aggregated risk metrics across all open positions:

GET /v1/risk/exposure
Authorization: Bearer <token>
{
  "ok": true,
  "grossExposure": "3525.00",
  "positions": [...]
}

On this page