Skip to main content
POST
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

Parent margin account UUID that receives collateral.

Body

application/json
marginAccountId
string | null

Parent margin account UUID that receives collateral.

asset
string | null
amount
string | null
tradingPairId
string<uuid> | null

Optional trading pair UUID used to allocate collateral to an isolated risk bucket under the parent margin account. If omitted, the transfer applies to the parent margin account only.

strategyKey
string | null

Optional strategy key echoed in responses when callers scope a risk bucket.

Response

OK

movementId
string | null
marginAccountId
string | null
asset
string | null
amount
string | null
status
string | null
newEquity
string | null
newTotalCollateralValue
string | null
newWithdrawableCollateral
string | null

The largest amount a further transfer-out will accept after this one. See MarginAccountSummary.withdrawable_collateral: this is an allocation-bounded figure, not clamped equity headroom.

strategyKey
string | null
riskBucketId
string | null

Present when collateral was allocated to a risk bucket.

marginMode
string | null

Present when collateral was allocated to a risk bucket. Values: ISOLATED, CROSS.

selectedTradingPairIds
string<uuid>[] | null

The cross bucket's recorded pair scope: what trading has recorded (a pair joins when a cross order on it fills and leaves when its positions close), plus any pair declared before scope became derived, until it trades and its positions close. Only on cross risk-bucket transfers, and omitted while empty — i.e. until a cross order on the bucket has filled.

Minimum string length: 1
positionMarginCredited
boolean | null

Whether the transfer was committed to a position's stored margin. Present only when a position-margin credit was in play: true — the credit landed; false — a credit was requested (or defaulted) but degraded to a plain allocation because the bucket's persisted position row was stale (close/reopen race) — re-issue the Adjust Margin once the new position row lands if the commitment still matters. Absent on plain allocations, parent deposits, and releases.