Pricing and Fees
How RWA Clear prices redemptions with oracle feeds, applies spread fees, and generates yield for liquidity providers.
Oracle Pricing
Each supported RWA token has a dedicated oracle price feed that provides a live market rate. The contract converts the input asset to USDC using this oracle price, with multiple safety checks:
| Check | Purpose |
|---|---|
| Staleness threshold | Rejects prices older than a configurable window (minimum 5 minutes) |
| Price deviation bounds | Optional per-asset circuit breaker that rejects conversions if the oracle price deviates too far from the expected peg |
| Round completeness | Ensures the oracle has fully reported the current price round |
Fee Structure
A spread fee is applied to every redemption, denominated in USDC:
| Parameter | Range |
|---|---|
| Spread (per asset) | 0.05% to 5.00%, configurable |
| Rate limit | Optional per-transaction cap on USDC output |
Fees are not extracted or distributed separately. They remain in the subaccount, increasing the net asset value for all vault depositors automatically.
LP Yield Sources
Liquidity providers earn from two sources:
- Spread fees — every instant redemption generates fee revenue that accrues to the vault's NAV
- Idle lending yield — USDC not immediately needed for redemptions earns lending yield via the yield layer (e.g., Morpho)
Worked Example
An RWA holder redeems 10,000 USCC. The Chainlink oracle reports a rate of 1.02 USCC per USDC. The configured spread is 10 basis points (0.10%).
- USDC equivalent: 10,000 / 1.02 = 9,803.92 USDC
- Fee: 9,803.92 x 0.10% = 9.80 USDC
- Holder receives: 9,794.12 USDC (instantly, vs. ~32 hours via traditional redemption)
- The 9.80 USDC fee stays in the vault, accruing to all LPs