project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Credential Corgi

Credential Corgi enables creation of certification standards, issuance of ZKP-compatible certificates, and a request-proof exchange between 3rd parties and credential holders

Credential Corgi

Created At

ETHGlobal Lisbon

Winner of


🏰 Optimism — Deploy on Mainnet


🏊 Scroll — Deploy a Smart Contract


🥷 MetaMask — 🥈 Built on Linea


🏆 ETHGlobal Lisbon Finalist

Project Description

Credential Corgi enables:

  • trusted agencies to publish credential structure standards, and publish those standards on-chain, without needing to write technical specifications, thanks to auto-generation by GPT-4
  • credential issuers to issue zero-knowledge proof (ZKP) compatible credentials, and save a record of them on-chain without revealing private information
  • third parties to request verification of specific conditions about the credentials of the holder, without writing technical specifications, using GPT-4
  • credential holders to fulfill those verification requests using ZKP without revealing any additional information

How it's Made

The contract is deployed on eight EVM chains, and the UI is a web app built in TypeScript using Next.js. To generate the zero-knowlege proofs, I used SnarkyJS, a ZKP library originally built to interact with Mina Network. I am not using Mina for this project -- rather, I'm using the ZKP portion of SnarkyJS and separately saving the ZKP state on EVM networks.

To make credential standard definition easy for public agencies, GPT-4 is used to transform a human description of the credential (which can be as simple as "a drivers license including organ donor information") into structured JSON data.

Similarly, third parties wanting to request proofs of certain conditions can describe those conditions in english and GPT-4 will combine them with the known structure of the credential to define the ruleset that the proof will verify.

Wagmi, RainbowKit, and Hardhat are used to interact with the blockchain.

There is a cache database which the server uses to store credential structure details to provide a friendly UI for issuers. This is a custom flat file database implemented during the hackathon.

background image mobile

Join the mailing list

Get the latest news and updates