This page is educational and conceptual. The exact risk parameters (margin multipliers, price-band widths, funding intervals) are part of each market’s configuration and are read from the API, not documented here.
Why RWA perps
- 24/7 exposure. The underlying stock or commodity market is open only part of the week; the perp lets you take or adjust a position any time — overnight, weekends, holidays.
- Leverage and shorting. Go long or short with leverage, from the same USDG collateral you use for crypto.
- One account, many asset classes. Crypto, equities, commodities, and indices share a single balance and margin system.
Tracking total return
Holding a stock or commodity in the traditional world earns (or costs) more than the change in its quoted price — dividends, corporate actions, and the shape of the futures curve all matter. Arcus passes these through so the perp reflects what a holder of the underlying would actually experience, rather than drifting away from it. The adjustments flow through funding and the oracle price.Dividends
When a stock goes ex-dividend, its market price drops by roughly the dividend. On its own that would show up as a loss for a long. Arcus offsets it with a funding payment to longs, so the dividend isn’t lost — it’s reflected in the position’s return.Illustrative: a stock priced at $100 pays a $2 dividend and opens at $98. A long sees -$2 from the price move and +$2 from funding — net flat from the dividend itself, exactly as a holder of the stock would experience.
Splits
On a stock split or reverse split, open orders and a position’s price reference are adjusted by the split factor so the economics are unchanged.Illustrative: in a 2:1 split, a position of 100 units at $10 becomes 200 units at $5 — same exposure, same value.
Futures rolls
For markets built on futures, the contract being referenced changes on a roll schedule. Arcus accounts for the price difference between the contract rolled out of and the one rolled into and passes it through funding (“roll payment”), so your exposure stays continuous instead of jumping on roll dates.Trading when the underlying is closed
Outside the underlying’s regular hours, liquidity is thin and there’s no reliable external price to anchor to. Arcus keeps the market open but adds guardrails so off-hours trading stays orderly — without forcing liquidations on positions that were healthy at the close:How price bands widen
When a market leaves its regular-hours window, the engine seals a settlement anchor —currentSettlementPrice, a VWAP of the closing session — and centers the band on it. The band starts narrow and can only widen in fixed steps, a 0.5x → 1x → 2x → 4x multiplier ladder, under sustained one-directional pressure. Each edge sits at:
initialMarginFraction, how far price can travel inside the band scales inversely with leverage — a lower-leverage (better-collateralized) market is allowed a wider move. At the 4x ceiling, for example:
The anchor is per session: a fresh anchor seals at each weekday RTH close (20:00 ET, Monday–Friday), where the previous band is discarded and both sides reset to the
0.5x rung around it. There is no weekend re-seal — Friday’s 20:00 ET close carries the whole weekend, until regular hours reopen Monday at 04:00 ET. Within a session the ladder is one-way — an expanded side never contracts, even if price fully recovers; it only resets when the next session’s anchor seals.
The upper and lower sides expand independently — each carries its own multiplier and its own clock, so in a one-sided run one edge can reach 4x while the other is still at 0.5x.
Each step up is gated by a 1-hour sustained-pressure clock. A side enters its expansion zone when the 1-hour EWMA of that side’s impact price reaches or passes 90% of the distance from the anchor to the edge — including prices beyond the edge itself. It is a one-sided threshold, not a bounded strip: the zone is everything at or past the 90% mark, with no upper limit (a price already trading through the edge is still in-zone, driving the clock toward expansion). On a 10x market at the first rung, for example, the upper zone starts at anchor × 1.045 — 90% of the way to the anchor × 1.05 edge — and extends through the edge and beyond. The zone edges are not separate API fields, but derive directly from the formula: anchor × (1 ± 0.9 × initialMarginFraction × bandMultiplier). Entering the zone starts the clock; if the EWMA stays in the zone for a continuous hour (with resting depth still present), that side widens one rung. If it eases out of the zone first, the clock resets and no expansion happens. There is no halt state — the market never stops, and trading inside the band is never restricted. The bound is enforced per order: a crossing order fills as far as the boundary allows, and only the portion that would execute at or beyond it is rejected (FILL_WILL_EXCEED_TRADING_BOUND) — so a run can’t blow through every level at once.
Here is one full off-hours session on a 10x market (anchor 65.71, first rung ±5%), showing a single lower-side expansion:
The lower side enters its zone, holds for an hour, and widens one rung. The upper side never moves, and the widened bounds stay for the rest of the session — even after price recovers.
The diagram shows one side. The upper and lower sides run this state machine independently and can be on different rungs at the same time. The whole machine restarts — new anchor, both sides back at
0.5× — only when the next session’s anchor seals.Reading the band from the API
The band is fully observable. Themarkets fields below are read from GET /v1/markets (and the same values ship on the streaming markets channel). Off-hours band state and every off-hours transition stream on the dedicated marketAttributes channel — a per-market snapshot on subscribe, then that market’s full updated block on each event: RTH⇄off-hours crossings (isOutsideRth; band fields populate on the off-hours exit and return to null on the next open), VWAP seals, and the finer bound events (a side entering or leaving its zone, or a bound expanding — boundEvent: expansionZoneEntered, expansionZoneExited, tradingBoundExpanded). It supersedes the older per-market marketAttributes entries on the exchangeAttributeUpdates channel.
There is no single combined
currentTradingBound / nextTradingBound in the API: because the two sides move independently, the “current” and “next” bound are reported per side as the upper… / lower… pairs above.
Related concepts
Funding
How dividends, splits, rolls, and off-hours rates are applied.
Prices
The mark price that drives risk, and how the oracle is sourced open vs. closed.
Margin & leverage
Collateral, leverage, and the off-hours margin regime.
Liquidations
What triggers a liquidation and how off-hours bands help.