<img src="https://i.imgur.com/OyL8CcE.jpg" alt="drawing" width="200"/> # Bootstrap ONE-T Nomination Pools - Task 2 Proponent: H1tAQMm3eizGcmpAhL9aA9gR844kZpQfkU7pkmMiLx9jSzE Contact: Paulo [@turboflakes:matrix.org] Date: 07.07.2021 Requested KSM: 20 000 KSM *Short description:* **ONE-T** is a **validator-performance bot for Polkadot and Kusama** networks with special focus on the One Thousand Validator Programme ([TVP](https://wiki.polkadot.network/docs/thousand-validators)). **ONE-T Nomination Pools** are automated, precisely and unbiased with ONE-T bot at its core. The main goal is to bootstrap nomination pools to run an **independent and experimental validator programme for 6 months** using **20 000 KSM from Kusama Treasury funds to provide bonded stake** to two distinct nomination pools. This proposal aims to implement the 2nd task as described in the [full proposal document](https://hackmd.io/@turboflakes/SyqlsRtYc#312-How-do-we-plan-to-use-Treasury-funds-into-ONE-T-Nomination-Pools). The goal is to transfer funds from the Kusama Treasury, convert those funds in bonded stake into two nomination pools, claim rewards and unbond those funds after 6 months. This proposal submitted by the council should ideally become Referenda. Site: [one-t.turboflakes.io](https://one-t.turboflakes.io/#/kusama) Proposal discussion: [kusama.polkassembly.io/post/1633](https://kusama.polkassembly.io/post/1633) ![](https://i.imgur.com/9TiaB2l.png) ## Context of the proposal If the previous step ([Task 1](https://hackmd.io/@dE-4mfAUSPqIubXD8Bl50Q/H14ZujQi5)) passes council vote with a successfully outcome, this proposal aims to use the two anonymous proxy account addresses as described in the full proposal document [here](https://hackmd.io/@turboflakes/SyqlsRtYc#312-How-do-we-plan-to-use-Treasury-funds-into-ONE-T-Nomination-Pools). ## Proposal Objective/solution Creation of a single proposal to be submitted by council so that could become later referenda with the goal described by the points below: * Transfer 10,000 KSM from treasury to the anonym proxy account A; * Transfer 10,000 KSM from treasury to the anonym proxy account B; * Make the anonym proxy account A a member of pool 12 by joining with the amount of 9,999 KSM (1 KSM left for transaction fees); * Make the anonym proxy account B a member of pool 13 by joining with the amount of 9,999 KSM (1 KSM left for transaction fees); * Schedule a call after 2,592,000 blocks (6 months) with a batch call: * Claim Payout for the anonym proxy account A from pool 12; * Unbond all funds (9,999 KSM) of the member (anonym proxy account A) from pool 12; * Claim Payout for the anonym proxy account B from pool 13; * Unbond all funds (9,999 KSM) of the member (anonym proxy account B) from pool 13; Note: 6 months is around 2,592,000 blocks (6 * 30 * 24 * 60 * 10) *Accounts:* `KUSAMA_TREASURY_ACCOUNT = F3opxRbN5ZbjJNU511Kj2TLuzFcDq9BGduA9TgiECafpg29` `ANONYM_PROXY_ACCOUNT_A` to be defined by Milestone 0 (Step 1) `ANONYM_PROXY_ACCOUNT_B` to be defined by Milestone 0 (Step 1) *Proposed extrinsic batch_call:* ``` utility.batchAll(calls) { "calls": [ { "args": { "source": { "Id": "KUSAMA_TREASURY_ACCOUNT" }, "dest": { "Id": "ANONYM_PROXY_ACCOUNT_A" }, "value": "10,000,000,000,000,000" }, "method": "forceTransfer", "section": "balances" }, { "args": { "source": { "Id": "KUSAMA_TREASURY_ACCOUNT" }, "dest": { "Id": "ANONYM_PROXY_ACCOUNT_B" }, "value": "10,000,000,000,000,000" }, "method": "forceTransfer", "section": "balances" }, { "args": { "real": "ANONYM_PROXY_ACCOUNT_A", "force_proxy_type": null, "call": { "args": { "amount": "9,999,000,000,000,000", "pool_id": "12" }, "method": "join", "section": "nominationPools" } }, "method": "proxy", "section": "proxy" }, { "args": { "real": "ANONYM_PROXY_ACCOUNT_B", "force_proxy_type": null, "call": { "args": { "amount": "9,999,000,000,000,000", "pool_id": "13" }, "method": "join", "section": "nominationPools" } }, "method": "proxy", "section": "proxy" }, { "args": { "after": "2,592,000", "maybe_periodic": null, "priority": "0", "call": { "Value": { "args": { "calls": [ { "args": { "real": "ANONYM_PROXY_ACCOUNT_A", "force_proxy_type": null, "call": { "args": {}, "method": "claimPayout", "section": "nominationPools" } }, "method": "proxy", "section": "proxy" }, { "args": { "real": "ANONYM_PROXY_ACCOUNT_A", "force_proxy_type": null, "call": { "args": { "member_account": "ANONYM_PROXY_ACCOUNT_A", "unbonding_points": "9,999,000,000,000,000" }, "method": "unbond", "section": "nominationPools" } }, "method": "proxy", "section": "proxy" }, { "args": { "real": "ANONYM_PROXY_ACCOUNT_B", "force_proxy_type": null, "call": { "args": {}, "method": "claimPayout", "section": "nominationPools" } }, "method": "proxy", "section": "proxy" }, { "args": { "real": "ANONYM_PROXY_ACCOUNT_B", "force_proxy_type": null, "call": { "args": { "member_account": "ANONYM_PROXY_ACCOUNT_B", "unbonding_points": "9,999,000,000,000,000" }, "method": "unbond", "section": "nominationPools" } }, "method": "proxy", "section": "proxy" } ] }, "method": "batchAll", "section": "utility" } } }, "method": "scheduleAfter", "section": "scheduler" } ] } ``` #### What happens to the funds after the end of the 6 months period proposed? We plan to report back how successfully the Treasury funds have been applied into ONE-T Nomination Pools and let the community decide by opening a discussion followed by a new council proposal to either transfer the funds + staking rewards back to the Kusama Treasury or rebond and extend the period for another 6 months. #### Why 20 000 KSM? We think that 20 000 KSM (which is around half of the average of 38 380 KSM from the 23 nominator accounts currently available in the TVP programme) applied to the 36 nominees total stake will most likely not put any validator directly into the active set, but combined with the validators independent nominators and when overlapping with the TVP nomination will certainly give a push to keep part of these validators in the active set. #### Potential Risks Validator slashing is the major risk we foreseen by applying Kusama Treasury Funds into bonded stake. The strict rules applied by the TVP programme alone are aimed to lower the risk of slashing and guarantee that the validators in operation are trusted, secure and have good intentions. Other risks might fall on the ONE-T bot it self while monitoring the network or the nomination could not be triggered every other era - we will try to mitigate this risk as much as we can by continuosly monitoring the bot. ONE-T also reports the status of the nomination to the public room so that community could be aware when the new set of nominees is sent on-chain. ### Who does this solution help? - It aims to give more exposure of Nomination Pools on Kusama. - This proposal aims to help good performances and reliable independant validators to be in the active set more frequently. - It aims to build up trust and offer potential nominators credibility about all the validator nominees that are nominated by ONE-T.