About ProofPass

ProofPass was inspired by a simple problem: digital credentials are becoming easier to create, but proving that they are authentic is still difficult.

Certificates, academic credentials, training records, and professional achievements are often shared as PDFs or images. A recipient may have no easy way to know whether a credential is genuine, whether it was actually issued by the claimed organization, or whether it has later been revoked.

We wanted to explore how blockchain could solve this trust problem without requiring people to understand blockchain technology themselves.

What We Built

We built ProofPass, a blockchain-backed digital credential verification platform.

An issuer can create a credential by providing the holder's name, credential name, and issuer. ProofPass generates a unique credential hash and records that proof on the blockchain.

Once issued, the credential can be verified by anyone using its blockchain proof or by scanning its QR code. The verifier can see whether the credential exists on-chain, who issued it, when it was issued, and whether it has been revoked.

This gives digital credentials a simple verification flow:

Issue → Record on-chain → Share → Verify

The blockchain acts as the trust layer while ProofPass provides a simple interface for people who may never interact directly with a blockchain.

How We Built It

ProofPass was built as a full-stack Web3 application.

The frontend was developed with React and deployed on Vercel. The backend was built with Node.js and Express and deployed on Render.

For the blockchain layer, we used Ethereum Sepolia and Solidity smart contracts. We used ethers.js to communicate with the blockchain and store, verify, and revoke credential proofs.

The application stores credential information in a backend database while the credential's cryptographic proof is recorded on-chain. We also added QR-code verification so that a credential can be shared and verified through a simple scan.

Challenges We Faced

One of our biggest challenges was deciding what information should actually be treated as the proof of a credential.

During development, we initially had to distinguish between the credential hash and the transaction hash. We learned that the transaction hash identifies the blockchain transaction, while the credential hash represents the actual credential proof that our smart contract verifies.

We also had to make the verification flow work consistently between the frontend, backend, and blockchain. This required handling blockchain transactions, waiting for confirmations, querying the smart contract, and correctly displaying verification and revocation states.

Another challenge was making the blockchain technology feel invisible to the user. Instead of forcing users to understand wallets, transactions, or smart contracts, we designed ProofPass so that the core experience is simply issuing and verifying a credential.

What We Learned

Building ProofPass taught us that a good Web3 application is not just about putting data on a blockchain. The blockchain needs to solve a real trust problem while the rest of the application should remain simple and understandable.

We learned how smart contracts can be used as a verification layer, how cryptographic hashes can provide tamper-evident proofs, and how a traditional web application can communicate with blockchain infrastructure through a backend API.

Most importantly, we learned how to take an abstract Web3 concept and turn it into a usable product with a complete flow from credential issuance to blockchain verification and revocation.

ProofPass is our exploration of a future where digital credentials can be shared anywhere while their authenticity can be verified independently.

Trust digital credentials. Verify them on-chain.

What it does How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for proof pass

Built With

Share this project:

Updates

Submission history