Decentralized KYC Verification System built with Solidity, React.js, IPFS, and MetaMask/Firebase. Enables secure, role-based interaction between Customers, Banks, and Admins, ensuring privacy, transparency, and immutable document verification on the blockchain.
Secure, transparent, decentralized KYC verification system
This project implements a Know Your Customer (KYC) verification system using blockchain technology to create a secure, transparent, and decentralized identity verification platform for banks and their customers.
- Secure admin portal for bank approval and oversight
- Bank registration and customer verification system
- Blockchain-based document storage and verification
- Transparent audit trail for all KYC processes
- IPFS-based document storage with cryptographic hashing
- Smart contract-based workflow management
- Central hub for all user types (Banks, Customers, Admins)
- Role-based navigation to appropriate portals
- Wallet connection initiation
- Customers create accounts with document details
- Wallet connection establishes blockchain identity
- Secure authentication for returning customers
- Upload KYC documents to IPFS
- Select bank for verification
- Track submission status
- View all submitted documents with IPFS hashes
- Check verification status with banks
- Access historical records
- Banks register with admin details
- Submitted for admin approval
- Secure authentication for approved banks
- Manage customer verification requests
- View bank details and status
- Review customer documents
- Approve/reject requests
- Add verification remarks
- Secure admin authentication
- Wallet connection required
- Manage bank approval requests
- Monitor system activity
- Review bank registration details
- Approve/deny applications
- View wallet associations
- Solidity smart contracts manage:
- Role-based access control
- Verification workflows
- Immutable record keeping
- Documents stored on IPFS with cryptographic hashing
- Tamper-proof document verification
- Decentralized storage solution
-
Bank Onboarding
- Bank registers → Admin approves → Bank becomes active
-
Customer KYC Submission
- Customer registers → Uploads documents → Selects bank → Documents stored on IPFS
-
Bank Verification
- Bank reviews documents → Approves/rejects → Status recorded on blockchain
-
- Customer notified of approval
- Permanent record created on blockchain
- Install MetaMask or compatible wallet
- Connect wallet to the application
- Register as appropriate (admin/bank/customer)
- Follow the on-screen instructions for your role
- All sensitive operations require wallet signatures
- Documents encrypted and stored on IPFS
- Immutable record of all verification activities
- Role-based access control via smart contracts
- Cryptographic proof of document integrity
This system provides a secure, transparent alternative to traditional KYC processes by leveraging blockchain technology for identity verification.