@Vinit2winit and I have been looking to build a contract that allows FEI and Tribe holders to easily deposit their tokens, similar to what @Eswak proposed earlier. The contract will then conduct the necessary swaps to get equal amounts of FEI and Tribe, add liquidity to Uniswap, stake LP Tokens, and auto-compound rewards.
We would love to get some feedback on the idea, mainly if we should build on top of Pickle (comes with 20% cut) and periodically reinvest the earned Pickle into more Tribe or build a platform analogous to Pickle with much lower fees (5-10%).
The full proposal is below:
Fei Investors want to easily stake/unstake Fei/Tribe Tokens while maximizing yield
- Gas Fees and Process Complexity affect Novice DeFi user with <$1,000 in protocol
- No Optimized restake + auto compounding based on Gas Fees
- No single token staking platform
- Non Consistent Analytics shown for Compounding Rewards
- Not optimally leveraging platforms for higher rewards (Pickle & 20% Fees)
Create an interface that acts as a vault to accept users deposited FEI, Tribe, or uni-FEI-Tribe LP tokens to earn interest on tribe rewards that are optimally re-staked and autocompounded
- Mechanism takes any of these three collateral at any portion: Tribe, Fei, LP tokens
- One click investing with interface to avoid LP token generation and depositing in protocols (Pickle)
- Flexibility Vault to include other high generating Staking mechanisms and socialize gas costs to support Novice investor
- Novice Investors who need an easy way to stake/unstake capital without incurring gas fees nor undergoing transactions across multiple platforms
- LongTerm Investors: People are staking in Tribe and Fei for the longterm for profit bearing returns
Gas fees are not taken into consideration for this proposal.
FeiTribeSink is a mechanism we refer to perform the initial steps of LP token generation. FeiTribeSink will be broken into multiple contracts and inherited among each other in reality
FeiTribeStake will be a fork of Pickle auto compounding contract of Fei
Users are able to deposit either Fei or Tribe into FeiTribeSink. FeiTribeSink keeps a record of addresses and the corresponding amount of Fei or Tribe committed to the vault by a staker. The vault is a fork of the Yearn Vault code. This vault takes in uniTribeFei LP tokens and executes the auto-compounding strategy.
Similar to a Yearn vault, two pools of funds will be created, The first pool will be a reserve that contains Fei and Tribe for users who want to unstake collateral. The pool amount can be a percentage of the amount wanting to be staked. This percentage can be determined at a later date.
The second pool will be used to execute the auto compounding strategy.
Step 1: LP Token
FeiTribeSink once a week will perform two different actions. First, it will use the price oracle of Fei and Tribe to determine if there is an equal price amounts of Fei and Tribe committed by the stakers. If there is an unequal amount of either Fei or Tribe, FeiTribeSink will act like a “zapper” : the token overcollateralized among the pair will be swapped for the other token on Uniswap.
For example, the price of Fei is 1$ and Tribe is at 2$. The pool has 100k Fei and 40k Tribe. The pool has 100,000 dollars of Fei and 80,000 dollars of Tribe. The FeiTribeSink will take the difference of both token amounts (20,000) dollars and swap out half the amount (10,000) for equivalent Tribe on Uniswap on the Uniswap Fei/Tribe contract. Now there exists 90,000 dollars worth of Fei and Tribe in FeiTribeSink.
FeiTribeSink will take the equal priced amount of Fei/Tribe and will be provided as liquidity on Uniswap in exchange for Fei/Tribe LP Tokens. These LP tokens will then be deposited into FeiTribeStake.
There are two approaches to take, investing the LP Tokens directly on Pickle or directly interacting with the FEI staking contracts.
Once LP tokens are claimed, They are staked into a Pickle Jar for pUniTribeFei tokens. These pUniTribeFei tokens are then re-staked into a Pickle farm to earn Pickle over time. These Pickles will be redeemed by the smart contract on a weekly basis. The pickle rewards will then be swapped for ETH. The redeemed ETH can be used in two different ways:
- ETH is used to provide gas fees and “power” this strategy
- ETH is swapped for FEI, which is then restaked for additional rewards
Direct to FEI
Step 2: Deposit LP to Fei.Money
Once LP tokens are claimed, FeiTribeStake will interact with IStakingRewards so that the LP tokens are successfully staked for all stakers. The amount being staked and the corresponding rewards will be displayed on a separate dashboard. You can continuously see how much Tribe you are being rewarded by looking at this seperate dashboard.
Step 3: Auto Compounding Staking Rewards
Once a week, the platform will autocompound the Tribe rewards back into the Fei protocol. Auto Compounding will occur on Sundays at 3pm EST. While this doesn’t ensure the gas price is the lowest price for that week, historically the cost of gas has been considered one of the cheaper time slots during the week.
A gasprice Oracle will be used to ensure the gas price of performing the transaction will cost less than a certain percentage of the cost of Tribe rewards being autocompounded. If the price is high due to unknown usage on Ethereum, the transaction will be reassessed three hours later, until the transaction goes through.
During auto compounding, Tribe will be claimed by FeiTribeStake and will be deposited to the FeiTribeSink contract.
Users who unstake collateral will be able to dip in the reserved pool of funds held by FeiTribeSink.You will be able to withdraw any percentage of Fei/Tribe from the system plus the yield you’ve earned via Tribe rewards.
If there is not enough funds in the reserve pool, there will be a 2% fee attributed to reclaiming your asset ( plus any fees for the underlying transaction).