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
Log in or sign up for Devpost to join the conversation.