StakeCommerce
Web3 Staking & E-commerce demo built with Next.js 15, TypeScript, and modern Web3 tooling. Users can stake ETH (simulated in dev), earn Commerce Coins via daily check-ins, and spend them in an on-platform shop. Includes NFT achievement mechanics, streak bonuses, and a mobile-friendly UI.
Highlights
- Web3 Wallets: MetaMask, WalletConnect (via RainbowKit / wagmi)
- Staking (simulated): Stake
0.02 ETHto unlock daily rewards - Daily Check-ins: Earn Commerce Coins (CC) — maintain streaks for bonuses
- E-commerce: Spend Commerce Coins on exclusive items and passes
- NFT Achievements: Mintable/claimable NFT milestones
- Responsive UI: Desktop + mobile, dark theme
- Dev simulation: No real ETH moves — safe to run locally
🌟 Features
- Wallet Integration — connect with MetaMask, WalletConnect and other wallets
- Staking System — stake a set amount to enable rewards
- Daily Check-ins — claim Commerce Coins; streaks for bonus rewards
- Shop — product catalog, cart, checkout (uses mock inventory)
- NFT Achievements — milestones reward NFTs or badges
- Streak System — consecutive check-ins increase rewards
- Responsive Design — tailored for both desktop and mobile
Tech Stack
- Frontend: Next.js 15 (App Router), TypeScript
- Styling: Tailwind CSS (custom dark theme)
- Web3: wagmi, RainbowKit, ethers.js, viem
- UI: Radix UI, Lucide React icons
- State: React hooks / local state (simulation mode)
Project Structure
src/
├── app/ # Next.js app router pages
│ ├── dashboard/ # User dashboard
│ ├── shop/ # Product catalog
│ ├── stake/ # Staking UI
│ └── page.tsx # Landing page
├── components/ # Reusable components
│ ├── ui/ # UI primitives (Button, Card, etc.)
│ └── Web3Providers.tsx
├── lib/ # Utilities & config
│ ├── config.ts
│ └── utils.ts
└── types/ # TypeScript types
Useful scripts
npm run dev— start dev servernpm run build— production buildnpm run start— run production servernpm run lint— run ESLint
⚙️ Configuration
Create a .env.local:
NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=your_project_id
NEXT_PUBLIC_APP_NAME=StakeCommerce
# Add other env variables as needed for API keys or contract addresses later
How It Works (user flow)
- Connect Wallet — via RainbowKit/wagmi
- Stake ETH — stake
0.02 ETH(simulated) to unlock daily check-ins - Daily Check-ins — visit dashboard daily to claim Commerce Coins; missing a day breaks streak
- Shop — spend Commerce Coins on products, hardware wallet passes, educational content, or NFT access
- Achievements — unlock NFT/achievement rewards for milestones (early adoption, streaks, high spending)
Key Components
Pages
/— Landing / Hero/stake— Stake interface/dashboard— Daily check-ins & user stats/shop— Product catalog and cart
Core components
Web3Providers— wallet & chain providersButton,Card— reusable UI elementsNavigation— site header & routing
Design System
- Primary: Purple gradient (
#8b5cf6) - Accent: Blues, yellow for Commerce Coins (
#fbbf24) - Background: Dark theme (
gray-900) - UI patterns: cards, gradients, responsive grids, smooth loading states & micro-animations
Future Enhancements (roadmap)
On-chain upgrades
- Real ETH staking smart contract (solidity)
- ERC-20
CommerceCointoken - ERC-721 achievement NFTs
- Automated reward distribution via backend/cron or on-chain logic
Backend & Operations
- User auth & database persistence
- Real product inventory and order fulfillment
- Payment rails for fiat/crypto checkout
- Unit & integration tests, CI/CD
Advanced features
- Liquidity pools & staking rewards strategy
- Governance/voting module
- Referral system & multi-chain support
- Marketplace + rentals, dynamic pricing
--

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