DAO operators and governance engineers · ships in half a day
How to gate DAO voting by reputation
Your governance is captured by whoever can split tokens across the most wallets.
The problem
One-token-one-vote rewards capital; one-wallet-one-vote rewards wallet factories. Quadratic voting only works if you can tell humans apart first, which is exactly the missing primitive.
Step by step
1. Fetch reputation at snapshot time
Score every voter at the proposal snapshot block so nobody can farm reputation mid-vote.
const rep = await tl.verify({ address: voter, epoch: proposal.snapshotEpoch });2. Blend weight
A common shape: sqrt(tokens) multiplied by a reputation factor between 0 and 1.
const weight = Math.sqrt(tokenBalance) * Math.min(1, rep.trust_score / 60);3. Enforce a floor
Set a hard minimum for proposal creation, which is where spam hurts most.
require(registry.scoreOf(msg.sender) >= 50, "not enough reputation to propose");
Share the proof
Once you are live, show it. This badge stays up to date on its own and links visitors back to the verifiable profile behind the score.
<a href="https://trstlyr.com/u/your-handle">
<img src="https://trstlyr.com/badge/your-handle.svg" alt="Verified on TrustLayer" height="28" />
</a>Frequently asked questions
Next recipes
All 6 recipes are on the API recipes index.