Vordium LabsDocs

Margin and liquidation

Isolated margin, what you can trade with, the maintenance requirement, the liquidation price and where the liquidation fee goes.

Isolated margin

Every position has its own margin. The margin an order needs is its value divided by its leverage, and it is reserved at the price the order can fill at: for an order that fills at once, the worse of its limit and the mark; for a resting order, its limit. A fill never leaves a position below its initial margin at the fill price.

A position's liquidation price depends on that position alone. A loss on one position never reaches the margin of another.

Available to trade

GET /account/equity/{address} answers free_balance: what a new order can use as margin. Unrealised profit or loss never adds to it. An order is accepted only when the free balance covers its margin.

Maintenance margin

A position must keep margin plus unrealised profit above its maintenance margin, measured at the mark price. Right now the maintenance margin is — on every perpetual market.

The liquidation price

GET /positions/{address} gives each position's liquidation_price: the exact price at which the engine liquidates it (a long at or below it, a short at or above it). A long that no positive price can liquidate reads 0. Read it from the chain rather than computing it: it is the engine's own boundary.

When a position reaches it, the chain closes the position at the mark. The liquidation fee is — of the position's value, split —.

Auto-deleveraging

If a liquidation leaves a loss larger than the position's margin, auto-deleveraging closes the most profitable opposing positions to cover it. GET /adl/rank/{address} shows where a position stands.

Cross margin on the testnet

Testnet only

On the testnet each perpetual market of an account is either cross (the default for a new market) or isolated.

  • Account value is the free USDC plus, for every cross position, its margin and unrealised profit at the mark.
  • A cross position's maintenance is its value × ½ × (1 ÷ the market's maximum leverage); its initial margin is twice that.
  • When the account value falls below the sum of the cross maintenance, the chain liquidates the position with the largest requirement first, closing the smallest step of 25%, 50% or 100% that restores health.
  • What can be withdrawn with cross positions open is the smaller of the free USDC and the account value less the initial margin of every cross position.
  • The mode of a market is changed with a signed SetMarginMode sent to POST /margin/mode, by the account's own key, and only while the market has no open position and no resting order.

GET /account/cross/{address} serves all of it: the mode of each market, the account value, the margin used, what is needed, what can be withdrawn, and each cross position's estimated liquidation price.

Network facts last checked against the network 2026-10-22 13:00:37 UTC · mainnet spec v28 · testnet spec v8

On this page