Account Info

Account margin is an encrypted get_account call. The reply is an account_margin_update.

Use the SDK (get_account() → AccountMarginUpdate). Do not call GET /account. Do not send WebSocket op: account.info — that op is unsupported.

POST /api/v1/account

POST /api/v1/account

Auth: REST bearer + HPKE envelope (same as REST trading). Plaintext JSON is rejected.

The logical request is get_account. The decrypted AccountMarginUpdate separates identity from margin data:

account: bytes
summary: AccountMarginSummary
server_timestamp: uint64
correlation_id?: bytes

account is the 32-byte Solana account identity established by login and HPKE and exposed as base58 by SDK public APIs. summary contains the margin and equity fields below.

FieldDescription
total_collateralRisk-engine collateral backing the account
position_marginMargin locked in open positions
reserved_order_marginMargin reserved by resting orders
free_collateralFree collateral (no uPnL)
realized_pnlSigned realized PnL
account_equitytotal_collateral + unrealized PnL
unrealized_pnlSigned mark uPnL across open positions
cross_availableBuying power available to cross-margin trading
isolated_marginTotal collateral locked in isolated silos
isolated_equityAggregate isolated equity
cross_imInitial margin and holds in the cross domain

correlation_id is echoed on RPC replies and omitted on unsolicited margin pushes.

Your fee tier and progress come from GET /api/v1/tiers/status, not this POST.

Unsupported

CallStatus
GET /accountNot the live route
op: account.infoUnsupported — Edge does not implement it

Errors

StatusCodeMeaning
4011401Missing, invalid, or expired REST bearer
4031403Authenticated account is not permitted to perform the operation

Full list: Error Codes.