This page explains the mechanics. Per-market values — margin fractions, trading hours, and the live band state — come from
GET /v1/markets; read them from the API rather than hard-coding the examples 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.
Corporate actions
Cash dividends are reflected in the market’s oracle price, which tracks the underlying; Arcus doesn’t pay them out through funding. Arcus stock tokens handle the same events through an on-chain oracle adjustment; see the help-center FAQs Do I get dividends? and What about stock splits?. The commodity markets (copper, gold, silver, and oil) reference ETFs rather than futures contracts, so there are no futures rolls to pass through. To see what is coming,GET /v1/corporateActions lists every market’s splits, reverse splits, stock dividends, and cash dividends, from announcement until 60 days after they take effect, with the ex-date, effective time, ratio or amount, and status. GET /v1/corporateActions/{market_id} returns one market’s list, and upcomingCorporateActions on GET /v1/markets carries the actions still ahead.
Regular trading hours (RTH)
Each RWA market has a regular trading hours (RTH) window: 04:00–20:00 ET on US trading days, which spans the premarket, the regular session, and after-hours. Exchange holidays are off-hours all day, and early-close days end the window early. The window is published per market asregularTradingHours on GET /v1/markets, and isOutsideRth tells you which side of it the market is on right now.
Everything outside that window — overnight, weekends, and holidays — is off-hours, and the guardrails below apply. Crypto perps have no RTH window (regularTradingHours is null) and never enter the off-hours regime.
Trading when the underlying is closed
Outside RTH, 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 and positions are not easily liquidated purely because of thin overnight or weekend liquidity:How price bands widen
When a market leaves RTH, the engine seals a settlement anchor —currentSettlementPrice, a 5-minute EWMA of the mark price, captured as the market leaves RTH — 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 (normally 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 sustained-pressure clock — one hour on STANDARD markets, 10 minutes on FAST markets (see Mark tiers). A side enters its expansion zone when an EWMA of that side’s impact price, with the same time constant as the clock (1 hour or 10 minutes), 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 the full clock — a continuous hour, or 10 minutes on a FAST market (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.
Orders that would rest on the book are checked against the band when placed:
Here is one full off-hours session on a 10x
STANDARD 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.Mark tiers
Each RWA market has an off-hours mark tier,STANDARD or FAST, which sets how quickly the market reacts outside RTH. A market qualifies for FAST when its daily volume averages more than $2M over the past 14 days, so the busiest markets’ off-hours mark and bands follow the order book more closely:
Everything else is the same for both tiers: the anchor, the
0.5x → 4x ladder, the 90% zone threshold and the per-order bound checks. On either tier, a side whose price is pressing against its edge is never frozen: orders that would fill at or beyond the edge are rejected one by one, and the edge moves only when the sustained-pressure clock completes — after 1 hour on a STANDARD market, 10 minutes on a FAST one. During RTH the tier has no effect — the mark price is computed the same way for every market (see Mark price).
Read a market’s tier from markTier on GET /v1/markets rather than computing it yourself: tiers are reassigned as volumes change.
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 (boundEvent: exitRth / enterRth; the anchor seals and band fields populate on the exit, and return to null on the next open), 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 funding is calculated, and the off-hours rate.
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.