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.

Path Parameters

marginAccountId
string
default:2b1a5f9c-0000-4000-8000-000000000001
required

Margin account UUID for the current isolated bucket.

Query Parameters

tradingPairId
string<uuid>

Trading pair identifier (UUID)

Minimum string length: 1

Response

OK

marginAccountId
string | null
accountState
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 realized PnL, accrued funding and mark-to-market gains that are not principal a transfer can move — so the two can differ without limit. An unrealized gain never counts toward this figure.

For a risk bucket this is capped by the bucket's allocated collateral; for a parent margin account, by deposited collateral that no risk bucket has earmarked.

This is the largest accepted transfer-out, NOT a promise that every smaller one is accepted. Acceptance is not monotone in the amount: a risk bucket whose realized loss exceeds its remaining value accepts the full close-out reported here — which settles that loss to the parent margin account — while refusing a partial withdrawal that would leave the bucket holding less collateral than the loss it has already taken. For such a bucket the accepted amounts are everything up to its equity, plus this figure itself, with a gap in between. Size a transfer directly from this field rather than shaving a margin off it.

totalPositionNotional
string | null
unrealizedPnl
string | null
realizedPnl
string | null
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.