About UniMarket

Inspiration

I built a student-only marketplace with blockchain-backed verification. Existing platforms lack verification, charge high fees, and don’t use blockchain for transparency. I wanted a trusted, low-fee marketplace with cryptographic proof of student identity.

What I Learned

Dual blockchain integration: Ethereum/Arbitrum and Solana with different APIs Hash-based verification: storing proofs on-chain without exposing raw data Real-time crypto conversion: using CoinGecko API for ETH/SOL rates OCR integration: extracting student ID data with OpenRouter API Next.js App Router patterns and server-side API routes How I Built It Set up Next.js with MongoDB for data storage Integrated Wagmi for Ethereum and Solana wallet adapter for Solana Built payment flows for both chains with real-time conversion Created student verification: OCR → hash generation → Solana proof storage Implemented proof verification: hash validation + blockchain lookup Added marketplace features: listings, maps, messaging, seller dashboard

Challenges Faced

Dual blockchain support: different APIs and patterns — solved with separate adapters Map z-index: Leaflet appearing above navbar — fixed with CSS z-index rules Payment workflow: ensuring product creation only after payment — sequential flow CORS issues: browser couldn’t call proof store API — used Next.js API proxy Image uploads: large files causing MongoDB issues — added validation and compression Session management: users logged out on role switch — used router.push() instead of reload

Technologies Used

TypeScript, JavaScript, Next.js 16, React 19, Tailwind CSS, MongoDB, NextAuth.js, Wagmi, Solana Web3.js, Anchor, Hardhat, OpenRouter API, CoinGecko API, React Leaflet, Vercel The project shows how blockchain can add trust and transparency to marketplaces while keeping a good user experience

Built With

  • bcryptjs
  • coingecko-api
  • coral-xyz/anchor
  • crypto-(node.js)
  • eslint
  • framer-motion
  • hardhat
  • javascript
  • leaflet.js
  • lucide
  • metamask-sdk
  • mongodb
  • mongodb-adapter
  • multer
  • next.js-16
  • nextauth.js
  • openrouter-api
  • openstreetmap/nominatim
  • phantom-wallet
  • radix-ui
  • react-19
  • react-leaflet
  • shadcn/ui
  • solana/wallet-adapter-react
  • solana/web3.js
  • tailwind-css-4
  • typescript
  • vercel
  • wagmi
  • web-crypto-api
Share this project:

Updates