Scope
- EVM smart contract design
- Contract is upgradeable, but scope does not include subsequent upgrades
- Assist with frontend integration
- Audit will be handled by SOON team
- Due date: 2025/05/22
<aside>
<img src="/icons/midtones_brown.svg" alt="/icons/midtones_brown.svg" width="40px" />
1. Overview
$CASH is a decentralized yield-bearing stablecoin designed to provide a stable cryptocurrency investment option and generate yields through CASH staking.
Its core features include:
- Accept multiple stablecoin deposits:
- Issue $CASH: An ERC-20 token pegged 1:1 to USD, instantly redeemable for USD0, lvlUSD, mUSD, USDe.
- Stake $CASH to receive $sCASH: Users can stake CASH to receive sCASH, which provides yield. Unstaking requires a 7-day cooling period. Yields come from staking equivalent underlying stablecoins (weighted APY minus 1%).
</aside>
<aside>
<img src="/icons/midtones_brown.svg" alt="/icons/midtones_brown.svg" width="40px" />
2. Objectives
- Stability: Maintain CASH's 1:1 USD peg through full collateral management and price monitoring.
- Yield Generation: Generate yields by staking CASH to receive sCASH, providing returns from equivalent underlying stablecoin staking (minus 1%) and 0.5% from sCASH staking.
</aside>
<aside>
<img src="/icons/midtones_brown.svg" alt="/icons/midtones_brown.svg" width="40px" />
3. Functional Requirements
3.1 Stablecoin Acceptance
- Supported Stablecoins:
- USDe (Ethena Labs)
- USD0 (Usual Money)
- mUSD (Manta Network)
- lvlUSD (Level-money )
- Deposit Mechanism:
- Users deposit supported stablecoins into the Vault.
- Contract mints CASH at a 1:1 ratio based on the USD value of deposited stablecoins (e.g., deposit 100 USDe, mint 100 sCASH).
- Validation:
- Verify deposited stablecoin contract addresses and balances match whitelist.
- Future Expansion:
- First version supports fixed stablecoins listed above, future additions possible through contract upgrades.
3.2 CASH Issuance
- Token Standard: CASH is an ERC-20 token pegged 1:1 to USD.
- Minting:
- Contract mints equivalent CASH when users deposit supported stablecoins.
- Burning and Instant Redemption:
- Users can instantly redeem CASH for USD0, lvlUSD, mUSD, USDe if sufficient reserves exist in the Vault.
- During redemption, contract burns corresponding CASH and returns equivalent stablecoins.
- Peg Maintenance:
- Collateral fully backed by deposited stablecoins, total supply synchronized with collateral value.
3.3 sCASH Staking Mechanism
- Staking Process:
- Users can stake CASH to receive equivalent sCASH (e.g., stake 1000 CASH to receive 1000 sCASH).
- sCASH is the staked version of CASH, yield returns for holders.
- Underlying Stablecoin Staking:
- When users stake CASH, protocol stakes equivalent stablecoins (USD0, lvlUSD, mUSD, USDe) in respective protocols to earn yield.
- Staking Protocols:
- USDe: Staked with Ethena Labs, receiving sUSDe, estimated 5% APY.
- USD0: Staked with Usual Money, estimated 12% APY.
- mUSD: Staked with Manta Network, APY TBD.
- lvlUSD: Staked with Level Finance, receiving slvlUSD, estimated 8.48% APY.
- Unstaking:
- Unstaking sCASH requires 7-day cooling period, after which users receive CASH plus accumulated yields.
- Yield Calculation:
-
sCASH yields come from weighted average APY of underlying stablecoin staking minus 1%.
-
Weighted APY Formula: where represents each stablecoin (USDe, USD0, etc.).
WeightedAPY = ∑(StablecoinAPYi×DepositProportioni)
-
Example: If underlying weighted APY is 8%, sCASH APY is 7%.
- Yield Distribution:
- sCASH value appreciates over time, reflecting underlying yields.
- Users receive original CASH plus accumulated yields (as additional CASH) upon unstaking.
- Distribution frequency: Daily or weekly, per protocol settings.
- Treasury Vault:
- Function: Stores protocol earnings, including 1% yield deduction.
- Transparency: Balance and transaction records public on-chain, dashboard displays fund flows.
3.4 Withdrawal and Liquidity Management
- Withdrawal Process:
- Users can burn CASH for instant redemption of USD0, lvlUSD, mUSD, USDe.
- If Vault reserves are insufficient, protocol can partner with external liquidity providers or provide DEX liquidity.
- sCASH Unstaking:
- Unstaking requires 7-day cooling period, after which CASH and yields are returned.
- Liquidity Reserves:
- Protocol maintains unstaked stablecoin reserves (recommended 5%-20%), adjusted based on 30-day withdrawal data.
3.5 Stablecoin Exchange Mechanism (Swap Mathematics)
CASH's exchange mechanism uses a StableSwap algorithm similar to Curve Finance, ensuring low slippage and stable exchange rates. Core formula:
∑ixi+Dn+1An∏ixi=ADn+Dn+1n
Where:
- (xi): Quantity of each stablecoin (i)
- (D): Total quantity when all stablecoins are equal in price
- (A): Amplification coefficient (leverage), optimal value 85
- (n): Number of stablecoins
3.6 Security and Transparency
- Security Measures:
- Transparency:
</aside>
<aside>
<img src="/icons/midtones_brown.svg" alt="/icons/midtones_brown.svg" width="40px" />
</aside>
<aside>
<img src="/icons/midtones_brown.svg" alt="/icons/midtones_brown.svg" width="40px" />
</aside>