SIP-52: USDs smart contract upgrade (USDs version 2)

Author: Sperax Core Team
Reference: Current docs
Created: July 26, 2023
Labels: Product-Features, USDs-Parameters

Simple Summary / Motivation

Sperax is upgrading its Smart contract architecture to further decentralize the protocol. The key idea behind the decentralization of the protocol is to make it completely transparent and open to all users to run the protocol. We are still deliberating on features that will be upgradeable via protocol governance and features that will be governance-free. Making some features governance-free will allow for more transparency and faith amongst developers building on top of the Sperax USD protocol. Even the protocol functionalities that need a governance proposal to undergo change will be implemented via a timelock so that the participants of the protocol will have sufficient time to change their behavior or interaction with the protocol if they are unhappy with the proposed changes.

Overview / Technical Specification

Major protocol improvements in USDs smart contract (USDs version 2)

The Smart contract architecture is been upgraded to decentralize certain functionalities which were earlier available to the admin only. Some of the functionalities which will be decentralized are:

  • Depositing and withdrawing collateral from yield strategies
  • Harvesting yield-farmed tokens from yield strategies
  • Exchanging harvested yield tokens for USDs
  • Introducing a new dripper contract
  • Distribution of auto-yield to all eligible addresses

Apart from the above upgrades, we will also be upgrading the redemption functionality to allow redeemers to redeem from a certain yield strategy to provide more flexibility to redeemers.

In a future upgrade, we will introduce a view function to help redeemers view the slippage at the yield strategy level.

Introducing Dripper contract and changes to Auto-Yield

The dripper contract controls the rate of release of USDs for rebase. All USDs bought back from the market will be deposited in a new “Dripper” contract. This contract will gradually release USDs which can be distributed as auto-yield to USDs holders if certain conditions are met. The initial release rate is set to (Dripper USDs balance / 7 days), i.e. every USD deposited in Dripper will be released gradually at a constant rate per second over the next 7 days.

Conditions when someone can call the function to distribute auto-yield:

  1. Distribute the auto-yield after at least three days since the last distribution.
  2. Distribute the auto-yield only if the APR achieved through the distribution is greater than 3%.
  3. Cap maximum APR for auto-yield at 10%. Store in the contract for future distributions any extra yield generated over 10%.

Voting

For:

Upgrade USDs smart contract

Against

Don’t upgrade the smart contract

  • For
  • Against
0 voters

This topic was automatically closed after 2 days. New replies are no longer allowed.