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