Skip to main content

MultiCollateralVault

MultiCollateralVault is the custody contract for supported collateral assets.

Responsibilities

  • Accept supported collateral deposits.
  • Track asset-specific vault accounting.
  • Enforce pause and emergency controls.
  • Execute proof-backed withdrawals.
  • Coordinate with state commitment roots.

Design goals

GoalMeaning
Multi-asset supportUSDC, USDT, and future assets can be isolated by asset configuration
Cross-asset isolationAccounting errors in one asset must not corrupt another
Withdrawal verificationClaims execute only when backed by valid roots and proofs
Emergency controlsOperators can pause unsafe paths under governance constraints

Test surface

The vault is exercised by behavior tests covering deposits, withdrawals, decimal precision, ERC-20 edge cases, rate limiting, pause governance, access control, and adversarial scenarios. An invariant suite asserts solvency, claim-tracking accuracy, and pause-state safety across randomized action sequences.

Integration notes

The web application and SDK should:

  • show active vs committed balances separately,
  • avoid exposing server-only proof keys,
  • display transaction lifecycle clearly,
  • handle wrong-network and user-rejected-signature states.