Single-sided staking allows users to earn yield by providing liquidity for one type of asset, in contrast to liquidity provisioning on AMMs, which requires a pair of assets.
In the case of SaucerSwap, users stake SAUCE in the Infinity Pool and receive a liquid receipt token called xSAUCE. The ratio of xSAUCE to SAUCE begins at 1 and increases in perpetuity as the Infinity Pool automatically compounds via SAUCE buybacks and farm emissions.
Users can stake xSAUCE (previously referred to as SAUCEr) in Community Pools to earn HTS tokens from projects incubated by HeadStarter. The xSAUCE token will also be used for governance and liquidity provisioning to the SaucerSwap AMM.
In this model, yield is derived from three distinct sources: swap fees across all SaucerSwap liquidity pools, yield farm emissions, and HBAR native staking rewards. This latter reward mechanism involves dynamically staking all HBAR in the WHBAR contract to a permissioned node.
A high-level description of the reward structure is as follows:
The 0.05% protocol fee incurred on all token swaps currently accumulates in an account called feeTo via Uniswap v2 smart contracts. This revenue goes to the DAO treasury at present, but will be reallocated to SAUCE buybacks in
mothership.sol(aka the Infinity Pool) once single-sided staking is implemented. The Brew contract is authorized to withdraw LP tokens from feeTo and burn them to itself, after which point it swaps the underlying assets (token 0 and token 1) for WHBAR and SAUCE using authorized user specified bridges, which are token addresses that facilitate the conversion to SAUCE. Once the bridge swaps are complete, the contract pulls its allocation of HBAR native staking rewards from an intermediary payment splitter contract. These HBAR are wrapped and added to the Brew contract’s WHBAR balance. The final swap to take place is a conversion of WHBAR to SAUCE, resulting in SAUCE being the only token in the Brew contract. This SAUCE, along with 3% of SAUCE token emissions from the farm contract, is sent to the Infinity Pool.
Since the balance of SAUCE in the Infinity Pool is increasing in perpetuity, so too is the ratio of SAUCE to xSAUCE. Conversely, the relative value of xSAUCE to SAUCE is increasing. Consider the following example:
- User A is the first to stake SAUCE in the Infinity Pool. They deposit 10 SAUCE and receive 10 xSAUCE, as the initial ratio is 1:1.
- Next, 10 SAUCE derived from swap fees, HBAR native staking rewards, and farm emissions is sent to the Infinity Pool. Since there is 20 SAUCE in the contract and 10 xSAUCE is the total supply, the ratio is now 1 xSAUCE : 2 SAUCE. User A can redeem their 10 xSAUCE for the 20 SAUCE at any time, based on this ratio.
- Say User A does not redeem their xSAUCE. User B deposits 10 SAUCE in the pool and, since the ratio is 1:2, they get half of their deposit as xSAUCE, which would be 5 xSAUCE. Now the Infinity Pool contains 30 SAUCE and 15 xSAUCE, hence the ratio is maintained.
- The ratio only changes as SAUCE are sent to the Infinity Pool and distributed equally among all xSAUCE holders, because each xSAUCE becomes worth more SAUCE.
The single-sided staking APR is as follows:
Where SAUCE/xSAUCE is the balance of each token in the Infinity Pool, taken as the exchange rate. This rate is updated once per day, therefore subscripts f - i ≈ 24h. Note that the APR displayed on the Stake SAUCE UI is the 5-day average of the above formula.