All Projects
LiveSolo Engineer & ArchitectFlagship · Advanced

Cred Chain

Certificates on-chain. Forgery off the table.

CredChain eliminates academic credential fraud by anchoring digitally-signed certificates to the Ethereum blockchain — making every qualification instantly verifiable by anyone, anywhere, without contacting the issuing institution.

Live Demo GitHub
Cred Chain

The Story

Why this exists.

The Problem

Academic credential fraud costs institutions and employers billions annually. Fake degrees are indistinguishable from real ones to a non-specialist. Verification requires contacting the issuing institution — a slow, manual process that often gets skipped. The result: fraudulent qualifications enter the workforce every year.

Why It Matters

Trust in credentials is the foundation of education's value. When a medical school degree can be forged, patient safety is at risk. When an engineering certificate can be faked, infrastructure fails. CredChain makes credential trust a technical guarantee, not a social assumption.

The Solution

Institutions issue credentials as on-chain NFTs on Ethereum, digitally signed with the institution's private key. The certificate hash is stored in a Solidity smart contract. Anyone can verify a credential by connecting MetaMask and querying the contract — no institution contact required, no possibility of tampering.

Product Features

What it does.

Blockchain-Anchored Credentials

Each certificate is hashed and recorded in a Solidity smart contract on Ethereum. The hash is immutable — any alteration to the certificate invalidates the on-chain record immediately.

Blockchain-Anchored Credentials

One-Click Verification

Employers and verifiers connect MetaMask, paste the credential ID or scan the QR code, and get an instant cryptographic verification — valid/invalid with issuer signature details.

Digital Signature Chain

Every credential carries the institution's ECDSA signature alongside the on-chain hash. Verification checks both — ensuring the credential was issued by the claimed institution.

Credential Portfolio

Students have a personal credential wallet — all their verified certificates in one place, shareable via link or QR code for instant employer verification.

System Architecture

How every layer connects.

Smart ContractSolidity + HardhatCredential registry — issue, revoke, verify on Ethereum
BlockchainEthereum (Sepolia testnet)Immutable credential hash storage
WalletMetaMask + ethers.jsInstitution signing, verifier identity, student wallet
FrontendNext.js + TypeScriptIssue UI, verification UI, student portfolio
SigningECDSA via ethers.jsInstitution private key signing of credential metadata
DeploymentVercelFrontend CDN, serverless API routes

Technical Deep Dive

Under the hood.

Smart Contract Design

The CredChain contract maintains a mapping from credentialId to CredentialRecord (issuer address, recipient address, metadata hash, timestamp, revoked flag). Issuance emits an event — queryable by any off-chain indexer. Revocation sets the revoked flag — verification checks this before returning a valid status. The contract is upgradeable via a proxy pattern to allow bug fixes without losing historical records.

struct CredentialRecord {
    address issuer;
    address recipient;
    bytes32 metadataHash;
    uint256 issuedAt;
    bool revoked;
}
mapping(bytes32 => CredentialRecord) public credentials;

function issue(bytes32 id, address recipient, bytes32 hash) external onlyIssuer {
    credentials[id] = CredentialRecord(msg.sender, recipient, hash, block.timestamp, false);
    emit CredentialIssued(id, msg.sender, recipient);
}

function verify(bytes32 id) external view returns (bool valid, CredentialRecord memory record) {
    record = credentials[id];
    valid = record.issuer != address(0) && !record.revoked;
}

Off-Chain Metadata with On-Chain Hash

Storing full credential data on-chain is expensive. CredChain stores only the SHA-256 hash of the credential metadata on-chain. The full metadata (name, degree, grade, date) is stored off-chain in Supabase. Verification downloads the off-chain metadata, recomputes the hash, and compares it to the on-chain record — if they match, the credential is authentic and unaltered.

Engineering Decisions

Challenge → Decision → Result.

Full metadata on-chain vs. hash-only with off-chain storage

Decision

Hash-only on-chain, full metadata off-chain in Supabase

Why

Storing 1KB of metadata on Ethereum costs ~$5–20 in gas per credential. Storing only a 32-byte hash costs cents. The cryptographic guarantee is identical.

Result

Gas cost per credential reduced from ~$15 to ~$0.10.

Which network — Ethereum mainnet vs. testnet for demo

Decision

Sepolia testnet for live demo, mainnet-compatible contract

Why

Mainnet deployment costs real ETH. Sepolia gives identical behaviour for demonstration. The contract is mainnet-ready — one config change to deploy.

Result

Zero deployment cost for demo, full production parity.

Performance & Scale

By the numbers.

< 2sVerification Timeon-chain query + hash comparison
~$0.10Gas Per IssuanceSepolia testnet equivalent
100%Tamper Detectionany alteration detected
96%Contract Test CoverageHardhat test suite

Deployment & Infrastructure

Production setup.

Deployment

Solidity contract deployed on Ethereum Sepolia testnet via Hardhat. Next.js frontend on Vercel. Credential metadata in Supabase PostgreSQL.

CI/CD

GitHub Actions — Hardhat contract tests + TypeScript check on PR. Auto-deploy frontend on merge.

Monitoring

Etherscan for on-chain transaction monitoring. Supabase dashboard for off-chain data.

Challenges & Failures

What broke — and how I fixed it.

Challenge

MetaMask prompting users on every verification query (read-only call costing gas UX).

Fix

Switched read-only queries to use a public RPC provider via ethers.js JsonRpcProvider — MetaMask only prompts for write operations (issuance/revocation).

What I Learned

Key takeaways.

Future Roadmap

Where this is going.

v2.0 — 2026

  • Mainnet deployment with institutional onboarding flow
  • IPFS for off-chain metadata — fully decentralised, no Supabase dependency
  • Verifiable Credentials standard (W3C VC) compatibility

Screenshots

The product.

CredChain verification

One-click credential verification via MetaMask

Credential portfolio

Student credential wallet with shareable links

Technology Stack

Built with.

Smart Contract

Solidity

Dev Toolchain

Hardhat

Blockchain

Ethereum

Wallet

MetaMask

Web3 Library

ethers.js

Frontend

Next.jsTypeScript

Off-chain Storage

Supabase

Ready to dive in?

This isn't just a project.
It's a system I designed,
engineered, and shipped.

Live Demo Explore the code← All Projects