Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Guides

How to Design a Reputation-Backed Governance Model

This guide provides a technical blueprint for implementing governance systems where voting power is algorithmically derived from a user's on-chain reputation score. It covers reputation calculation, weight curves, delegation mechanics, and mitigation strategies for reputation concentration.
Chainscore © 2026
introduction
GUIDE

How to Design a Reputation-Backed Governance Model

A technical guide for implementing governance systems where voting power is derived from on-chain reputation scores, moving beyond simple token-weighted models.

Reputation-backed governance replaces the one-token-one-vote model with a system where influence is earned through contributions. A user's reputation score is a non-transferable, soulbound metric calculated from on-chain actions like protocol usage, successful proposal execution, or community participation. This design aims to align voting power with long-term commitment and expertise, mitigating issues like vote buying and plutocracy. Protocols like Gitcoin Grants (with its passport) and early concepts from Colony have pioneered these ideas, demonstrating that contribution history can be a more meaningful signal of stakeholder alignment than mere capital.

The core technical architecture involves a Reputation Module and a Voting Module. The Reputation Module is a smart contract that mints, tracks, and updates non-transferable reputation tokens (often ERC-1155 or a custom standard). Its logic defines the reputation formula: which actions (e.g., provideLiquidity, executeProposal) grant reputation points, any decay mechanisms over time, and rules for slashing reputation for malicious acts. The Voting Module, typically a fork of a system like OpenZeppelin Governor, is then configured to read voting weight from the reputation token balance instead of a standard ERC-20.

Designing the reputation formula is the most critical step. It must be transparent, tamper-proof, and resistant to gaming. A basic Solidity snippet for accruing reputation might look like this:

solidity
function _afterProposalExecuted(uint256 proposalId) internal override {
    address proposer = proposalProposer(proposalId);
    uint256 reward = calculateReputationReward(proposalId);
    reputation.mint(proposer, reward);
}

Consider incorporating time decay (e.g., halving scores annually) to ensure current activity is weighted more heavily than past contributions, and sybil resistance by linking to a proof-of-personhood system like World ID or a stake-weighted attestation graph.

Key implementation challenges include ensuring the system remains permissionless and transparent while avoiding centralization in the formula's parameters. Using a timelock or multisig for parameter updates is common. Furthermore, the model must be explainable to users; a dashboard should clearly show how their reputation was earned. For delegation, consider allowing users to delegate their reputation-based voting power, similar to Compound's COMP delegation, but with the non-transferable core asset preserving the alignment mechanism.

To test and iterate, deploy the system on a testnet with a soft launch. Use historical on-chain data to simulate reputation distributions and voting outcomes. Analyze if the resulting power distribution meets your goals: does it empower core contributors without excluding new users? A well-designed reputation system creates a meritocratic flywheel: valuable contributions are rewarded with governance influence, which in turn incentivizes further high-quality participation, fostering sustainable and informed protocol evolution.

prerequisites
PREREQUISITES AND CORE CONCEPTS

How to Design a Reputation-Backed Governance Model

This guide outlines the foundational concepts and technical prerequisites for building a governance system where voting power is derived from on-chain reputation, not just token holdings.

A reputation-backed governance model shifts decision-making power from simple capital weight (one-token-one-vote) to a measure of a participant's contribution and engagement within a protocol. This model, often called Reputation-based Governance or Conviction Voting, aims to mitigate plutocracy and Sybil attacks by tying influence to proven, on-chain actions. Core to this design is a non-transferable Reputation (REP) token or Soulbound Token (SBT), which is minted based on verifiable criteria like providing liquidity, completing bounties, or consistent participation. Unlike financial assets, reputation is earned, not bought.

The technical foundation requires a smart contract system that can attest to and score on-chain behavior. This involves integrating with oracles or indexers (like The Graph) to query historical data from your protocol. For example, a contract could mint REP to an address after it has supplied assets to a liquidity pool for 90 days. The scoring logic—what actions earn reputation and how much—is the core governance policy and must be transparent and immutable once set. Frameworks like OpenZeppelin's ERC-20 (modified to be non-transferable) or ERC-721S for SBTs provide a starting point for the reputation token standard.

Designing the reputation accrual mechanism requires careful parameterization to avoid gaming. Key considerations include: - Decay curves to ensure recent contributions weigh more than old ones. - Capping mechanisms to prevent single-action exploits. - A clear sybil-resistance strategy, such as requiring a minimum stake or proof-of-personhood attestation (e.g., World ID) for initial reputation minting. The model should be simulated off-chain using tools like cadCAD or Python-based agent simulations to test for emergent centralization or vulnerability to specific behavior patterns before deployment.

Finally, the governance interface must make reputation weight clear and integrate with popular voting platforms. The reputation contract should hook into Snapshot for gas-free signaling or Governor-compatible contracts (like OpenZeppelin Governor) for on-chain execution. The voting power function must read the live reputation balance, applying any time-based decay. A complete system also includes a reputation registry to transparently display how each address earned its score, fostering trust and accountability in the governance process.

key-concepts
GOVERNANCE DESIGN

Core Components of a Reputation System

A robust reputation system for governance requires specific technical components to ensure fairness, security, and Sybil resistance. This guide outlines the key building blocks.

06

Time-Based Decay (Optional)

A mechanism to reduce reputation scores over time unless reconfirmed through new activity. This combats reputation stagnation and ensures active participants have more influence. Implemented via a decay parameter in the scoring logic. For example:

  • Linear decay: Reputation decreases by 10% per year.
  • Activity reset: Each new verified action resets the decay clock.
  • Vesting schedules: New reputation vests over time (e.g., over 1 year) to prevent instant governance attacks. Used by protocols like Optimism's Citizen House to ensure long-term alignment.
1-2 years
Typical Decay Period
reputation-calculation
FOUNDATION

Step 1: Designing the Reputation Calculation

The core of any reputation-backed governance system is the algorithm that translates user actions into a quantifiable, on-chain score. This step defines the logic, data sources, and economic incentives that make reputation meaningful.

A reputation score is a non-transferable, non-financialized metric that represents a user's historical contribution and alignment with a protocol. Unlike token-based voting, it aims to measure quality of participation rather than quantity of capital. The design must answer key questions: What actions are valuable? How do we weight them? How does reputation decay over time? Common inputs include voting participation, proposal execution, liquidity provision duration, successful bug reports, and community moderation.

The calculation is typically implemented as a smart contract function that aggregates and scores on-chain events. For example, a user's reputation R might be calculated as R = ÎŁ (action_weight_i * time_decay(t)). Using a time decay function, like a half-life, prevents reputation from becoming permanent and encourages ongoing participation. Off-chain data, like forum activity or GitHub commits, can be incorporated via oracles or attestation protocols like EAS.

Let's examine a simplified Solidity snippet for a basic additive model. This contract tracks a mapping of scores and updates them when governance actions occur, applying a constant weight.

solidity
// Simplified Reputation Calculation
mapping(address => uint256) public reputationScore;

function _updateReputation(address user, uint256 actionWeight) internal {
    // Add weight for the action, with no decay in this basic example
    reputationScore[user] += actionWeight;
}

function recordVote(address voter, bool votedYes) external onlyGovernanceContract {
    // Example: Grant reputation for voting, regardless of side
    uint256 weight = votedYes ? 10 : 10; // Same weight for participation
    _updateReputation(voter, weight);
}

A robust system must guard against sybil attacks and manipulation. Simply rewarding actions with reputation can lead to gaming, like submitting low-quality proposals. Mitigations include:

  • Curated registries or proof-of-personhood (e.g., World ID) for unique identity.
  • Multi-dimensional scores separating different contribution types (e.g., development, governance).
  • Negative reputation or slashing for malicious acts (e.g., voting contrary to a delegated commitment).
  • Context-aware weighting where the impact or outcome of an action influences the reward.

Finally, the design must specify how reputation is used. It can gate access to create proposals, increase voting power (e.g., quadratic voting with reputation), or allocate grants from a community treasury. The parameters—weights, decay rate, attack mitigations—should be iteratively tuned based on on-chain analytics and community feedback, often managed by a separate parameter governance module.

voting-weight-curves
DESIGNING THE REPUTATION ENGINE

Step 2: Implementing Voting Weight Curves

A voting weight curve is the mathematical function that translates a user's reputation score into their governance power. This step defines how influence is distributed, moving beyond simple one-token-one-vote models.

The core of a reputation-backed governance model is the voting weight curve. This function, weight = f(score), determines how much voting power a user receives for a given reputation score. A linear function like weight = score creates a direct democracy where influence is strictly proportional to contribution. However, most effective models use non-linear curves to prevent Sybil attacks and concentration of power, ensuring that early, high-reputation users don't permanently dominate decision-making.

Common curve designs include square root (weight = sqrt(score)) and logarithmic (weight = log(score + 1)) functions. The square root curve, used by projects like Compound's Governor Bravo, moderately dilutes the power of large holders. A logarithmic curve applies stronger diminishing returns, favoring a more egalitarian distribution. The choice depends on your goals: a square root curve rewards top contributors while curbing extremes, whereas a log curve aggressively flattens the power hierarchy.

Here is a conceptual Solidity example for a square root voting weight getter. This function would be called by the governance contract when a user casts a vote.

solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

import "@openzeppelin/contracts/utils/math/Math.sol";

contract ReputationGovernance {
    // Mapping of user address to their reputation score (e.g., from a separate registry)
    mapping(address => uint256) public reputationScore;

    /**
     * @dev Calculates the voting weight for a user using a square root curve.
     * @param user The address of the voter.
     * @return weight The voting power derived from the reputation score.
     */
    function getVotingWeight(address user) public view returns (uint256) {
        uint256 score = reputationScore[user];
        if (score == 0) {
            return 0;
        }
        // Use OpenZeppelin's Math library for safe, efficient square root
        return Math.sqrt(score);
    }
}

This function ensures voting power increases at a decreasing rate as reputation grows, a key defense against governance capture.

When implementing the curve, you must also define the reputation decay or lock-up mechanism. A static score leads to permanent power. Integrating a time-based decay, like reducing scores by a set percentage per epoch, or requiring users to lock their reputation tokens to activate voting power, ensures ongoing participation is required. This mimics real-world expertise, which fades without use. The decay rate and lock-up period are critical parameters that define the liquidity and security of your governance system.

Finally, the curve parameters must be tested rigorously with simulation. Use frameworks like Tally's Governor Toolkit or custom scripts to model proposal outcomes under different voter distributions. Ask: Does a small group of users consistently control outcomes? How does the system behave if a malicious actor acquires a large score? Simulations help you tune the curve slope, decay rate, and quorum requirements before deploying on-chain, preventing unintended centralization or stagnation.

delegation-mechanics
GOVERNANCE DESIGN

Step 3: Building Reputation Delegation

Implement a delegation system where token-based voting power is augmented by a non-transferable reputation score, creating a hybrid governance model.

Reputation delegation allows token holders to lend their governance weight to trusted experts without transferring assets. This model, inspired by systems like Compound's Governor Bravo and ENS's delegation, separates economic stake from voting expertise. A user's total voting power becomes the sum of their token balance and their accrued, non-transferable reputation points. This design mitigates plutocracy by ensuring long-term, knowledgeable contributors retain influence even if their token holdings are modest.

The core mechanism requires two parallel tracking systems: a standard ERC-20/Votes snapshot for token balances and a separate, soulbound Reputation contract. The reputation contract mints non-transferable tokens (ERC-1155 or a custom standard) to addresses based on predefined, on-chain actions. These could include: - Successfully executing a governance proposal - Consistently voting with the majority - Completing verified tasks in a contributor platform like Coordinape or SourceCred. The contract must prevent self-delegation of reputation to avoid centralization.

The voting contract's getVotes function must be modified to aggregate power. A typical implementation fetches and sums balances from both sources.

solidity
function getVotes(address account) public view override returns (uint256) {
    uint256 tokenVotes = tokenContract.getPastVotes(account, block.number - 1);
    uint256 repVotes = reputationContract.balanceOf(account, REPUTATION_TOKEN_ID);
    return tokenVotes + repVotes;
}

This ensures the governance interface (e.g., Snapshot, Tally) reads the combined weight, making reputation an integral, non-bypassable part of the process.

Critical design decisions include the reputation decay (or "diminishing") mechanism. Without decay, reputation accumulates indefinitely, creating a stagnant elite. A common model is linear decay, where reputation decreases by a fixed amount per epoch unless renewed through participation. For example, the Optimism Collective's Citizen House uses attestations that expire. This forces delegates to remain active and accountable to maintain their influence, aligning long-term incentives.

To prevent sybil attacks on reputation minting, criteria must be costly to fake or require social verification. Using Proof of Humanity, BrightID, or participation in a DAO-native credential system like Disco or Gitcoin Passport can attest to unique identity. Furthermore, the reputation minting process should be permissionless but governed by transparent, on-chain rules auditable by all members, moving away from opaque multisig approvals.

Finally, effective delegation requires user-friendly interfaces. Platforms like Tally or Agave allow users to delegate both token votes and reputation points to a single delegate. The front-end should clearly display a delegate's combined voting power, their proposal history, and voting alignment metrics. This transparency empowers token holders to make informed delegation decisions, creating a more robust and knowledgeable governing body.

ARCHITECTURE

Comparison of Reputation Model Designs

Key design choices for implementing a reputation system in on-chain governance.

Design FeatureToken-Weighted VotingNon-Transferable Reputation (NTR)Hybrid Model

Core Asset

Transferable Governance Token

Soulbound Reputation Score

Both token and score

Sybil Resistance

Voter Dilution Risk

Initial Distribution

Sale/Airdrop

Credential Verification

Combined

Reputation Decay

Linear or exponential

Applied to score only

Delegation Support

Typical Use Case

General DAO governance

Expert/Contributor councils

Tiered voting systems

mitigation-strategies
GOVERNANCE DESIGN

Step 4: Mitigating Reputation Concentration and Attacks

This guide outlines mechanisms to prevent the centralization of governance power and defend against common attacks in reputation-based systems.

Reputation concentration, where a small group of early or wealthy participants accumulates a majority of voting power, defeats the purpose of decentralized governance. To mitigate this, designers can implement reputation decay (also called soulbound dilution). This mechanism reduces a user's reputation score over time unless they remain actively engaged. For example, a protocol could implement a yearly decay rate of 10%, requiring users to consistently contribute to the DAO to maintain their influence. This prevents permanent power consolidation and encourages ongoing participation.

Another critical defense is implementing progressive taxation on reputation transfers. While a core feature of reputation systems is non-transferability (soulbinding), some models allow for limited, delegated voting. To prevent sybil attacks or vote-buying schemes, any delegated reputation can be subject to a tax that increases with the amount transferred. A simple Solidity check could be: if (amount > maxUntaxedTransfer) { tax = (amount - maxUntaxedTransfer) * taxRate; }. This disincentivizes large, centralized vote aggregation while permitting small-scale delegation.

Guarding against sybil attacks—where one entity creates many fake identities—is paramount. Combining a unique-human proof like Proof of Personhood (e.g., Worldcoin, BrightID) with a minimum activity threshold before granting reputation creates a strong barrier. A user must first verify their unique humanity, then perform a meaningful, verifiable on-chain action (like submitting a successful governance proposal or contributing code) to earn their initial reputation points. This ensures reputation is tied to proven, active contributors.

For on-chain execution, time-locked voting and cool-down periods between proposals from the same address can slow down aggressive governance attacks. Furthermore, establishing a multisig council or security committee with the limited, time-bound power to pause governance in the event of a detected attack provides a critical emergency circuit-breaker. This council's permissions should be clearly defined in the protocol's constitution and ideally be subject to an overriding vote by the reputation-holding community to re-decentralize control after the threat passes.

Finally, continuous monitoring is key. Implementing analytics dashboards that track Gini coefficients for reputation distribution and proposal success rates by voter segment allows the community to self-assess centralization risks. Tools like Tally or custom subgraphs can provide this data. Governance parameters like decay rates, tax brackets, and activity thresholds should be regularly reviewed and adjusted via the governance process itself, creating a self-improving system resilient to evolving attack vectors.

REPUTATION & GOVERNANCE

Frequently Asked Questions

Common technical questions and solutions for designing on-chain governance systems that incorporate reputation.

A reputation-backed governance model is a system where voting power or influence is not solely based on token ownership (one-token-one-vote) but is weighted by a user's reputation score. This score is a non-transferable, earned metric that reflects a participant's long-term contributions and alignment with the protocol's success. It aims to mitigate issues like whale dominance and vote buying by giving more weight to proven, engaged community members.

Reputation is typically accrued through verifiable on-chain actions, such as:

  • Providing liquidity over time
  • Successfully executing protocol improvements
  • Consistently voting on proposals
  • Contributing code or documentation

The core mechanism involves a reputation registry (often a smart contract) that mints, tracks, and burns reputation tokens, which are then used to calculate voting power in a separate governance module.

conclusion
IMPLEMENTATION ROADMAP

Conclusion and Next Steps

This guide has outlined the core components for building a robust, reputation-backed governance system. The next step is to integrate these concepts into a functional model.

To implement a reputation-backed governance model, begin by defining your reputation source and reputation decay mechanism. Common sources include on-chain activity (e.g., token holdings, transaction volume, protocol usage), off-chain contributions (e.g., forum posts, code commits), or a hybrid model. Decay functions, such as linear or exponential decay over time, are essential to prevent reputation stagnation and ensure active participation remains valuable. For example, Compound's governance weight for a user could be calculated as reputation_score = (voting_power * 0.7) + (forum_activity * 0.3) with a 10% monthly decay.

Next, architect the smart contract system. This typically involves a ReputationToken (a non-transferable ERC-20 or ERC-1155 token), a Governor contract (like OpenZeppelin's Governor), and an Oracle or Attestation service for off-chain data. The ReputationToken contract must enforce non-transferability and implement the decay logic. The governance contract should be configured to use the reputation token for voting weight, not a standard ERC-20. For off-chain data, consider using the Ethereum Attestation Service (EAS) to create verifiable, on-chain records of contributions.

Finally, design the user experience and incentive layers. A clear dashboard should show users their current reputation, its sources, and upcoming decay. To bootstrap participation, consider a proposal bounty system where successful proposals reward the submitter with reputation points. Implement vote delegation with reputation-weighted trust, allowing users to delegate their voting power to experts without transferring the underlying reputation asset. Continuous iteration based on governance analytics is crucial; tools like Tally or Boardroom can provide essential insights into voter turnout and proposal success rates.

For further learning, explore live implementations. Gitcoin Grants uses a quadratic funding model that incorporates donor history as a form of reputation. Optimism's Citizen House allocates voting power based on non-transferable NFTs earned through contributions. Study their documentation and contract code. Essential resources include the OpenZeppelin Governor documentation for the contract framework and research papers like "Liberal Radicalism" for quadratic voting designs.

The key to a successful system is balancing inclusivity with quality signal. A model that is too easy to game will collapse, while one that is too exclusive will stagnate. Start with a simple, auditable design, deploy on a testnet, and simulate attack vectors like sybil attacks or proposal spam. Governance is an ongoing experiment; be prepared to adjust parameters like decay rates, proposal thresholds, and reward schedules based on real-world data and community feedback.

How to Design a Reputation-Backed Governance Model | ChainScore Guides