{"title": "Flexible Voting", "logoImg": "bafkreiapduplccz2ncgforcn7k7chtadicp5u4c3gpwgjwgymmd37k5hqe", "website": "https://flexiblevoting.com", "bannerImg": "bafybeihiwolir4unpxcezqd27oyl3jar2inincc7kzu7fmvvwjhd575gce", "createdAt": 1681586992148, "userGithub": "ScopeLift", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..gFjvZ0dU-CKAmC4paBQhZ6Hysxow60sj0AVSFhg0MyORl7b1iPfffQhTsDRA8Y2o3IuzBP46XMIzub9sd2QbDg", "type": "Ed25519Signature2018", "created": "2023-08-10T21:51:25.778Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2023-08-10T21:51:25.778Z", "expirationDate": "2023-11-08T21:51:25.778Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x5C04E7808455ee0e22c2773328C151d0DD79dC62", "hash": "v0.0.0:jAyRQrkWla8O5iFE5WPlhEHRXSJ8VnpoPk4FoJxnrLc=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#ScopeLift#1479802"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..diMlyG5jURxaCtiYUNzHkiyLw0Gvy49P-ZY4AC8pcjOrt-0ci_FOWl6rWe_7uFtwgYYQV4_mzMzuNMKPnXITBg", "type": "Ed25519Signature2018", "created": "2023-08-10T21:51:19.889Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2023-08-10T21:51:19.889Z", "expirationDate": "2023-11-08T21:51:19.889Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x5C04E7808455ee0e22c2773328C151d0DD79dC62", "hash": "v0.0.0:bvNqeMUDpJsZUNgnMkGOuqeUV6Vl1+CnOHY0WyqmoLk=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#ScopeLift"}}}, "description": "# Flexible Voting Gitcoin Grant Description\n\nFlexible Voting is an extension to the widely used Governor system pioneered by Compound and used by many DAOs. It allows arbitrary delegate voting contracts to roll up the votes of many token holders. This provides a permissionless interface for all kinds of new usecases related to onchain DAO voting.\n\n## About Flexible Voting\n\nFlexible Voting was originally developed as part of a grant from the Uniswap Foundation. It adds a simple building block to governance: the ability for a delegate to split voting weight across For, Against, or Abstain when submitting votes to the Governor contract. This capability is especially useful when a contract serves as the voting delegate. We call this feature \"Flexible Voting.\"\n\n![](https://github.com/ScopeLift/flexible-voting/blob/master/readme/flex-voting-diagram-transparent.png?raw=true)\n\nThis new building block allows for all kinds of new integrations and experiments to be built without compromising the security of a DAO's core Governance. A few examples of things that can be built with Flexible Voting include:\n\n* Voting with tokens while earning yield in DeFi\n* Voting on L2 with bridged tokens\n* Shielded voting (i.e. secret/private voting)\n* Optimistic off-chain-to-on-chain vote bridging\n* Incentivized voting\n* Quadratic voting\n* And many more..\n\nImportantly, the Flexible Voting extension provides a permissionless interface for third parties to develop new voting contracts, implementing whatever integrations or rules they'd like to see. We expect to see lots of innovation around DAO voting to occur using Flexible Voting.\n\n## Project Status\n\nThe Flexible Voting extension is complete and has been [audited](https://blog.openzeppelin.com/scopelift-flexible-voting-audit/) by OpenZeppelin. It was also audited again by Trail of Bits as part of the Frax Finance Governance audit.\n\nFlexible Voting is being adopted by real DAOs, including Gitcoin, PoolTogether DAO, and Frax Finance.\n\nIn addition to the core Flexible Voting contracts, we've also been busy building out some of the most requested use cases. We [built](https://www.scopelift.co/blog/how-scopelift-built-a-flex-voting-atoken-on-aave) an integration with Aave thanks to a grant they provided, and an equivalent [implementation](https://www.scopelift.co/blog/flexible-voting-on-compound) for Compound funded by a grant from that protocol. We also received a [grant](https://blog.ethereum.org/2023/02/14/layer-2-grants-roundup) from the Ethereum Foundation to prototype Layer 2 voting with bridged governance tokens, and are in the process of [finalizing](https://github.com/ScopeLift/l2-flexible-voting) that work. We also built a [Uniswap v4 pool](https://github.com/ScopeLift/delegated-liquidity) that allows token holders to vote while providing liquidity.\n\n![](https://raw.githubusercontent.com/ScopeLift/l2-flexible-voting/main/img/l2_flexible_voting_diagram.png)\n\n## What's Next\n\nIn addition to working with several DAOs to see Flexible Voting adopted, we're also working with Tally and other DAO tooling providers to see it integrated into their products. As mentioned, we're building out several of the most requested usecases for Flexible Voting ourselves. In particular, we hope to launch an MVP of L2 Flexible Voting in the next couple of months.\n\nWhile we're excited to build out some of these usecases, we expect most voting contracts will ultimately be built by third party developers. We've had discussions with several third parties who are hoping to build their own integration with Flexible Voting. We want to focus on making the developer experience for third parties as easy as possible. That's why continuing to improve our documentation and easy-to-extend base contracts is another priority.", "logoImgData": {}, "bannerImgData": {}, "projectGithub": "ScopeLift", "projectTwitter": "ScopeLift"}