ERC246: A New Token Standard with built-in Governance

Vote Team
6 min readOct 1, 2024

--

Introduction

Blockchain governance is a fundamental aspect of decentralized ecosystems, empowering token holders to make collective decisions in a transparent and secure manner. Traditional governance solutions, often implemented as separate systems or smart contracts, can add complexity and overhead to the token infrastructure.

The ERC246 standard takes a novel approach by embedding governance features directly into the token itself, making the token inherently community-owned and governed.

With ERC246, project developers no longer need to worry about creating a separate governance system or integrating governance tools into their token contracts. Instead, they can deploy a token that extends the ERC246 standard, and the full governance functionality is available from the outset. This built-in governance system ensures that the token is controlled by the community from day one, reducing centralization risks and enhancing transparency.

In this article, we’ll explore the structure, benefits, and implementation of ERC246, showcasing how it streamlines token governance and provides an all-in-one solution for community ownership and decision-making.

Motivation Behind ERC246

The ERC246 standard was designed to solve key challenges in decentralized governance:

  1. Governance Built Into the Token: By integrating the governance system directly within the token contract, ERC246 ensures that token holders are the true owners of the token, with decision-making power baked into the core design.
  2. Out-of-the-Box Governance: Developers can deploy an ERC246-compliant token and immediately gain access to advanced governance capabilities without needing to create or manage a separate governance framework. This makes it easier to launch community-owned tokens without the overhead of building governance infrastructure.
  3. Supports Complex Proposals: ERC246 enables multi-action proposals, allowing governance participants to execute several actions — such as minting tokens, managing treasury funds, and altering protocol parameters — all within a single proposal.
  4. Prevents Proposal Spam and Abuse: The standard includes protections like quorum requirements, voting duration limits, and transfer fees, ensuring that the governance process remains efficient and free from spam or abuse.
  5. Flexible and Dynamic Governance: The community can easily adjust key governance parameters, like quorum thresholds and voting durations, ensuring that the governance system evolves alongside the project’s needs.

With ERC246, any project or DAO can launch a governance-enabled token without the hassle of managing an external governance platform, empowering token holders to control key decisions from the very start.

ERC246: Key Features

1. Governance Built Into the Token

One of the most significant advantages of ERC246 is that the governance system is embedded within the token itself. When a project deploys an ERC246-compliant token, governance capabilities like proposal creation, voting, and execution are automatically integrated.

This built-in governance model ensures that token holders have control over the token and its associated ecosystem from day one, making the token community-owned by design.

Developers can extend ERC246 for their token, and governance features are available out of the box. This drastically reduces development complexity and removes the need for integrating third-party governance tools. The token and its governance become a seamless part of the same system, ensuring that every holder has a voice in how the token is managed.

2. Multi-Action Proposals

Unlike many other governance systems, ERC246 supports multi-action proposals. This means that a single governance proposal can execute multiple function calls across different contracts. For example, a single proposal can:

  • Mint tokens for treasury purposes.
  • Allocate tokens for airdrops.
  • Update key contract parameters such as transfer fees or protocol settings.

This multi-action capability enables the community to make complex decisions efficiently. It’s especially useful for decentralized projects that need to manage multiple aspects of the ecosystem — such as liquidity, rewards distribution, or tokenomics — within a single governance vote.

Voting and Proposal Mechanisms

The ERC246 standard provides a streamlined governance process, empowering token holders to propose, vote on, and execute critical decisions related to the token’s ecosystem. Here’s how the voting and proposal mechanisms work:

  1. Proposal Creation: Token holders with a balance can initiate proposals by calling the createProposal() function. In this function, the proposer specifies:
  • The target contract addresses.
  • The encoded function calls (which represent the actions to be taken if the proposal passes, such as minting tokens or transferring funds).
  • The ETH values to be sent with each call (if applicable).

Each proposal also includes a voting period, which is specified in blocks. This ensures that the proposal will be open for voting for a defined duration before it is either accepted or rejected.

  1. Voting: Token holders use their token balance as voting power to either support or oppose a proposal. To cast their vote, they call the vote() function, indicating whether they are voting in favor (true) or against (false) the proposal. The more tokens a holder owns, the greater their voting power. The voting power is directly proportional to the token balance, ensuring that major stakeholders have a say in the governance process.
  2. Enqueueing: After the voting period has ended, anyone can call the enqueueProposal() function to mark the proposal as ready for execution. At this point, the system takes a snapshot of all voters’ token balances and calculates the total voting power for and against the proposal. This snapshot ensures that the voting power at the end of the voting period is used to determine the outcome.

If the total votes meet the quorum requirement — a minimum threshold of participation (based on a percentage of the total token supply) — and the proposal receives more votes in favor than against, it is accepted. Once accepted, a time-lock period begins. This delay provides token holders who disagree with the enqueued proposal enough time to exit the system (e.g., sell their tokens) before the proposal is executed.

  1. Execution: After the time-lock period has passed, any user can call the executeProposal() function. This function executes the encoded function calls defined in the proposal, triggering the actions that were voted on (e.g., minting tokens, transferring funds, etc.).

Proposals that are accepted and pass the time-lock are executed atomically, meaning that all specified actions within the proposal are executed in a single transaction. If any action fails, the entire execution is reverted, ensuring that proposals are either fully successful or not executed at all.

Quorum Requirement:

To ensure meaningful participation in governance, ERC246 enforces a quorum requirement. This means that a proposal must receive votes from a certain percentage of the total token supply (defined as a basis point percentage of the total supply) for it to be valid. If the quorum is not met, the proposal is automatically rejected, regardless of the vote outcome. This prevents governance attacks where a small group could push through significant changes without sufficient community involvement.

This mechanism ensures that decisions are made by a broad segment of the token holders, increasing the legitimacy of the governance process and preventing governance manipulation by a small number of participants.

Visualizing the Voting and Proposal Process

To further illustrate how the governance process works in ERC246, the diagram below breaks down each step involved in creating, voting on, and executing a proposal. This will help visualize the entire lifecycle of a proposal, from its creation to final execution.

Dynamic Governance Parameters and Limits

ERC246 allows key governance parameters to be adjusted by the community through governance proposals, ensuring flexibility. However, to protect the system from abuse, each parameter has predefined bounds that restrict how much governance can change them.

  1. Voting Duration (minimumVotingDurationBlocks)
  • Initial Value: 5760 blocks (~1 day on Ethereum)
  • Governance Adjustable: Yes
  • Bounds: Minimum is 750 blocks (~2.5 hours), no maximum (community can set longer durations).
  1. Execution Delay (executionDelayInBlocks)
  • Initial Value: 1200 blocks (~4 hours on Ethereum)
  • Governance Adjustable: Yes
  • Bounds: Minimum is 750 blocks (~2.5 hours), no maximum (community can set longer delays).
  1. Quorum Requirement (quorumSupplyPercentageBps)
  • Initial Value: 400 basis points (4%)
  • Governance Adjustable: Yes
  • Bounds: Minimum is 100 basis points (1%), no maximum (community can set higher quorums).
  1. Transfer Fee (transferFeeBps)
  • Initial Value: 0 basis points (no transfer fee)
  • Governance Adjustable: Yes
  • Bounds: Minimum is 0 basis points, maximum is 500 basis points (5%).
  1. Minting Limit (MAXIMUM_MINT_SUPPLY_PERCENTAGE_BPS)
  • Value: 500 basis points (5%)
  • Governance Adjustable: No, this is a fixed limit to prevent excessive inflation.

GitHub Repository

To explore the full implementation and contribute to the ERC246 standard, visit the official GitHub repository:

ERC246 Standard on GitHub

In the repository, you’ll find the smart contract code, comprehensive documentation, and examples to help developers integrate ERC246 into their projects. Contributions and discussions are welcome!

Conclusion

The ERC246 standard transforms token governance by embedding community-driven decision-making processes directly into the token contract. With built-in governance, time-locks, and quorum requirements, ERC246 empowers token holders to have direct control over the future of the project.

For developers, ERC246 offers a streamlined way to create community-owned tokens without having to design and implement complex governance systems from scratch. By adopting ERC246, projects can ensure a more secure, decentralized, and scalable governance system, while allowing the community to guide the project’s evolution.

--

--

Vote Team
Vote Team

No responses yet