Positions
Request the authenticated account's full open-position snapshot through the encrypted trading protocol:
POST /api/v1/positions
Authorization: Bearer <access_token>
Content-Type: application/json
The body is an HPKE envelope whose logical request is get_positions. Plaintext position filters and GET /positions are not supported. The account identity comes from the authenticated encrypted session.
The decrypted response is PositionsSnapshot:
account: bytes
rows: PositionRow[]
server_timestamp: uint64
source: INITIAL | PERIODIC | EVENT
correlation_id?: bytes
account is the 32-byte Solana account identity; SDK public APIs expose it as base58. correlation_id is present on the initial RPC response and absent on unsolicited periodic or event snapshots.
PositionRow
Numeric values that can exceed JSON precision are decimal strings.
| Field | Type | Description |
|---|---|---|
symbol_id | uint64 | Protocol instrument identifier |
side | enum | Buy (long) or Sell (short) |
size | string | Absolute base size |
entry_price | string | Average entry price |
leverage | uint32 | Position leverage |
mark_price | string? | Current oracle mark; absent before a usable mark |
unrealized_pnl | string? | Signed uPnL; absent with mark_price |
notional | string? | Absolute size × mark; absent with mark_price |
mark_publish_time_sec | uint64? | Oracle publish time |
liquidation_price | string? | Server-computed threshold; may be absent |
adl_indicator | uint32? | ADL rank, 0 safest through 5 highest |
position_status | enum? | NORMAL, LIQ, or ADL lifecycle |
margin | string? | Allocated position margin |
mgn_mode | enum | ISOLATED or CROSS |
mmr | string? | Maintenance requirement |
mgn_ratio | string? | Margin ratio |
margin_ratio_bps | uint64? | Margin ratio in basis points |
take_profit / stop_loss | string? | Position TP/SL prices |
tpsl_status | enum? | TP/SL lifecycle |
tpsl_parent_order_id | uint64? | Parent order identifier |
Use the official SDK to encode/decode envelopes. A positions subscription uses the same snapshot schema for initial, periodic, and event-driven updates.
See Margin & Liquidation.