OG Gating provides a method for gating by a score generated based on how "OG" the user is. Using ZK Proofs, we calculate a score based on the age of their EOA.
Prize Pool
Prize Pool
Coming from a week of DevCon, we all know how large the Ethereum community has become. There are many many sub-communities which vary greatly, and sometimes, there are reasons to gate based on more seasoned members in the community. This project provides a trustless method for generated an "OG" score which can then be used on-chain for arbitrary actions--in this project we use it to mint the OG NFT. Of course, we implement sybil resistance via worldcoin to ensure each user can only gain access to this item once.
Most of the hackathon was spent working on a brevis integration to generate ZK proofs using the brevis coprocessor to generate the OG ranking in a trustless manner. Unfortunately, Brevis disabled the ability to prove transaction details required for this project so we were unable to continue with brevis. In the end we use alchemy to source chain data and generate the scores in a vercel backend. We used next.js via scaffold-eth to build the frontend and integrated worldcoin proof of personhood. The contracts were built in foundry. Contracts repo: https://github.com/Eth-Global-Bangkok-Project/og-gating-contracts