OriginDOCS

Accounts & Collateral

Account Model & Sub-Accounts

Account Model

Each Origin account is keyed to an Arc address. The address is the on-chain custodian of the account's collateral and the authoritative signer for sensitive operations (withdrawals, master-key changes, sub-account creation). Trading authority can be delegated to one or more API keys with scoped permissions.

Sub-Accounts

Each master account can create up to 100 sub-accounts. Sub-accounts have:

  • Independent margin and positions. A sub-account's solvency is evaluated in isolation from the master and other sub-accounts.
  • Independent API keys. Sub-account keys cannot operate on the master or sibling sub-accounts.
  • Shared on-chain custody. Sub-account collateral is held under the master account's Arc address; sub-accounts are an off-chain accounting partition of the master's on-chain balance.

Sub-accounts are commonly used to separate strategies, segregate desk risk, or grant scoped API access without exposing the full master account.

API Authentication

API keys are scoped to one of three roles:

ScopePermissions
readRead-only access to account state.
tradePlace, modify, and cancel orders. Cannot withdraw or change account settings.
withdrawInitiate withdrawals to whitelisted addresses.

Keys can additionally be restricted by IP allowlist. Withdrawals to non-whitelisted addresses always require master-key signature, regardless of API key permissions.

Accepted Assets & Haircuts

Stablecoin Collateral

Origin accepts the full set of stablecoins integrated with Circle StableFX as collateral. USDC is the unit of account; non-USD stablecoins are valued at the prevailing StableFX rate when computing margin.

AssetIssuerReference Currency
USDCCircleUSD
EURCCircleEUR
AUDFForteAUD
BRLAAveniaBRL
JPYCJPYC Inc.JPY
KRW1BDACSKRW
MXNBBitsoMXN
PHPCCoins.PHPHP
QCADStablecorpCAD
ZARUZAR Universal NetworkZAR

Crypto Collateral

Major crypto assets are accepted as collateral with volatility-adjusted haircuts. The launch set includes BTC and ETH; additional assets are added through the listing process and published in the asset registry.

RWA Collateral

Tokenized real-world assets are accepted as collateral, beginning with USYC (the Hashnote tokenized money market fund issued natively on Arc). RWA collateral allows institutional users to post yield-bearing assets as margin without converting to non-yielding stablecoins.

Haircut Schedule

Each non-USD collateral asset is assigned a haircut that reduces its margin value to account for price volatility, liquidity, and oracle risk.

Collateral ClassHaircut Range
USDC0%
Non-USD stablecoins0% to 2%
Major crypto (BTC, ETH)10% to 25% (volatility-regime dependent)
RWA (USYC and similar)depends on redemption profile

Haircuts are reviewed quarterly or on material market events. Live values are published in the asset registry.

FX Haircut Pricing: Price Type by Risk Purpose

For non-USD stablecoin collateral, the FX rate used to value collateral is not a single midpoint. Different risk purposes require different FX price types. The table below defines which rate applies in each context and the conservative direction:

PurposeFX Price TypeConservative DirectionTypical TTL
UI display, charts, indicative marginIndicative midNone (display only)30 seconds
Order preview, limit price translationExecutable bid/askAsk when buying USD exposure; bid when selling3 seconds
Collateral valuation for margin$1M StableFX RFQ askAsk (weakens non-USD collateral value)5 seconds
Mark price for virtual markets$1M StableFX RFQ mid, blended with TWAPWeighted toward conservative side5 seconds
Liquidation and bankruptcy checksStressed FX: $1M RFQ ask × stress multiplierAsk × (1 + stress_factor)1 second
Settlement conversions (withdrawal, liquidation)Executable RFQ at actual trade sizeAsk for buys; bid for sellsLive at execution
SL/TP trigger conditions (virtual markets)5-minute FX TWAPSmoothed; manipulation-resistant5 minutes

The guiding principle is: the protocol always uses the FX rate that protects solvency. When valuing KRW1 collateral into USD for margin purposes, the conservative ask is used (making the collateral appear worth less, protecting the fund). When paying out USD PnL in KRW on a withdrawal, the executable bid is used (paying the user slightly less KRW per USD than midpoint, which is the real executable rate).

Cross-Currency Margin Addon

When an account's collateral currency differs from the risk currency of its positions (e.g., KRW1 collateral against a GOOGL/USD perp), the Initial Margin requirement includes a cross-currency FX addon:

fx_margin_addon = position_notional_usd × fx_volatility_buffer × currency_mismatch_weight

This addon increases when FX volatility is elevated and is applied per position where a mismatch exists. The addon is in addition to the standard tier-based IM.

Dynamic Haircuts

Collateral haircuts for non-USD stablecoins are not static; they adjust dynamically based on the following inputs:

collateral_factor = base_factor
                  - volatility_penalty       (based on 30-day FX vol)
                  - spread_penalty           (based on live RFQ bid/ask spread)
                  - depth_penalty            (based on RFQ availability at $1M+)
                  - concentration_penalty    (based on share of protocol collateral)
                  - issuer_penalty           (based on issuer risk signals)

Dynamic haircuts narrow the gap between a collateral asset's nominal value and its realizable USD value under stress. They are evaluated continuously and can widen intra-day if conditions deteriorate.

Currency Concentration Limits

To prevent any single non-USD stablecoin from creating unmanageable FX risk at the protocol level, each currency is subject to concentration caps:

LimitDescription
max_protocol_exposure_usdMaximum total USD-equivalent of a given currency held as collateral across all accounts
max_account_exposure_usdMaximum per-account USD-equivalent of a given currency
max_open_interest_backed_by_currencyMaximum open interest that can be margined primarily by a single non-USD stablecoin
max_liquidation_notional_per_hourMaximum size of liquidation conversions routed through StableFX per currency per hour

When a currency approaches its protocol cap, new deposits in that currency may be restricted and the dynamic haircut widens automatically.

Multi-Collateral Valuation

A user's collateral is denominated in USD for margin purposes:

collateral_value_usd = Σ_i ( balance_i × oracle_price_i × (1 - haircut_i) )

This sum is the basis for available margin and the numerator in margin ratio calculations.