IdentiX is a blockchain-backed decentralized identity (DID) and verifiable credentials (VC) platform built as part of the IITGN Codeversity Hackathon. The system enables secure, privacy-preserving credential issuance, ownership, and verification for education and workforce use cases.
IdentiX allows trusted institutions to issue cryptographically verifiable credentials to individuals, who fully own and control them through a digital wallet. Verifiers can instantly validate credentials without contacting the issuing authority, eliminating fraud and manual verification delays.
- Decentralized Identifiers (DIDs) aligned with W3C standards
- Verifiable Credential issuance and verification
- Off-chain credential storage with on-chain hash anchoring
- Blockchain-based credential revocation registry
- Trusted issuer registry
- Privacy-first design (no personal data stored on blockchain)
- Blockchain is used strictly as a trust anchor
- Credentials are created and stored off-chain
- Verification is cryptographic and trustless
- Users own and control their credentials
- No centralized identity database
identix-did-vc/ ├── backend/ # Express.js backend API │ ├── src/ │ │ ├── config/ │ │ ├── routes/ │ │ ├── controllers/ │ │ ├── services/ │ │ ├── crypto/ │ │ ├── middleware/ │ │ ├── models/ │ │ └── tests/ │ └── package.json │ ├── blockchain/ # Solidity smart contracts │ ├── contracts/ │ ├── scripts/ │ └── hardhat.config.js │ ├── frontend/ # Frontend applications │ ├── app/ # Unified app (Wallet + Issuer + Verifier) │ ├── issuer/ │ ├── verifier/ │ └── wallet/ │ └── docs/ # Architecture & demo documentation ├── architecture.md ├── api-spec.md └── demo-flow.md
- Node.js + Express.js
- Veramo (DID & Verifiable Credentials)
- MongoDB
- ethers.js
- Ethereum-compatible testnet (Polygon Amoy / Sepolia)
- Solidity
- Hardhat
- React
- TailwindCSS
- QR-based credential sharing
- Favicon:
frontend/assets/link.png(used as app icon)
- Cryptographic signature verification
- Trusted issuer registry
- Blockchain-backed credential revocation
- Rate limiting and input validation
- No Aadhaar, phone numbers, emails, or personal identifiers stored
POST /api/did/create– Create a decentralized identifierPOST /api/did/recover– Recover DID using seed phraseGET /api/did/:did– Resolve DID document
POST /api/credentials/issue– Issue a verifiable credentialGET /api/credentials/:id– Retrieve credentialGET /api/credentials/verify– Verify credential authenticityPOST /api/credentials/revoke– Revoke a credential
GET /api/blockchain/check/:hash– Check credential hash statusGET /api/blockchain/tx/:txHash– Get blockchain transaction details
- Issuer issues a verifiable credential
- Holder receives credential in wallet
- Holder shares credential via QR code
- Verifier scans QR code
- Backend verifies signature and revocation status
- Blockchain confirms issuer trust
- Result displayed as VERIFIED or REVOKED
- W3C Decentralized Identifiers (DID) v1.0
- W3C Verifiable Credentials Data Model v1.1
- Selective disclosure of credential attributes
- Social recovery for decentralized identities
- Batch credential verification
- Enterprise-grade access controls
IdentiX is developed by a team of five members as part of the IITGN Codeversity Hackathon.
This project is released under the MIT License.