This page is conceptual. Live per-market margin and leverage parameters come from
GET /v1/markets; your account’s current margin and equity come from GET /v1/account.Collateral
Collateral is held as USDG, the protocol’s settlement stablecoin, in your Arcus account. Your account equity is your collateral balance plus the unrealized profit and loss of your open positions. The collateral balance includes funding paid and received, which is not part of unrealized PnL — see How funding is applied. See Onboarding & deposits for how funds arrive as USDG. With Multi-Asset Collateral, eligible spot tokens can also back your positions through an automatic USDG loan; on an account holding them, equity also includes the tokens’ value minus unsettled interest.Initial vs. maintenance margin
Each market sets its own initial and maintenance margin requirements based on its risk profile, expressed as a fraction of position notional.
Cross and isolated margin
Arcus supports both cross margin (positions share the account’s collateral, so the whole balance backs every position) and isolated margin (collateral is allocated to a single position, capping its risk to that allocation). Every position is cross margin by default; isolated margin is live and can be enabled per market. See Cross & isolated margin for how each mode measures risk, how to switch modes, and how to move collateral onto and off an isolated position.Leverage
Leverage is the inverse of the initial margin requirement. Arcus supports up to 50x leverage; the maximum is set per market and published with each market’s parameters. Higher-volatility or less-liquid markets carry lower maximum leverage.Off-hours margin
For perps whose underlying has set trading hours (equities, commodity and index ETFs), Arcus raises the initial margin requirement outside the market’s regular trading hours (RTH). This makes it more capital-intensive to open or grow positions during thin overnight and weekend liquidity, reducing the risk of disorderly moves and liquidation cascades. Maintenance margin is not raised off-hours — existing, adequately-margined positions are not pushed toward liquidation simply because the market closed.Crossing the session boundary
The uplift is not a one-off charge applied at the close — it is a function of the market’s current session state, so it switches on at the RTH → off-hours boundary and switches back off when the session reopens:
Nothing is snapshotted or carried over: the requirement reverts to exactly the in-session value at the reopen, and the effective maximum leverage recovers with it. Read the current state from
GET /v1/markets — isOutsideRth tells you which of the two fractions is live, and regularTradingHours gives the session window.
offHoursInitialMarginFraction is typically 1.5× the in-session initialMarginFraction — a 50% higher initial-margin requirement while the underlying is closed — but the ratio is set per market and some markets differ, so read both values from GET /v1/markets instead of hard-coding it. At 1.5×, effective maximum leverage drops in step: a market you can open at 10x in-session tops out near 6.7x off-hours, and a 5x market near 3.3x.
Two consequences worth designing for:
- Your buying power changes without you trading. Because the requirement feeds the margin figures the API reports,
freeCollateralfalls at the RTH → off-hours boundary and recovers at the reopen, with no fill, transfer, or price move involved. Account equity itself is unaffected — only the collateral held against open positions changes. Don’t treat a drop across the boundary as an error or a missed fill. - A position opened at max in-session leverage can sit below the off-hours initial-margin threshold. That is expected and is not a liquidation trigger: liquidation is governed by maintenance margin, which does not move. The position stays open and can still be reduced or closed; what you cannot do until the session reopens is open or increase while below the higher requirement.
Exact off-hours margin multipliers and per-market requirements are part of each market’s published parameters and may change. Always read the live values from the API rather than hard-coding them.