Nomination pool commission functionality was recently merged. Along with a standard commission percentage that pool operators can take from pending rewards, pools can also set these optional configs:
- A maximum commission for the pool.
- A commission change rate: The rate at which pool commission can be changed. A change rate consists of a
min_delay, dictating the maximum percentage increase that can be applied to the commission per number of blocks.
Both these configs can only be set to more restrictive values after their initial values - giving pool members confidence & operators more attractiveness around their overall service.
A global maximum commission is also a configurable storage item - the focus of this post. Initially, we have opted for the following globals:
- Polkadot: 0% - effectively disabling pool commission functionality until it is tested.
- Kusama: 10% - a strict cap on max allowed pool commission.
- Westend: 100% - any commission can be set on Westend, allowing more testing scenarios.
This global maximum takes precedence over a pool’s maximum commission.
Given pool operators do not actually do much right now, beyond occasionally managing their nominations, a super high commission cannot be justified. This may change in the near future as permissionless rebonding is added to the runtime, giving pool operators more ways they improve their pool service by rebonding on their members’ behalf.
So 10% may indeed be a fair global maximum. Is 10% too strict - or not strict enough? Thoughts and discussion encouraged below.