Get positions
Returns all open positions for the requested account address. No authentication header is required.
Query Parameters
Master Ethereum address for this API key (must match address from POST /createApiKey for the same key). Required on REST for account-scoped reads and for place/cancel. Invalid hex → 400; mismatch with key → 403.
20-byte EVM address as hex: optional 0x or 0X prefix and exactly 40 hexadecimal digits. API responses normalize to lowercase a–f after 0x.
^(0x|0X)?[0-9a-fA-F]{40}$Response
List of positions.
Open positions keyed by marketId (integer; 1=BTC-USD, 2=ETH-USD, etc). JSON keys are stringified integers. Always present — an account with no open positions returns an empty object {}. Same shape as Account.positions and the accounts channel snapshot, so a single shape works across REST GET /positions, REST GET /account, and the accounts / positions WebSocket snapshots. Streaming PositionUpdate frames keep their array shape — they're a different schema (one event per frame).