Contracts

Token Contract

The Token contract represents the base unit of governance power.

It is a standard ERC20 token that:

  • Serves as the staking asset

  • Represents voting weight

  • Remains fully transferable outside the staking mechanism

The token itself does not contain governance logic. It does not track proposals or rewards. Its role is strictly to provide the economic layer upon which the rest of the system operates.

By isolating the token from governance logic, the protocol ensures flexibility and upgradeability of governance mechanics without modifying the underlying asset.


Voting Contract

The Voting contract is the core coordination layer of the protocol.

Its responsibilities include:

  • Holding all staked tokens

  • Tracking which user supports which proposal

  • Maintaining total staked amount per proposal

  • Ranking proposals by total staked capital

  • Exposing the top five proposals to the Tax Distributor

The Voting contract does not handle ETH rewards. It only manages token staking and proposal ranking.

Each user may support only one proposal at a time. If a user changes support, their staked tokens are reassigned accordingly.

Because all tokens are held in a single contract, the system can efficiently compute rankings and maintain an accurate representation of capital distribution across proposals.


Proposal Contract

Each Proposal is deployed as an independent contract.

This design ensures:

  • Isolation of reward accounting

  • Independent revenue logic

  • Flexibility in metadata and configuration

A Proposal contract is responsible for:

  • Storing delegate metadata such as name, description, and community links

  • Defining the revenue split between delegate and voters using basis points

  • Receiving ETH from the Tax Distributor

  • Calculating and distributing voter rewards

  • Allowing delegate to claim their share

The Proposal contract does not hold governance tokens. It only manages ETH distribution based on stake data provided by the Voting contract.

By separating Proposal logic from Voting logic, the system avoids cross dependency risks and keeps reward calculations localized to each proposal.


Tax Distributor Contract

The Tax Distributor acts as the revenue router of the protocol.

Its responsibilities are:

  • Holding accumulated protocol ETH revenue

  • Executing daily distribution

  • Sending one third of revenue to the team wallet

  • Sending two thirds of revenue equally divided among the top five proposals

The Tax Distributor does not determine rankings. It relies on the Voting contract to provide the list of top proposals.

The distribute function is executed once per day by the owner or an automation agent. This ensures consistent and predictable revenue flow while keeping operational control simple.

Last updated