💡 Inspiration We live in an era where centralized "honeypots" of sensitive data—passports, IDs, and biometrics—are constant targets for hackers. The inspiration for Decentkyc came from a simple question: Why must we give up ownership of our most private documents just to prove who we are? We wanted to build a system where identity is a portable digital passport owned by the individual, not the institution.
🛡️ What it does Decentkyc is a production-grade, blockchain-anchored identity platform.
Users can upload sensitive documents (Passport/PAN), which are encrypted locally (AES-256-GCM) and stored on IPFS. AI-Powered Logic performs biometric liveness checks and face-matching between live selfies and uploaded IDs. Institutions (Banks) can request access to verified data, but fruition is only possible through a cryptographic signature provided by the user. It creates a zero-trust ecosystem where proof of identity is immutable, but the data itself remains private. 🛠️ How we built it Frontend: Built with React and a custom Glassmorphic design system to provide a premium, fintech aesthetic. We implemented a Demo Wallet fallback to allow testing in environments without MetaMask. Backend: Powered by FastAPI with a zero-trust RBAC (Role-Based Access Control) architecture. Computer Vision: Integrated OpenCV for eye-detection, face-detection, and ORB feature-matching to ensure liveness and identity synchronization. Blockchain: Developed Solidity smart contracts deployed via Hardhat to anchor identity hashes and manage decentralized consent. Security: Implemented AES-256-GCM for file encryption and SHA-256 for on-chain integrity without PII leakage. 🚧 Challenges we ran into State Synchronization: Handling the delicate transition between the Biometric Liveness check and the institutional portal without manual friction or "blank page" crashes. Environment Barriers: Ensuring the app was fully functional in non-Web3 browsers led us to engineer a deterministic "Mock Wallet" system. Encryption Overheads: Balancing the speed of AES-256 encryption with the asynchronous nature of IPFS uploads required robust progress-tracking and error-handling in the UI. 🏆 Accomplishments that we're proud of End-to-End Automation: We successfully removed the "manual step" from KYC, creating a fluid Upload -> Liveness -> Verify pipeline. Institutional RBAC: We built a true two-sided marketplace where Banks can request access and Users can grant/revoke it in real-time with on-chain proof. Resilient UI: The app is hardened against camera failures, blockchain desyncs, and missing extensions. 📚 What we learned We learned that decentralization doesn't have to mean a bad user experience. By focusing on "fintech-first" UI and providing fallbacks like Demo Wallets, we discovered that complex cryptographic flows can be made intuitive for the average user. We also deepened our expertise in in-memory document decryption for privacy-safe face matching.
🚀 What's next for Decentkyc Zero-Knowledge Proofs (ZKP): Allowing users to prove "I am over 18" or "I am a citizen" without revealing their birthdate or country. Mobile Integration: Bringing the liveness check to native iOS/Android for even higher fidelity biometric capture. Multi-Chain Anchoring: Deploying the KYC registry to Polygon or Arbitrum for low-cost, high-speed identity verification at scale. View the Code on GitHub 🛡️✨
Built With
- bcrypt
- docker
- docker-compose
- ecdsa
- fastapi
- feature
- git
- html5
- javascript
- jwt
- opencv
- orb
- pydantic
- python
- react
- sha-256
- solidity
- solidity-smart-contracts
- sqlalchemy
- web3.py


Log in or sign up for Devpost to join the conversation.