CommonGrants is a platform for protocols and builders to collaborate on grants and ecosystem growth. Protocols can create grants and manage payments via token streaming, and builders can apply to grants, mint credentials, and meet ongoing milestones to track project progress. As protocols engage with builders during the grant process, they can view their cash flows in one place and pause or delete grants that are doing poorly, disincentivizing ghosting and grant farming. Builders can mint non-transferable NFTs that prove they've been given a grant, and protocols have the power to "evolve" these NFTs - either by affirming that the project was successfully completed or by objecting against bad behavior. We believe this will build on-chain reputation, with talented builders and good actors being promoted and bad actors losing out on future opportunities.
Our stack is Solidity -> Node/Typescript -> NextJS. We built our minting contract by modifying a standard ERC721 to be nontransferable + have a single-use "evolve" function that has the power to reset the tokenURI to either a success or failure metadata format. Our contracts are deployed on Polygon for cost and speed reasons, and we use web3modal/WalletConnect to enable mobile tx signing and auth. We believe ecosystem teams experience pain around determining reputation and picking out bad actors, so we integrated with Worldcoin to prevent multiple submissions from flooding the pipeline. To combat the "lump sum leads to ghosting" problem that many grants face after payment, we used Superfluid to stream tokens over time instead, incentivizing grantees to engage more consistently. Our IPFS pinning and content storage layer is provided by Storj for performance purposes, and we integrate with EPNS as well for a drop-in communications channel between protocol and applicant.