Skip to main content
GET
cURL

Authorizations

X-Monaco-Signature
string
header
required

Ed25519 session-key request signing. Every authenticated request carries three headers: X-Monaco-PublicKey (64-char lowercase-hex session public key), X-Monaco-Timestamp (Unix milliseconds, within 30s of server time), and X-Monaco-Signature (hex ed25519 signature). The signature is over METHOD\npath?query\ntimestamp_ms\nSHA256_hex(body), where the body hash is the SHA-256 of the empty byte string when there is no body. Obtain the session keypair from POST /api/v1/auth/challenge followed by POST /api/v1/auth/verify.

Query Parameters

tradingPairId
string<uuid>

Trading pair identifier (UUID)

Minimum string length: 1

Response

OK

marginAccountId
string | null
equity
string | null
initialMarginRequired
string | null
maintenanceMarginRequired
string | null
freeCollateral
string | null
withdrawableCollateral
string | null

The largest amount a transfer-out of this scope will actually accept.

NOT a clamped free_collateral. Free collateral is equity headroom, and equity includes mark-to-market gains that a transfer cannot move — so the two can differ without limit. An unrealized gain never counts toward this figure.

For a risk bucket this is the bucket's allocated collateral plus its realized PnL, less what its positions and resting orders require (the bucket's allocation may go negative, which is how realized profit leaves a live bucket); for a parent margin account, net deposits plus settled realized PnL that no risk bucket has allocated.

This is the largest accepted transfer-out, and every smaller amount is accepted too. It is zero on a risk bucket that is not NORMAL (under liquidation or frozen as bad debt), whose allocation cannot be released, and on a risk bucket whose realized loss has used up its allocation: that bucket cannot be released at all, and the parent margin account is charged at most its allocation, the loss past it being the insurance fund's.

Printed truncated toward zero at the quote asset's precision, so the printed amount itself is always accepted.

totalPositionNotional
string | null
unrealizedPnl
string | null
realizedPnl
string | null

On a risk bucket row this is the risk bucket's cash balance (realized closes, funding and transfers between a copy account's risk buckets land here), not trading profit; trading PnL comes from position history and the portfolio PnL endpoints.

updatedAt
string | null
label
string | null
tradingPairId
string<uuid> | null
strategyKey
string | null
riskBucketId
string | null
marginMode
string | null
selectedTradingPairIds
string<uuid>[] | null
Minimum string length: 1
availableOrderCollateral
string | null

See MarginAccountSummary.available_order_collateral: the collateral still available to open NEW orders in this risk bucket, the risk engine admission gate's own bound with parent auto top-up included. Present only on risk-bucket rows served from a live engine snapshot; absent on parent rows and persisted-fallback reads.

copyFollowId
string<uuid> | null

On a copy risk bucket row, the id of the follow (copy account) that funds it

copyLeaderHandle
string | null

On a copy risk bucket row, the followed leader's custom TraderCode handle, when they still hold one

riskBucketState
string | null

The risk bucket's lifecycle state. Present only for risk-bucket rows; a parent margin account has no lifecycle of its own. Values: NORMAL, PENDING_LIQUIDATION, LIQUIDATING, BAD_DEBT, CLOSED.

subaccountKey
string | null

See MarginAccountSummary.subaccount_key.

marginAccountState
string | null

See MarginAccountSummary.margin_account_state.