Architecture
RWA Clear consists of two smart contract components that work together:
The Vault (Atomic Vault)
The vault is the LP-facing component. It accepts USDC deposits, mints vault shares, and manages the overall asset pool. When LPs want to withdraw, the vault handles instant redemptions of shares back to USDC.
The vault automatically routes deposited USDC to the Instant Redeem Subaccount for liquidity provisioning and yield generation. If the vault needs USDC for an LP withdrawal and its own balance is insufficient, it pulls the deficit from the subaccount automatically.
Key properties:
Standard Upshift tokenized vault with ERC-4626-compatible share mechanics
Instant atomic redemptions (no T+32 hour waiting period)
Auto-routes capital to the subaccount for yield optimization
Share price reflects total vault assets, including subaccount holdings and accrued fees

The Instant Redeem Subaccount
The subaccount is the RWA-holder-facing component. It is a standalone contract that holds USDC liquidity and processes instant swaps of RWA tokens to USDC using oracle pricing.
Key properties:
Holds idle USDC and auto-deploys it to a yield vault (e.g., Morpho) for passive lending returns
Accepts RWA tokens and swaps them for USDC at oracle-derived prices minus a configurable spread
Fees remain in the subaccount, increasing the net asset value for all vault depositors
Non-upgradeable — the contract cannot be modified after deployment
Bound to a single vault — permissions and governance are inherited from the parent vault
How They Connect
The subaccount has no independent admin keys. All access control — owner, operator, whitelist — is read from the parent vault at call time. If the vault's owner changes, the subaccount's permissions change immediately.
Last updated
