Messages
{
"message": "emitOptionsAccountSummary",
"content": {
"clientRequestId": "4cc68b60-ed2d-42aa-a21e-cb5486f8fd1a"
}
}{
"resultType": "optionsAccountSummary",
"data": {
"accountSummary": {
"accountBalance": "19611.7711628",
"availableBalance": "10636.0473042985",
"totalEquity": "20504.4429067",
"marginUsed": "8975.7238585015",
"initialMarginRatio": "0.4377453169219538",
"maintenanceMargin": "1170.2238585015",
"maintenanceMarginRatio": "0.0570717216666793",
"withdrawableBalance": "10537.4473042985",
"unrealizedPnl": "343.8117439",
"pnl": "158.080282",
"fees": "37.0449692",
"volume": "13551.78"
},
"statusCode": 200,
"clientRequestId": "9bbfd749-1a4b-45d3-9b57-63472a3c5711"
}
}WebSocket API Reference
Account Summary Stream
Balance, margin used, and PnL.
WSS
?product=options&market=
{market}
&expiration=
{expiration}
&strike=
{strike}
&type=
{type}
&subscriptions=optionsAccountSummary
This stream provides your account balance, margin usage, and PnL. Subscribe with the
optionsAccountSummary subscription, then request a snapshot with emitOptionsAccountSummary.
emitOptionsAccountSummary returns the current snapshot — it does not subscribe you. Subscribe to optionsAccountSummary explicitly with subscribe, or list it in the subscriptions query parameter when you connect. Without the subscription the snapshot you asked for is published to a channel you are not listening on, and you receive nothing.The account summary is account-wide —
emitOptionsAccountSummary takes no market, and any contract filter is ignored when you subscribe to optionsAccountSummary.Keeping the Summary Current
There is no delta on this stream and no spontaneous push — a snapshot is only ever sent in response to anemitOptionsAccountSummary. To track the account live, re-emit after events that move your balance — order fills on the Order Management Stream and settlements on the Settlements Stream — or on a timer. totalEquity and the margin ratios also depend on the mark price, so re-emit on Contracts Stream updates if you need them to track the market between balance changes.
See Account Equity & Balances for how totalEquity, availableBalance, and the margin ratios are derived.Messages
{
"message": "emitOptionsAccountSummary",
"content": {
"clientRequestId": "4cc68b60-ed2d-42aa-a21e-cb5486f8fd1a"
}
}{
"resultType": "optionsAccountSummary",
"data": {
"accountSummary": {
"accountBalance": "19611.7711628",
"availableBalance": "10636.0473042985",
"totalEquity": "20504.4429067",
"marginUsed": "8975.7238585015",
"initialMarginRatio": "0.4377453169219538",
"maintenanceMargin": "1170.2238585015",
"maintenanceMarginRatio": "0.0570717216666793",
"withdrawableBalance": "10537.4473042985",
"unrealizedPnl": "343.8117439",
"pnl": "158.080282",
"fees": "37.0449692",
"volume": "13551.78"
},
"statusCode": 200,
"clientRequestId": "9bbfd749-1a4b-45d3-9b57-63472a3c5711"
}
}market
type:string
required
A specific market (e.g. BTC-USDT) or ALL.
expiration
type:string
required
Contract expiration, e.g. 24JUN26. Requires market; omit to match every expiration.
strike
type:string
required
Strike price, e.g. 62000. Requires expiration; omit to match every strike.
type
type:string
required
C (call) or P (put). Requires strike; omit to match both.
Sec-WebSocket-Protocol
type:httpApiKey
Supply as authorization#<JWT> during the WebSocket handshake.
Emit Options Account Summary
type:object
Returns the current snapshot; does not subscribe you. Requires an active optionsAccountSummary subscription for the response to reach you. Account-wide, so market is ignored.
Account Summary
type:object
Response to emitOptionsAccountSummary. Delivered only while subscribed to optionsAccountSummary; nothing is pushed on its own.