Inspiration
Over 110 million displaced people globally lack access to formal identification. Without an ID, they’re locked out of financial systems, healthcare, education, and aid. Traditional systems are inefficient, opaque, and prone to corruption.
We asked: What if anyone could own their identity — permanently and securely — using blockchain?
RefuID was born to solve this. A decentralized identity and aid wallet that empowers refugees to control their own identity while giving NGOs a transparent, efficient way to distribute humanitarian aid.
What It Does
Self-sovereign digital identity: Refugees create a secure, blockchain-based identity that they fully control.
Aid wallet: Receive ALGO or tokenized aid like food vouchers, medical credits, and education credits.
NGO dashboard: Organizations distribute aid transparently and view real-time transaction ledgers.
Compliance-first: Every identity links to a wallet, ensuring traceable, verifiable aid distribution without bureaucracy.
🔧 How We Built It Frontend: Built with React + Bolt.new, TypeScript-powered, and fully responsive.
Wallet Integration: Using Pera Wallet and Lute Wallet via @perawallet/connect and lute-connect.
Blockchain Backend: Powered by Algorand using @algorandfoundation/algokit-utils for all smart contract interactions — no direct algosdk.
Database: Supabase for user profiles, NGO verification, and transaction logs with row-level security (RLS).
Storage: Media (like profile photos or QR codes) via Supabase Storage and optionally IPFS.
🚩 Challenges We Faced Wallet authentication logic — managing network switching and identity checks between MainNet and TestNet.
Supabase policy errors with authentication, solved by implementing RLS policies correctly and migrating to auth.uid().
Maintaining a fully decentralized flow while ensuring NGOs comply with KYC/AML requirements.
UI/UX — balancing technical complexity with a simple, accessible experience for non-technical users, especially in crisis contexts.
💡 What We Learned Deep integration of blockchain identity with real-world humanitarian aid is possible — and transformative.
Handling authentication securely between blockchain wallets and web2 databases like Supabase is both challenging and critical.
Sometimes the biggest innovation is simplicity — enabling users to onboard with just a wallet and no paperwork.
🌍 What’s Next Enable biometric DID verification (optional) for enhanced identity confidence.
Expand to multi-chain support beyond Algorand.
Launch pilots with NGOs serving refugee camps.
Add AI-based analytics for NGOs to track impact transparently
Built With
- abi
- algorand
- bolt.new
- bolt.new-blockchain:-algorand-using-@algorandfoundation/algokit-utils-(no-algosdk-direct)-wallet-integration:-pera-wallet-(@perawallet/connect)
- database
- ipfs
- javascript
- javascript-frontend-framework:-react
- lute-wallet-(lute-connect)-backend:-supabase-(authentication
- netlify
- perawallet
- react
- rls)-cloud:-netlify-(deployment)
- supabase
- typescript

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