CRXDocs

CSA & Dual Collateral

Where is my collateral held?

In the core contract's vault, keyed to your relationship and token. CRX never takes custody as an operator — the contract holds the funds and the rules move them. There are two places your collateral can sit:

LayerWhat it isWhat it holds
General balanceyour free, global marginany eligible token, the shared backstop across all agreements
SCAyour collateral inside one Master Agreementinitial margin only, for that one relationship

You deposit into your general balance, then allocate from general into an SCA when you bind a position. You pull it back the other way — two-phase, with an exact free-margin check.

What is the CSA?

The Credit Support Annex is the contract that values your collateral. It is chosen per Master Agreement at creation, and it owns exactly one bilateral term: the haircut.

For each eligible token it sets:

  • Eligibility — is this token accepted here at all.
  • Haircut — how much its market value is shaved when counted as margin.
  • Concentration limit — how much of the basket one token may be.

The CSA reads the price from the core's global oracle. It never sets the price. One price per token, identical everywhere it is valued; the haircut is the only thing the CSA decides. See Oracle (~3 min).

What can I post as collateral?

Two tokens today:

TokenHaircutYield
USDCnonenone
sUSDS200 bps (valued at 98% of price)accrues, through its oracle

sUSDS is yield-bearing: its oracle price climbs above $1 as yield accrues, with no keeper. You earn on collateral you have posted but not lost. The trade-off is the haircut — 200 basis points of value shaved for margin purposes.

sUSDS is initial-margin collateral only. It is posted, valued, and seized, but variation margin and the guarantee fund settle in the settlement token (USDC). Making VM multi-asset is a separate, larger change.

Testnet. sUSDS is live on Sonic Testnet 14601 as a mock that accrues 5%/yr. Treat balances as testnet-only.

How is a mixed basket valued?

The CSA's valueBasket shaves each token by its haircut and sums the result. A basket of 1,000 USDC and 1,000 sUSDS is worth 1,000 + 980 = 1,980 in margin value, before any yield. Liquidation values every token the same way, through its own oracle — there is no token the cascade cannot price.

Next: Oracle (~3 min) — where every price in this page comes from.