Nomination Pools

What Are Nomination Pools?

Nomination pools are a critical feature in Avail's consensus system, akin to those in Polkadot and Substrate (opens in a new tab), They allow users to combine their stakes, effectively acting as a single nominator. This approach addresses the limitations of individual small stakes and ensures more efficient participation in the staking process.


Pool Mechanics

Features

  • Accessibility: Open to all users, with no minimum stake requirement.
  • Member Capacity: Each pool can accommodate a large number of members, ensuring wide participation.
  • Reward System: Rewards are distributed pro-rata but are not guaranteed if the pool's total stake is insufficient.

Key Considerations

  • Nominating vs. Joining Pools: Understand the differences between direct staking and pool participation.
  • Restrictions: Bonded tokens in pools cannot be used for governance activities.
  • Support Channels: Avail provides dedicated channels for queries and developer support regarding nomination pools.

Components

  • Bonded Pool: Manages actively staked funds.
  • Reward Pool: Tracks earned rewards.
  • Unbonding Sub Pools: Handles various unbonding phases.
  • Members: Individuals contributing to the pools.
  • Points System: A measure of a member's share in the pool.

Member Lifecycle

  1. Joining: Members can join a pool by contributing funds.
  2. Claiming Rewards: Members claim their share of rewards based on their stake in the pool.
  3. Unbonding and Withdrawal: Members can unbond and withdraw their funds, following a set duration.

Limitations

  • Voting Restrictions: Funds in nomination pools cannot be used for voting in governance matters.
  • Pool Switching: To switch pools, members must unbond all funds, subject to a waiting period.

Pool Administration

States of a Pool

  • Open: The pool is active and open for anyone to join.
  • Blocked: The pool is currently not accepting new members.
  • Destroying: The pool is being decommissioned. In this state, no actions can revert the pool back to a previous state, and it is on the path to be fully removed. Members can unbond their stakes without restrictions during this phase.

Roles within a Pool

  • Depositor: The creator and initial member of the pool. The depositor has the authority to manage the pool but is also the last to leave, ensuring the pool is properly dismantled.
  • Nominator: Responsible for selecting validators for the pool to nominate. This role is pivotal in steering the direction and performance of the pool.
  • Bouncer: Has the power to change the state of the pool, including initiating the transition to a Blocked or Destroying state. They can also remove members from the pool if necessary.
  • Root: This is the highest administrative level within the pool with the ability to manage all other roles and perform any related administrative actions.

Each role is integral to the efficient operation and governance of the nomination pool. Clear understanding and execution of these roles ensure the pool operates smoothly and aligns with the members' collective objectives.

How to join an existing nomination pool

PREREQUISITES
The only prerequisite for joiniing a nomination pool on Avail DA is that you have an Avail DA compatible wallet with a minimum of 100 AVAIL in it.

Navigate to the Staking Dashboard Page

Go to the staking dashboard page (opens in a new tab), and connect your wallet by clicking on the connect button on the top right. The dashboard supports a variety of different options.


Configure your pool selections

Go to the Pools tab from the left sidebar, and click on the Ready to Join Pool button. You have a few choices to configure your pool withdrawl settings:

  1. Allow Withdraw: Allow the pool admins to withdraw rewards to your account.
  2. Allow Compound: Allow the pool admins to restake your rewards.
  3. Permissioned: Only you can perform 1 & 2.

Join the pool

Once you have configured your settings, you can join the pool with any amount ≥ 100 AVAIL. Simply click on Join Pool and approve the transaction.

⚠️

DON'T STAKE ALL YOUR AVAIL
Each transaction on Avail DA requires a small amount of AVAIL to be paid as fees. We highly recommend you keep a small unstaked balance that you might need to initiate any other transactions.

Please note that this tutorial showed you how to join a recommended nomination pool on Avail by clicking on the Ready to Join Pool button. You can view a list of all available pools by going to staking.availproject.org/#/pools (opens in a new tab) and clicking on All Pools.
There you can check out a list of all available pools on Avail DA and join the one that you want.

Withdraw your rewards from the pool

After a few days you will see unclaimed rewards adding up for your account in the staking dashboard. You can either withdraw these rewards to your account or compound them back into the pool.
To withdraw your rewards, click on the Withdraw button and approve the transaction. You will then receive your rewards in your account.
By clicking on the Compound button, you can restake your rewards back into the pool.



⚠️

PLEASE NOTE
The rewards you earn for staking AVAIL to nomination pools are not automatically transferred to your account. You need to manually sign a withdraw transaction to claim your rewards.

Create a new nomination pool

PREREQUISITES
The only prerequisite for creating a new nomination pool on Avail DA is that you have an Avail DA compatible wallet with a minimum of 10000 AVAIL in it.

Get set up as before

Go to staking.availproject.org/#/pools (opens in a new tab) and make sure you have connected a wallet to the website that has sufficient funds to create a pool.

Name your pool

Click on Create Pool and enter a name for your pool. This name will be visible to all users.


Nominate validators for your pool

You can nominate upto 16 validators for your pool, with a few different options to come up with your list. This is very similar to how validators are selected for direct nomination. You can check out the docs here for reference.

Delegate roles for your pool

A nomination pool on Avail DA has 4 different roles. You can read about them up in the page, under the Pool Administration block. You can delegate all the roles except the Depositor to addresses of your choices, which will always be the address that created the pool.

Enter the bond amount

Enter the amount of AVAIL you want to bond to the pool. 10000 AVAIL is the minimum amount needed to create the pool, and other users can deposit more AVAIL to the pool to join it.

⚠️

DON'T STAKE ALL YOUR AVAIL
Each transaction on Avail DA requires a small amount of AVAIL to be paid as fees. We highly recommend you keep a small unstaked balance that you might need to initiate any other transactions.

Create the pool

One everything is done, take a good look at the summary and click on the Create Pool button. Approve the transaction that pops up.


As the pool owner you will have the privilege of setting various parameters for the pool once it is created, which will affect the rewards distribution and the pool's overall performance.
Read below for more information on the same.

Setting Pool Commissions

As the pool administrator on Avail, you have the capability to establish commission rates that affect the staking rewards distribution. These are the steps and parameters to configure your pool's commissions:

Commission Rate

  • Function: Establish the starting or adjusted commission rate.
  • Parameter: newCommission
  • Range: From 0% to 10%, decided via governance referendum.
  • Usage: This is the percentage of rewards taken as commission. Specify the recipient account for this commission.

Max Commission

  • Function: Set the upper limit for the pool's commission rate.
  • Parameter: maxCommission
  • Note: Once set, you can only lower this rate, not increase it.

Change Rate

  • Function: Determine the maximum increase allowed per commission update.
  • Parameter: maxIncrease
  • Additional Setting: minDelay, the minimum number of blocks after the last commission change before a new update is permitted. Once set, this can only be increased.

Administrative Transparency

The decision to set Max Commission and Change Rate is at the discretion of the pool admin. These settings are not obligatory but are recommended for clarity and transparency with pool members.

When setting these parameters, balance the need to incentivize pool operation with the rewards expectations of your members. Clear communication regarding commission changes is essential to maintain trust within your pool community.


Exiting a Nomination Pool

Members of a nomination pool on Avail have the flexibility to leave the pool at any time through a process called unbonding. Here's how it works:

Unbonding Process

  • Initiation: A member initiates unbonding by choosing to unbond either a portion or all of their staked funds from the pool.
  • Duration: Once the unbonding request is made, it enters a cooldown period. The exact duration of this period is specific to Avail and may differ from other platforms.
  • Withdrawal: Following the end of the unbonding period, the member is eligible to withdraw their funds by executing the withdrawUnbonded operation.

Automatic Rewards Withdrawal

  • Trigger: Any modification to a member's bonded balance—such as through unbonding—automatically prompts the withdrawal of accumulated rewards.
  • Effect: The withdrawn rewards are based on the member's stake before the unbonding transaction. This ensures that members receive the rewards they are entitled to up to the point of their unbonding.

Considerations for Pool Exit

  • Exiting the pool ends the member's current staking relationship with that pool.
  • Members are free to join another pool after withdrawing their funds, subject to Avail's staking rules and timelines.

Administrative Notes

  • Pool admins should provide members with clear instructions on the unbonding and withdrawal process, including any platform-specific timelines or conditions.
  • It is advisable to keep members informed about the status of their unbonding requests and any actions they need to take to complete the withdrawal.