UpshiftDocs

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:

CheckPurpose
Staleness thresholdRejects prices older than a configurable window (minimum 5 minutes)
Price deviation boundsOptional per-asset circuit breaker that rejects conversions if the oracle price deviates too far from the expected peg
Round completenessEnsures the oracle has fully reported the current price round

Fee Structure

A spread fee is applied to every redemption, denominated in USDC:

ParameterRange
Spread (per asset)0.05% to 5.00%, configurable
Rate limitOptional 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:

  1. Spread fees — every instant redemption generates fee revenue that accrues to the vault's NAV
  2. 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