Inspiration

We wanted to solve a simple problem: verifying whether an academic certificate is actually genuine. Today, this can involve emails, phone calls and manual checks. We thought there should be a faster way where the certificate itself can be checked against a public record.

What it does

CertiChain lets colleges issue digital certificates and record their proof on Ethereum.

Anyone can verify a certificate by entering its ID or scanning its QR code. No wallet is required for verification. The verifier gets a clear result — Verified, Revoked, or Not Found — directly from the blockchain.

Issuers can also revoke a certificate when needed, with the revocation recorded on-chain.

How we built it

The frontend is built with React, Vite and Tailwind CSS. The smart contract is written in Solidity and developed and tested using Hardhat. We use ethers.js to connect the web app with the blockchain and browser wallets.

For QR functionality, certificates can generate a printable QR code that links directly to the verification page.

We also hash student and certificate information before it reaches the blockchain, so sensitive plaintext data is not stored on-chain.

Challenges we ran into

The hardest part was making the blockchain workflow feel simple for a normal user. We had to handle wallet connections, transaction states, contract errors, certificate verification and QR scanning without making the interface complicated.

We also built the project to work with both a local Hardhat network and Ethereum Sepolia during development and testing.

Accomplishments that we're proud of

We built an end-to-end working MVP instead of just a smart contract demo.

A college can connect its wallet, issue a certificate, generate a QR code, and later revoke it. A verifier can scan the QR code and check the certificate directly from the blockchain without connecting a wallet.

The project also includes 24 smart-contract tests, CI, QR verification, certificate downloads and a deployed GitHub Pages frontend.

What we learned

This project helped us understand how smart contracts, wallets and frontend applications work together in a real Web3 application.

We also learned that blockchain is most useful when it solves a trust problem — in our case, allowing a verifier to check the certificate record without having to trust a private database controlled by the platform.

What's next for CertiChain

Next, we want to add IPFS-based certificate metadata, batch certificate issuing, multi-admin support, stronger institution verification and an event indexer for public certificate search.

The long-term goal is to make CertiChain useful for colleges, recruiters and students as a simple way to issue and verify academic credentials.

Built With

Share this project:

Updates

Submission history