Delegation
See original GitHub issueOverview
Delegation and staking will be the dominant uses of NEAR until at least Phase 2, and potentially longer (as we see more apps deployed to mainnet). We currently do not have a user-friendly way to delegate, and also want to maximize the utility of the wallet pre-popular apps (and post).
The first version of this can be very similar to Matt’s example delegation app: https://github.com/near-examples/delegation-app, as a separate /delegation
route.
Stories
As a user, I want to view all of the available validators, their fees, and their staking records, so I can understand my options of who to delegate to.
As a user, I want to delegate in as few steps as possible, so I can easily earn yield on my NEAR.
As a user, I want to clearly view my delegation rewards, so I can understand the profit I’ve earned from delegating.
As a user, I want to undelegate in as few steps as possible, and understand how long it will take to undelegate, so I can easily unfreeze my NEAR.
As a user, I want to view my currently delegated balance and who it is delegated to, so I can understand the breakdown of my NEAR that is active and delegated.
Flows
Flow Diagram: https://whimsical.com/73BmnJaf4H3nM717vYZrhP@7YNFXnKbYki95BSqaSZPZ
Delegate Flow
- User navigates to “Delegation” page
- User views a list of available validators a. Name of validator b. Fee (% of reward) c. URL
- User clicks “Delegate” button next to validator they want to delegate to
- User enters amount to delegate and clicks “Submit”
- User must enter their account name, then select “Confirm” to send TX a. If successful, user receives message “You’ve successfully delegated <amount> to <validator name>”
- User views delegated amount, validator name, and earned NEAR on the “Delegation” page
Undelegate Flow
- User navigates to “Delegation” page
- User selects “Undelegate” button
- User must enter their account name, then select “Confirm” to send TX a. If successful, user receives message “You’ve successfully undelegated <amount>. Your NEAR will be unlocked in <time>”
NOTES
Matt’s example delegation app: https://github.com/near-examples/delegation-app
Issue Analytics
- State:
- Created 3 years ago
- Comments:10 (10 by maintainers)
For now we can require that they must create the staking pool through the factory deployed by NEAR foundation. In the future we can think about how to do contract auditing.
Biggest issue will be maintaining:
V0 for OUR wallet should definitely be a list that we control. We could follow @jimmy3dita design for Stake Wars. A repo with list and validators can submit PRs.