TIP-077 Fund request to Threshold Pool application: every holders can stake T
TIP Number and Title: TIP-077
Vote Type: Token Holder Governor Bravo
DAO Elected Representative Sponsor: Luna5, Ashley
Introduction
The proposal addresses challenges faced by limited T token activities due to staking limitations. To overcome this, the proposal suggests developing a proxy contract within the T network that can calculate staking contributions from multiple individuals under one account. It includes fair measurement and distribution logic within the contract, request audits to ensure integrity, and develop a staking dashboard UI for easy delegation would enhance accessibility, ultimately fostering a more vibrant ecosystem.
Pain Points
- Small shareholders holding less than 40,000 T tokens cannot participate in staking
- Token utilization faces hurdles because one account cannot receive staking from multiple individuals.
- Participating in staking becomes challenging for those without development knowledge as stakers must personally operate nodes.
Solution
The staking system ideas from DPoS projects are adopted.
- A proxy contract capable of calculating staking contributions from multiple individuals under one account will be developed and open to public for anyone to use.
- The contract includes a logic to measure and distribute rewards on a monthly basis, with binaries or scripts to execute this process.
- Request audits to ensure the proper development of the above logic.
- A Staking dashboard UI will be developed to allow T holders to easily monitor the uptime of nodes operating on this contract and delegate their stakes accordingly.
Contract Operation
Basic introduction
- The contract is already developed and is currently being operated on the contract 0xC1d2fddF9AbE7b3B56d97729139D1f46bD0DA530. It only needs some enhancements and audits.
- A node operator needs 40,000 T tokens staking for node operation.
- Basically, a user’s monthly reward is calculated by the formula above
Detail description
Limitation of the current T staking contract
- In case of staking, it is applied immediately by holder request.
- In case of unstaking, unstaking delay(unauthorization delay) counts from the unstaking request, and neither additional staking nor unstaking is possible.
Staking and distribution logic of T pool contract
- User staking/unstaking requests are aggregated and executed once monthly.
- If staking amount > unstaking amount:
- Stake the difference between staking and unstaking amounts.
- The remainder changes as claimable for unstakers.
- If staking amount < unstaking amount:
- Executes unstaking for the remainders
- Staking requests initiated after the unstaking delay cannot apply to the pool. Instead, distribute the staking reward to new stakers in place of the unstakers.
- Unstaking requests cannot proceed if the current pool is in an unstaking state.
- A snapshot of current staking/unstaking statuses is taken at 00:00 UTC on the last day of each month.
- The default reward distribution ratio is Staker : Operator : DAO = 89% : 10% : 1%. The DAO portion remains fixed, while node commission is adjustable by node operators.
- Additional features include:
- A node operator can register or remove Threshold applications. It affects the unauthorization delay of each node
- Unauthorization delay is calculated automatically upon Threshold application addition or removal.
Development items
Contract
- Add T DAO reward portion
- Implement additional settlements within the period
- Assumed the merkle distribution executed once per month.
- However, occasional instances of merkle distribution may occur due to discrepancies in distribution amounts or bonus allocations.
- Implement to enable additional allocations within the period in spite of once settlement has been performed.
- Implement monthly snapshot scheduler
- Request an audit
Product: Node dashboard
- Display of statistics:
- Uptime
- Apps integrated within Threshold.
- Unauthorization delay (Unstaking delay)
- Total staking amount of the operator.
- Self-staking ratio of the operator
- Staking/unstaking amounts requested for the next period.
- Staking/Reward Statistics
- Estimated reward based on the previous month’s reward
- User’s staking ratio compared to total staking
- Staking interface
- Claim interface
- Wallet integration options
- Metamask-compatible wallets
- Taho (https://taho.xyz/)
Roadmap
Design
- D+1 weeks: Design research
- D+2 ~ D+3 weeks: Brief design, fix displaying contents
- D+4 weeks: Finalize layout.
Frontend
- D+1 ~ D+4 weeks: Component development
- D+5 ~ D+7 weeks: Logic and layout development
- D+8 weeks: QA
Contract
- D+1 week: Development of enhancements
- D+2 weeks: Initial Audit
- D+3 to D+5 weeks: Feedback and confirmation audit, deployment of upgrades.
Budget
Total USD 40K
- It includes the audit and a part of the development cost
- We’ll make the rest of the development cost from the commission
Future plan
- List more operators and make users can choose their staking nodes
- Make the staked share as a liquid staking token (would be ERC721)
- Make the contract as factory form and any operator can get their proxy account by factory contract execution
- Easy to get the operator list easier way in the dashboard side
- Easy to get the proxy account of the operator side