Skip to main content
Perpetual futures let you take price exposure without owning the underlying asset. Each position requires collateral in your margin account. Fills update your position, margin accounting, unrealized PnL, and funding history.

The Numbers To Understand

The mark price is used for margin requirements, PnL, and liquidations. It is anchored to the oracle and blends the book’s basis over approximately 150 seconds, rather than responding to individual quotes or cancels. The index price is the fair-value reference used for funding.

How Margin Is Applied

Every position lives in a risk bucket, cross or isolated, and each bucket is contained at the collateral allocated to it: the margin account can lose no more than that allocation through it. See What a risk bucket can lose. The Accounts page describes how the selected mode affects locked USDC collateral.Portfolio-aware margining for correlated positions is on the roadmap. It is intended to recognize offsetting risk, such as long BTC against short ETH.

Selected Leverage And Margin Tiers

Initial margin is the greater of the selected-leverage requirement, scaled to the current mark, and the market’s ladder floor. Maintenance margin also follows the ladder. Deductions keep both requirements continuous at tier boundaries.
Example$100,000 at 10× leverage

At entry, this position requires $10,000 of initial margin, even if the first tier’s ladder floor is only $2,000.

If an order would move the position above tier 1 and its requested leverage exceeds the new tier’s maximum, it is rejected. Lower the leverage and resubmit. Current market configuration is authoritative; the launch ladder is a snapshot.

Position And Exit Controls

Monaco uses a single net position per market, with no hedge mode. Reduce-only prevents a close order from increasing or reversing exposure.TP/SL orders can attach to positions or entry orders. A trailing stop follows the mark’s best level by a set distance. TP/SL triggers use the mark, while execution occurs against the book: trigger price and fill price are different. Market legs can pay spread and price impact; limit legs may rest or fill partially.Standard perpetual market orders use a 10% protective band. Triggered TP/SL market legs use a 12% band to increase the chance of reducing exposure. A take-profit can still close at a loss after spread, impact, and round-trip taker fees.

Review Collateral Before Trading

A risk preview reports acceptance, projected margin, free collateral, estimated liquidation price, and simulated fills. For open positions, monitor the mark, margin ratio, PnL, and liquidation distance.When an order needs more initial margin than its risk bucket has free, admission draws exactly the shortfall from the parent margin account’s unallocated collateral, subject to risk checks. A crossing order is charged its initial margin at the mark, the loss each fill takes against the mark, and its taker fee; a resting order is charged its initial margin at its limit, its maker fee, and any loss it would take against the live mark. Only the part that opens or flips a position is charged, so a close is never refused for its loss. A fill never draws more: it keeps in the risk bucket only what its new position needs and returns the rest; a cancel or released remainder returns everything that order drew, in cross and isolated risk buckets alike. Collateral you allocated yourself is never returned unasked. A position’s loss never stops a new order the parent can fund and is never drawn for: a risk bucket below its initial margin takes new orders but stays below it until you add collateral or reduce.Where automatic refunds are enabled for a market order, unused automatically allocated collateral returns after any positive fill. Requirements, fees, funding, losses, and other orders can keep the final allocation above notional divided by leverage.The full rules retain refund limits, zero-fill handling, tier formulas, rounding, the launch ladder, and the exact API fields.
Perpetual futures (perps) allow traders to take directional price exposure without owning or exchanging the underlying asset. On Monaco, each perp position requires users depositing collateral in their margin account. Order fills update margin accounting, position state, unrealized PnL, and funding history.

Perps-Specific Controls

Perps introduce controls that do not apply to spot trading:
  • One-way direction: each market holds a single net position — side sets the direction, and leverage is required to open. There is no hedge mode; omit the deprecated positionSide compatibility field.
  • Reduce-only: prevents a close order from increasing or flipping exposure.
  • Leverage: controls notional exposure relative to collateral.
  • Margin: collateral committed to support open positions.
  • TP/SL: take-profit and stop-loss orders for planned exits, attached either to an open position or to a margin entry order, whose legs arm once that order creates or extends a position — see Conditional Perps Orders. A trailing stop does the same with a trigger that follows the mark’s best level by a set distance — see Trailing Stop.
Use reduce-only orders when closing exposure, and see Order Management for conditional exit orders.

Perp price band

Every perp order that takes liquidity — market or limit, any time in force — trades only inside a band around the market’s mark price. With mark m and band k = 1,000 bps (10%), the band runs from m / (1 + k) to m / (1 - k): about 9.1% below the mark to 11.1% above it. A fill at either edge is exactly 10% of its own notional away from the mark, so a buyer and a seller of the same size at the same price are treated alike. Triggered TP/SL legs use a wider 1,200 bps band, so a firing stop trades price quality for a higher chance of reducing the position. These are the defaults. A perp market can be configured with its own band, from 100 to 2,500 bps (1% to 25%), which then replaces both: placements and triggered legs on that market use the same k.The order walks the book in price priority and stops at the first resting order outside the band, on either side. That resting order stays on the book; it cannot trade until the mark comes back near it or its owner moves it.
  • Whatever filled inside the band settles. A market, IOC or FOK remainder is cancelled as usual (FOK rejects when the band leaves it short), with terminalReason PRICE_BAND, or SLIPPAGE_TOLERANCE when your own slippageToleranceBps was the tighter bound.
  • A limit remainder rests at its own price only if resting would not cross the book. If the band stopped the order at a resting order its own price crosses, the remainder is cancelled instead, with terminalReason PRICE_BAND: a resting bid at or above a resting ask would cross the book.
  • An order the band keeps from filling anything is rejected as insufficient liquidity before it is accepted.
  • A limit order that does not cross the book rests normally, even when it is priced outside the band.
  • A perp order on a market with no mark price is rejected as unavailable; the book is never used in place of the mark.
Post-only orders never take liquidity and are not banded. Liquidation and ADL executions are exempt. A client slippageToleranceBps can only tighten a market order’s band.A TP/SL triggers on the mark price and fills against the book, so its trigger price and its fill price are independent numbers. The mark is an oracle-anchored reference price rather than the book’s midpoint: the book’s premium or discount to the oracle enters it, and leaves it, only through a ~150 s time-weighted average, so neither a single quote nor a single cancel can move it, and it is sampled on a tick. A market leg then pays the spread it crosses plus the depth its size consumes — usually worse than the trigger, though nothing guarantees a minimum gap. A limit leg may rest or fill only partly. A triggered conditional order reports what its close actually did under triggeredOrder, and the close carries conditionalOrderId back to the trigger — see Trigger Price Is Not Fill Price. Set a take-profit far enough from entry to clear the spread, your own impact and round-trip taker fees, or it can fire exactly as set and still close at a loss.When a market order automatically funds a new isolated risk bucket, its initial allocation includes an execution-price allowance and estimated fees. Where automatic execution-collateral refunds are enabled, unused automatic collateral returns to the parent margin account in the same settlement once the order has executed. Any positive fill releases it — a market order that filled only part of its quantity before the remainder was cancelled releases just as a fully filled one does, and the release never exceeds the allocation the order originally drew. This release is limited to collateral automatically allocated for that execution; existing explicit collateral stays in place. The position retains its required margin, paid fees, funding, losses, and any collateral needed by other open orders. Final allocation can therefore exceed order value divided by leverage when the fill opens at a loss against the mark price. Risk previews include the same settlement behavior. An order that executed nothing at all releases through the ordinary cancellation-settlement rules instead.Admission is the only point where an order draws collateral from the parent margin account. A crossing order is charged its initial margin at the mark, the loss each fill takes against the mark, and its taker fee; a resting order is charged its initial margin at its limit, its maker fee, and any loss it would take against the live mark. Only the part that opens or flips a position is charged. If the risk bucket’s free collateral falls short, admission draws exactly the shortfall, bounded by the parent’s unallocated capacity and the usual risk checks. A first-use order creates its risk bucket holding only the explicit riskBucketCollateral you supplied, or nothing, and admission draws the rest in the same way. A fill does no margin check and draws nothing: of what it releases, it keeps in the risk bucket only what the new position needs and returns the rest to the parent. When an order releases — a cancel, an unfilled IOC or partial-fill remainder, a replace to a smaller order — the risk bucket returns to the parent exactly what that order drew and has not used, in ISOLATED and CROSS risk buckets alike. Collateral you allocated yourself, including riskBucketCollateral, is never returned automatically. A position’s loss is never drawn for and never refuses an order the parent can fund: the parent pays only for orders, so a risk bucket below its initial margin stays below it until you add collateral or reduce. Risk previews follow the same path.

Risk Preview

Before placing a non-trivial perp order, preview the account impact with simulateOrderRisk. A trading UI should show whether the order is accepted, projected margin, free collateral after trade, and estimated liquidation price before the trader submits. Pass the MARKET order’s slippageToleranceBps so the preview runs under the band the order will, and read expectedMatchResult — the engine’s simulated fill, in the same shape a placement’s matchResult carries — for the size’s own price impact and any unfilled remainder; see Pre-trade simulation.For open positions, use getPositionRisk or authenticated WebSocket alerts to keep mark price, margin ratio, PnL, and liquidation distance current.See Account Vault and Positions.

Core Concepts

  • Account Equity: The collateral in your margin account summed with realized and unrealized PnL on your futures positions.
  • Free Collateral: Account Equity less the margin required to open positions.
  • Initial Margin: The position requirement is the greater of its selected-leverage initial margin, scaled to the current mark, and the market’s ladder floor: IM_floor(N) = N x initialMarginRatio - initialMarginDeduction. See Margin ladders.
  • Maintenance Margin: Minimum margin required to keep a position open, given by the ladder’s maintenance requirement: MM(N) = N x maintenanceMarginRatio - maintenanceMarginDeduction.
  • Margin Ratio: Maintenance Margin divided by Account Equity, i.e. maintenanceMarginRequired / equity. Higher means closer to liquidation. At zero or negative equity with a maintenance requirement, the ratio reads as the largest representable value — a maximal-distress sentinel, not a measurement; clamp it for display. With no open positions it reads zero.
  • Index Price: The market-derived fair-value price referenced for funding calculations.
  • Mark Price: The price used for margin requirements, PnL calculations, and liquidations. It is anchored to the oracle price and blends the order book’s basis to the oracle in — and back out when the book goes away — through a ~150 s time-weighted average, so transient quotes and cancels do not move it.
  • Liquidation Price: Mark price at which a position or portfolio would be liquidated. Above tier 1, this is solved piecewise across the ladder’s brackets, since maintenance margin changes rate at each bound. A blank or absent value means unavailable, never zero.

Margining

What a risk bucket can lose

Every position lives in a risk bucket, cross or isolated. A bucket is backed by the collateral allocated to it, and that allocation is the most its margin account can lose through it:
  • Cross and isolated alike. The cross bucket is contained at its allocation exactly as an isolated one is. Unallocated collateral in the margin account can fund new orders, but it does not back positions already open, so idle collateral does not keep a cross position open. A cross bucket is liquidated at its own maintenance margin, with no automatic backing from the account.
  • The insurance fund absorbs every loss past the allocation. If a bucket closes out below zero, the account loses the allocation and the insurance fund pays the rest, whatever else the account holds. The engine’s live account equity never counts a bucket’s loss past its allocation, open or realized. Persisted reads sum unrealized PnL without that cap: the portfolio margin totals (sdk.portfolio.getMargin) and the margin-account summary served when the live engine view is unavailable can show an open loss past the allocation. The bucket stays frozen in bad debt until the fund has covered the shortfall — see Bad debt and the insurance fund.
  • Allocating more collateral to a bucket is how you give its open positions more room.
  • Releasing collateral is held to initial margin. Moving collateral out of a risk bucket — including reducing a position’s margin — must leave it covering the initial margin of its positions plus the reserve for its resting orders, never just maintenance margin. An unrealized gain never funds a release; realized profit does, so a live bucket’s withdrawable collateral includes its realized PnL.
  • A flat, solvent risk bucket folds back. When a risk bucket’s last position closes with nothing resting, its allocation and realized PnL return to the parent margin account: an isolated bucket closes, and the cross bucket stays open with nothing allocated.
The roadmap includes portfolio-aware margining for correlated positions. The goal is to recognize offsetting risk, such as long BTC versus short ETH, so a portfolio can receive a netting benefit instead of requiring collateral as if every leg were independent.

Margin ladders

Each perp market prices margin off an ordered ladder of tiers rather than one flat rate. A tier is (lowerBoundNotional, maxLeverage); from maxLeverage the ladder derives, rounded to 8 decimal places:
A position’s bracket is the last tier whose lowerBoundNotional is at or below its notional, abs(quantity) x mark price.Margin is continuous across every bound — there is no cliff at a tier boundary. Each tier beyond the first carries a deduction that cancels the jump its raw rate would otherwise create:
so the ladder’s initial-margin floor and maintenance requirement for a position of notional N in bracket k are:
and both are continuous at N = bound_k.The actual position initial-margin requirement also accounts for selected leverage. Its stored initial margin is scaled from entry notional to current mark notional, then compared with the ladder floor:
At entry, a 100,000positionopenedat10xthereforerequires100,000 position opened at 10x therefore requires 10,000 initial margin even when its tier-1 ladder floor is only $2,000.Worked example (crypto majors): tier 1 is 50x (2% / 1%) up to 100Mnotional;tier2is25x(4100M notional; tier 2 is 25x (4% / 2%) above. `MM(100M)is $1M under either tier's formula — continuous at the bound.MM(200M)=200M) = 200M x 2% - 1M=1M = 3M, where the $1M deduction is $100M x (2% - 1%)`.Admission rule: an order whose projected post-fill position notional lands above tier 1 is rejected if the requested leverage exceeds that bracket’s maxLeverage — lower the leverage and resubmit. The bracket is evaluated on position notional only; resting orders are not counted. Initial margin reserved for an order stays notional x max(1/leverage, tier-1 initialMarginRatio).Market caps: a market can carry two optional USD caps; an uncapped market never refuses. Both are checked at admission only, priced at the mark, and reject with 400 / INVALID_ARGUMENT:
  • Position cap (position cap exceeded: …): the risk bucket’s position plus its resting orders on the new order’s side, walked in fill order, may not exceed the cap. Orders on the other side are not counted.
  • Open-interest cap (open interest cap reached: …): the market’s gross open interest plus the order’s opening quantity may not exceed the cap. The WebSocket market_stats frame publishes it as openInterestLimit, with what is left in openInterestHeadroom.
An admitted order fills whatever the mark does afterwards, so a position the mark carries past a cap is not closed: it can only be reduced. A reduce-only order, or any step that reduces a position without flipping it, always passes.Where to read it: GET /api/v1/market/pairs/{id}/perp/config (getPerpMarketConfig) returns riskTiers[] ascending by lowerBoundNotional, each with tierLevel, lowerBoundNotional, maxLeverage, initialMarginRatio, maintenanceMarginRatio, initialMarginDeduction, maintenanceMarginDeduction, and maxPositionNotional (the tier’s USD notional cap: the next tier’s lowerBoundNotional, or the market’s position cap on the top tier, absent when uncapped). maxPositionSize is deprecated and no longer set. The top-level maxLeverage, initialMarginRatio, and maintenanceMarginRatio fields are tier 1. Position, portfolio, and margin-account endpoints use the same ladder for maintenance margin and liquidation prices. Their position initial-margin requirements also retain the higher selected-leverage requirement described above.

Launch ladder

Tier 1 is 50x on every market at launch; tier 2 varies by sector. The ladder is configured per market and can change — treat this table as a snapshot and read riskTiers from getPerpMarketConfig for the authoritative, current ladder.