Skip to content

Token Delegates Specification

Latest deployments:
NetworkDeployment
--

Organisational Structure & Context

Vision & Mission

Token Delegates DAO uses a token-weighted governance system where Delegates are elected based on the backing they receive from token holders. It demonstrates how ERC20 tokens can be integrated into the Powers protocol to determine leadership roles.

Assets

The DAO controls the following assets:

  • It does not have a treasury, but can manage external assets through governance actions.
  • It utilizes a voting token (SimpleErc20Votes) for determining delegate support.

Actions

The DAO can take the following actions:

  • Voters can nominate themselves for leadership.
  • The Public (anyone) can trigger the election process which updates the Delegate set based on token delegation.
  • Delegates have the power to revoke roles.
  • Admin can assign roles to any account.

Roles

Role IdRole nameSelection criteria
0AdminAssigned at deployment.
1VotersAssigned by Admin.
2DelegatesElected by Token Delegation.
PublicEveryone.

Electoral Mandates

Nomination

Voters can nominate themselves for the Delegate role. Only those who nominate themselves can be elected.

RoleName & DescriptionBase contractUser InputExecutable OutputConditions
VotersNominate for DelegatesNominate.solNoneNomination loggedNone.

Elect Delegates

This mandate processes the election results. It checks the token delegation for all nominees and assigns the Delegate role to the top candidates.

RoleName & DescriptionBase contractUser InputExecutable OutputConditions
PublicElect DelegatesDelegateTokenSelect.solNoneUpdates Delegate roles based on token weightThrottled (once every ~10 minutes). Top 3 nominees elected.

Reform Mandates

Role Management

The Admin has the power to assign roles. As a check on this power, Delegates can revoke roles that have been assigned.

RoleName & DescriptionBase contractUser InputExecutable OutputConditions
AdminAdmin assign roleBespokeAction_Simple.sol"uint256 roleId, address account"Assigns roleNone.
DelegatesDelegate revoke roleBespokeAction_Simple.sol"uint256 roleId, address account"Revokes roleRequires "Admin assign role" to be fulfilled.

Description of Governance

  • Remit: To select Delegates based on token stakeholder support.
  • Roles: Delegates are determined by token weight.
  • Executive Paths:
    • Election Cycle: Nominate -> Token Holders Delegate -> Trigger Election Update.

Risk Assessment

Token Concentration

Large token holders (whales) can dominate the election of Delegates.

Vote Buying

Token-based voting is susceptible to bribery and vote buying.