A Farcaster mini app that allows users to easily batch sell multiple tokens from their wallet in one transaction. Built with Next.js, Thirdweb, and Base chain.
- 🧹 Batch Token Selling: Select multiple tokens and sell them all in one transaction
- 🎯 Swipe Mode: Tinder-style interface for quick token management decisions
- 📈 Price Charts: Visual price history and market data in swipe mode powered by Zapper XYZ
- 🚀 Farcaster Mini App: Fully integrated as a Farcaster mini app with embeds and manifest
- ⚡ Optimized Performance: Includes caching, pagination, and parallel quote fetching
- 🎨 Beautiful UI: Clean interface with loading states, error handling, and toast notifications
- 🔄 Real-time Updates: Automatic balance refresh after successful transactions
- 📊 Zapper XYZ Integration: Uses Zapper XYZ for comprehensive token balance data
This app is fully configured as a Farcaster mini app with:
- Mini App Embeds: OpenGraph metadata for sharing in Farcaster feeds
- Dynamic Images: Auto-generated OG images and splash icons
- Manifest File: Located at
/.well-known/farcaster.json
- Webhook Support: Ready to handle mini app events
See docs/FARCASTER_MINIAPP_INTEGRATION.md for setup details.
- Node.js 18+ and npm
- A Thirdweb client ID (get one at portal.thirdweb.com)
- A Zapper XYZ API key (get one at zapper.xyz)
- Clone the repository:
git clone https://github.com/yourusername/wallet-sweep.git
cd wallet-sweep
- Install dependencies:
npm install
- Configure environment variables:
cp .env.local.example .env.local
Then edit .env.local
and add your credentials:
NEXT_PUBLIC_THIRDWEB_CLIENT_ID
(required for wallet connection)ZAPPER_API_KEY
(required for token balance fetching)- Redis credentials (optional, for caching)
- 1inch API key (optional, for quote fetching)
- Run the development server:
npm run dev
Open http://localhost:3000 to see the app.
Deploy to Vercel or any platform that supports Next.js:
npm run build
npm start
Remember to:
- Set your environment variables in the deployment platform
- Update all domain references if not using
wallet-sweep.vercel.app
- Complete the Farcaster account association in the manifest
- Farcaster Mini App Integration
- Zapper XYZ Integration
- Zapper Swipe Mode Integration
- Caching System
- Token Image Cache
- Pagination Implementation
- Trade Summary Modal
The app uses:
- Next.js 14 with App Router
- Thirdweb SDK for Web3 functionality
- Zapper XYZ for comprehensive token balance data
- Base Chain for transactions
- Redis for caching (optional)
- 1inch API for token quotes
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details