A comprehensive, production-ready Web3 wallet application built on Base blockchain featuring advanced DeFi functionality, NFT management, real-time analytics, and festive user experience.
Xmas Wallet is a feature-rich Farcaster Mini App that provides a complete blockchain ecosystem experience. Built with modern web technologies and connected to Base network, it offers everything from basic wallet operations to advanced DeFi features like staking, token swaps, and NFT galleries.
- Framework: Next.js 16 + React 19.2
- Styling: Tailwind CSS 4
- Blockchain: Base Network (Ethereum L2)
- Web3: Wagmi v2 + Viem
- Wallet Connection: Reown AppKit + WalletConnect
- Deployment: Vercel
- Next.js 16 - Latest React framework with App Router
- React 19.2 - Latest React with new features
- TypeScript 5 - Type-safe development
- Tailwind CSS 4 - Modern utility-first styling
- Wagmi v2.19 - React Hooks for Ethereum
- Viem v2.38 - TypeScript Ethereum library
- Reown AppKit v1.8 - Base-native wallet integration
- Ethers.js v6 - Ethereum interactions
- Lucide React - Beautiful icon library
- Canvas Confetti - Celebration animations
- React Confetti Explosion - Dynamic effects
- Custom Snowfall - Festive UI elements
- ESLint 9 - Code quality
- PostCSS - CSS transformations
- @tanstack/react-query - Data fetching & caching
xmas-wallet/
βββ public/
β βββ hero-bg.jpg # Main background image
β βββ wallet-icon.jpg # Wallet icon
β βββ base-logo.jpg # Base network logo
β βββ rewards-badge.jpg # Achievement badges
β βββ farcaster.json # Farcaster manifest
βββ src/
β βββ app/
β β βββ page.tsx # Main application page
β β βββ layout.tsx # Root layout with providers
β β βββ globals.css # Global styles & themes
β β βββ favicon.ico # App icon
β βββ components/
β β βββ BaseNetworkStats.tsx # Network statistics
β β βββ FestiveRewards.tsx # Reward system
β β βββ GasTracker.tsx # Gas price monitor
β β βββ NFTGallery.tsx # NFT collection viewer
β β βββ PortfolioDashboard.tsx # Asset overview
β β βββ PriceTracker.tsx # Live price feeds
β β βββ Snowfall.tsx # Festive animations
β β βββ SocialShare.tsx # Social sharing
β β βββ Staking.tsx # Staking interface
β β βββ TokenSwap.tsx # Token exchange
β β βββ TransactionHistory.tsx # Tx history
β β βββ TransactionMotivation.tsx # Success messages
β β βββ WalletAnalytics.tsx # Wallet insights
β βββ providers/
β βββ Web3Provider.tsx # Web3 setup & config
βββ package.json
Live App: https://xmas-wallet.vercel.app/ Repository: https://github.com/mumair738/xmas-wallet
- π Multi-Wallet Support: Connect via Reown AppKit & WalletConnect
- πΌ Portfolio Dashboard: Track all your assets in one place
- π Real-time Analytics: Monitor wallet performance with detailed metrics
- π Live Price Tracking: Get real-time prices for ETH, BASE, USDC, DAI
- β½ Gas Tracker: Monitor Base network gas prices (Slow, Standard, Fast, Instant)
- π Token Swap: Instant token swaps with live exchange rates
- π Staking Pools: Earn rewards by staking tokens with flexible APY options
- π Festive Rewards: Gamified reward system with points and tiers
- πΈ Send Gifts: Send ETH to friends with festive animations
- πΌοΈ NFT Gallery: View and manage your NFT collection
- π± Social Sharing: Share your achievements on Twitter
- π Achievement System: Earn badges and climb reward tiers
- π Transaction History: Complete history of all your transactions
- π Base Network Stats: Real-time blockchain statistics
- β‘ Live Activity Tracking: Monitor daily transactions and active users
- π° Network Health Dashboard: Check Base network performance
- π¨ Beautiful UI: Festive design with snowfall effects and smooth animations
π¨βπ» Developer
Muhammad Umair (@mumair738) Building open, fun, and educational apps for the Base & Farcaster ecosystem.
- Node.js 18+ installed
- npm or yarn package manager
- A Reown/WalletConnect project ID
- MetaMask or compatible Web3 wallet
- Clone the repository
git clone https://github.com/mumair738/xmas-wallet.git
cd xmas-wallet- Install dependencies
npm install
# or
yarn install- Set up environment variables
Create a .env.local file in the root directory:
NEXT_PUBLIC_PROJECT_ID=your_reown_project_id_hereGet your project ID from Reown Cloud
- Run the development server
npm run dev
# or
yarn devOpen http://localhost:3000 in your browser.
- Build for production
npm run build
npm startThe easiest way to deploy Xmas Wallet:
Or manually:
- Push your code to GitHub
- Import project in Vercel
- Add environment variable:
NEXT_PUBLIC_PROJECT_ID - Deploy
Add the following public/farcaster.json to your repo (example below); then submit your mini app on Farcaster's developer console.
{
"name": "Xmas Wallet",
"description": "Celebrate on Base! A multi-wallet Farcaster mini app using Reown + WalletConnect",
"url": "https://xmas-wallet.vercel.app",
"icon": "https://i.ibb.co/gmDqvkh/xmas-wallet-icon.png",
"developer": "@mumair738",
"permissions": ["wallet_connect", "user_profile"],
"version": "1.0.0",
"baseBuilder": {
"ownerAddress": "0x0"
},
"accountAssociation": {
"header": "",
"payload": "",
"signature": ""
}
}- Do not commit secret keys. Use environment variables for sensitive values (e.g.,
REOWN_PROJECT_IDandWALLETCONNECT_PROJECT_ID) in production. - Verify contracts on Base if you deploy any smart contracts β add addresses and verification links in README.
- Use HTTPS and secure origins for OAuth/connect flows.
- Make your GitHub repo public and add a clear README + manifest (we've included both).
- Deploy to a public URL and include that URL in Farcaster developer console when submitting the mini app.
- Show integration evidence in README (screenshots, short GIFs) and include
package.jsonshowing@reown/appkitand@walletconnect/clientdependencies. - If you deploy a contract on Base, link the contract and provide verification details.
- Engage with the Base community and open-source your project β contributions and activity boost your score.
- Click "Connect Wallet" button
- Select your preferred wallet (MetaMask, Coinbase, etc.)
- Approve the connection
- Start exploring features!
- Overview: View your balance and account info
- Analytics: Track your portfolio performance
- Portfolio: See all your tokens and allocations
- NFTs: Browse your NFT collection
- Swap: Exchange tokens instantly
- Staking: Earn rewards by staking
- Rewards: Check your achievement progress
- Prices: Monitor live token prices
- Gas: Track current gas fees
- Base: View network statistics
- Share: Invite friends and earn
- Settings: Customize your experience
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Features Documentation - Complete feature specifications
- API Reference - Component and utility API guide
- Contributing Guide - How to contribute
- Changelog - Version history
Wallet won't connect:
- Ensure your project ID is correct
- Check that your wallet extension is installed
- Try clearing browser cache
Transaction fails:
- Check you have enough ETH for gas
- Verify the recipient address
- Ensure you're on Base network
UI not loading:
- Clear browser cache
- Check console for errors
- Verify all dependencies are installed
Images not showing:
- Check public folder permissions
- Verify image paths are correct
- Ensure build completed successfully
For more help, open an issue.
- 13 Major feature sections
- 50+ Individual features
- 15 React components
- 7 High-quality generated images
- 20+ Utility functions
- 100% TypeScript coverage
- Multi-chain support (Ethereum, Polygon, Optimism)
- Advanced portfolio analytics
- Transaction export (CSV/PDF)
- Custom token import
- Address book
- DeFi yield farming
- Lending/borrowing integration
- NFT minting interface
- Enhanced charts and graphs
- Mobile app (iOS/Android)
- DAO governance
- Cross-chain bridge
- Hardware wallet support
- AI-powered insights
- Social trading features
This project is licensed under the MIT License - see the LICENSE file for details.
- Base Team - For the amazing L2 network
- Reown/WalletConnect - For wallet connectivity
- Wagmi Team - For excellent React hooks
- Next.js Team - For the incredible framework
- Community - For feedback and support
If you find this project useful, please consider giving it a star! β
- Developer: Muhammad Umair
- GitHub: @mumair738
- Project: Xmas Wallet
- Website: xmas-wallet.vercel.app
If you like this project, consider:
- Giving it a β on GitHub
- Sharing it with the community
- Contributing code or documentation
- Reporting bugs and suggesting features
Built with β€οΈ for the Base ecosystem
Powered by Next.js, React, and Tailwind CSS
Licensed under MIT
π Merry Crypto Christmas! π