Inspiration

We’ve all seen donation posts online where you’re never really sure if the money reached the right people. Even when you donate, you rarely get updates, and verifying anything feels impossible. So we asked ourselves a simple question:

“Why can’t charity be as transparent and real-time as checking a bank balance?”

That thought pushed us to build ElysianChain — a system where every donation, every update, and every impact can be verified by anyone, anytime. No trust required, just honesty built into the tech.

What it does

ElysianChain is a transparent donation platform that uses blockchain, real-time syncing, and secure OTP login to make giving safer and more accountable.

Users sign up with a quick OTP (no passwords).

They can donate through QR, card, SMS, or crypto via MetaMask.

Every donation is instantly written on the blockchain and visible on Etherscan.

The app updates in real time as soon as a smart contract event fires.

AI checks uploaded “proof-of-impact” videos for authenticity.

Donors get receipts, analytics, and even optional gamified badges.

It turns charity into something transparent, fast, and trustworthy.

How we built it

We built the whole experience around speed, security, and ease of use:

Flutter for the frontend so it runs on Android, iOS, and Web.

Designed a clean glassmorphic UI with smooth animations.

Firebase powers Auth, Firestore, Cloud Functions, and Storage.

Twilio SMS handles fast OTP delivery.

OTPs are checked securely using bcrypt and expire in 60 seconds.

The smart contract (Solidity) is deployed on Ethereum Sepolia and connected via Alchemy RPC.

We listen to contract events with WebSockets and update Firestore instantly.

User sessions are protected with JWT tokens stored in secure device storage.

All sensitive keys live in environment variables — nothing leaks to the client.

Building all these pieces to talk to each other smoothly took most of our time, but it works beautifully.

Challenges we ran into

We hit a lot of real-world issues while connecting so many moving parts:

Firestore indexing and blockchain event triggers clashed at first.

Some events arrived before Firebase could finish writing, causing race conditions.

Keeping UI updates under 100ms on all devices wasn’t easy.

OTP rate limits had to be strict but also user-friendly.

Managing so many environment variables without exposing anything was stressful.

Payment flows (QR, card, SMS, MetaMask) needed different handling paths.

Debugging smart contract events over WebSockets took hours.

But solving these made the entire system more stable and production-ready.

Accomplishments that we're proud of

A fully working end-to-end donation flow from OTP → payment → blockchain → live UI.

Real-time event listening that updates Firestore the moment a donation hits the chain.

A polished, modern Flutter UI people actually enjoyed using.

Secure OTP system with encryption, hashing, and rate limiting.

AI-powered video proof validation (surprisingly accurate).

On-chain receipts that donors can click and verify on Etherscan.

Building something that actually increases trust in donations — not just claims to.

What we learned

This project taught us way more than we expected:

Combining Web2 (Firebase) and Web3 (Solidity + RPC) isn’t as simple as it looks.

Real-time systems need strict ordering and idempotency.

Flutter is incredibly powerful for building data-heavy, cross-platform apps.

Secure storage is non-negotiable for user trust.

Payment UX for non-crypto users matters more than smart contracts.

Good architecture saves hours; bad architecture adds weeks.

Overall, we came out with a much deeper understanding of scalable, secure systems.

What’s next for ElysianChain

We see this becoming more than just a project:

Move to an L2 chain (Polygon/Base) to reduce gas fees.

Launch corporate matching donations.

Add NFT-based achievements for donors.

Expand the AI system for fraud and impact verification.

Build a dedicated NGO dashboard with analytics.

Deploy a full Node.js backend on Firebase Hosting.

Release a public SDK so NGOs can plug into our donation system.

The goal is to make transparent charity accessible to everyone — from large organizations to someone donating ₹100.

Built With

  • alchemy-rpc
  • bcrypt
  • dart
  • firebase-authentication
  • firebase-cloud-functions
  • firebase-firestore
  • firebase-storage
  • flutter
  • flutter-web3
  • jwt
  • metamask
  • node.js
  • secure
  • solidity
  • storage
  • twilio-sms-api
  • vercel
  • web3dart
Share this project:

Updates