Summary: Flexible Voting is a governance primitive that extends OpenZeppelin Governor so delegates can split voting weight across for/against/abstain and cast partial or rolling votes through specialized delegate contracts. The key mechanism is not just “more expressive voting.” It relocates governance power from a one-delegate-one-binary-choice model toward programmable delegate contracts that can aggregate many downstream preferences while tokens remain in pools, bridges, vaults, vesting contracts, or other wrappers. That makes it a useful comparison case for where governance authority lives when custody and voting rights are separated.
What it does:
Extends OpenZeppelin Governor with fractional vote counting rather than all-or-nothing vote usage
Lets delegates split weight across against/for/abstain and optionally cast votes over multiple transactions
Supports custom voting-client contracts so users can retain governance exposure while assets sit in DeFi pools, L2 bridges, custodians, or vesting systems
Documents compatible DAOs and existing integrations such as Gitcoin, PoolTogether, Frax, Aave-based voting, Compound V3 money-market voting, and L2 voting clients
Has influenced the upstream OpenZeppelin governance stack, whose GovernorCountingFractional implementation explicitly cites ScopeLift’s earlier implementation as its basis
Key claims:
The official docs define Flexible Voting as an OpenZeppelin Governor extension that enables new voting schemes and permissionless creation of new voting clients
The core README says delegates can split their voting weight across for/against/abstain and lists use cases including yield-bearing voting, bridged voting, shielded voting, liquid delegation, third-party custody, and vesting-contract voting
The docs’ compatible-DAO page lists Gitcoin, PoolTogether, and Frax as adopters, indicating that the primitive has moved beyond a research toy into repeated DAO deployments
The PoolTogether and Gitcoin governor-upgrade repos show Flexible Voting used in live or proposed governance migrations rather than only in isolated demos
OpenZeppelin’s GovernorCountingFractional contract says it is based on ScopeLift’s implementation and describes fractional voting as a mode where delegates split remaining weight using packed params, which matters because it upstreams the concept into a widely used governance library
The reusable governance insight is that once voting rights can be programmatically reassembled by client contracts, the practical center of governance can migrate from bare tokenholders toward the maintainers of bridges, pools, wrappers, and delegation clients
Whitepaper: No canonical whitepaper or litepaper surfaced in this pass. The strongest primary materials were the official docs, the core repo README, compatible-DAO documentation, adoption repos, and the upstream OpenZeppelin implementation; see ../whitepapers/flexible-voting-primary-sources-2026-05-07.md.