← Back to home

OG Gating

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.

Screenshots

OG Gating screenshot 1
OG Gating screenshot 2
OG Gating screenshot 3

Problem Statement

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.

Solution

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

Hackathon

ETHGlobal Bangkok

2024

Prizes

  • 🏆

    Blockscout Explorer Big Pool Prize

    Blockscout

  • 🏆

    World Pool Prize

    World

Contributors