A par-stable, two-tranche protocol
RWA Protocol is a par-stable, two-tranche DeFi system deployed natively on Robinhood Chain, an Arbitrum Orbit L2. It splits risk and return between a senior dollar tranche and a junior equity tranche, allowing each participant to choose their exposure explicitly.
The senior tranche is USDR, a par-$1 dollar unit backed by USDG collateral and Morpho USDG lending yield. sUSDR is the ERC-4626 wrapper that captures the yield stream through linear, JIT-resistant vesting.
The junior tranche is RWAX, an equity-like NAV token backed by a curated basket of tokenized equities (AAPL, TSLA, NVDA, MSFT, GOOGL, SPY, QQQ, SLV, SGOV) held via the StockBasketAdapter and priced by Chainlink feeds. Senior holders receive protocol yield first; junior holders absorb NAV volatility in exchange for upside via ATM issuance and buybacks.
System architecture
The protocol is deployed atomically by a single ProtocolFactory, taking advantage of Robinhood Chain's 96 KB contract code-size limit. The factory acts as a temporary governor to wire whitelists before handing governance to the intended multisig owner.
Core modules
USDR / sUSDR mechanics
USDR is minted 1:1 for USDG through the Issuer. Redemption is symmetric: holders redeem at par whenever the protocol is healthy. USDR is an ERC-20 with whitelist-gated mint and burn: only the Issuer and YieldDistributor can create new supply.
sUSDR is an ERC-4626 vault over USDR. Depositors receive shares that appreciate as the YieldDistributor mints new USDR into the vault and begins a linear vest.
The vault's totalAssets() subtracts the currently-unvested portion of the last yield drop. A depositor cannot sandwich a yield distribution to capture rewards they did not earn.
When strict mode is enabled, standard ERC-4626 withdrawals are disabled. Users call cooldown(shares) to snapshot asset value, then claim(ticketId) after the cooldown period elapses.
RWAX & the equity basket
RWAX is the junior, equity-like tranche. Its NAV is computed as the Treasury's total USD value minus the par value of outstanding USDR, divided by RWAX supply. Junior holders absorb the volatility of the tokenized-equity basket in exchange for upside.
Fixed initial supply is seeded by the factory. Additional supply is only created via the JuniorATM, which mints RWAX at market NAV plus a governor-set premium and routes proceeds to the Treasury and StrategicReserve.
Yield path & peg defense
Yield originates in the Morpho USDG vault, is harvested into the Treasury, and pushed by the YieldDistributor into sUSDR, unless the oracle is unhealthy, in which case it spills to the Buffer.
The MorphoAdapter wraps the Steakhouse MetaMorpho ERC-4626 vault. Withdrawals are clamped by the vault's available liquidity to avoid reverts under tight conditions.
The PegController reads the USDR peg deviation and Buffer carry to decide whether the effective yield to sUSDR should be raised, to defend the peg, or lowered, to rebuild the buffer. It never touches adapter returns; it only reshapes the split.
Oracle & circuit breaker
The NAVOracle is a multi-feed oracle with heartbeat staleness checks and deviation bands. Its assertHealthy() function reverts in three cases, halting yield distribution, peg widening, and ATM pricing.
Outside NYSE hours, equity Chainlink feeds go stale, so the breaker fires: yield spills to the Buffer, the PegController refuses to widen, and the JuniorATM refuses to price.
Tokens & fee flow
Fee flow
Uniswap V3 pool fees on the RWAX/USDG pair accumulate in the LiquidityManager. A permissionless sweep routes them to the FeeSplitter, which divides USDG by immutable basis points into three destinations:
Security & governance
Licensed under BUSL-1.1. This whitepaper is a summary of protocol design; contract source and the full deployment playbook are the authoritative reference.