A fully functional Web3 portal for tracking token transaction origins from DEX pools. Built with React, TypeScript, and Ethers.js, deployable to GitHub Pages with no server required.
- ✅ DEX pool transaction analysis
- ✅ Buy/sell transaction detection
- ✅ Recursive token origin tracing
- ✅ Time 0 detection (DEX, Contract, Aggregator, CEX)
- ✅ Block limit handling (2000 blocks per query)
- ✅ Complex transaction parsing
- ✅ Alchemy support
- ✅ QuickNode support
- ✅ Infura support
- ✅ Multiple network support (Base, Ethereum, Polygon, etc.)
- ✅ Browser-based API key storage
- ✅ Wallet labeling system
- ✅ LocalStorage persistence
- ✅ Known aggregator detection
- ✅ CEX wallet detection
- ✅ Label management UI
- ✅ Modern, responsive design
- ✅ Mobile-optimized
- ✅ Dark theme
- ✅ Real-time progress tracking
- ✅ Expandable trace visualization
- ✅ Transaction statistics
- ✅ Error handling and validation
- ✅ GitHub Actions workflow
- ✅ GitHub Pages configuration
- ✅ Production build optimization
- ✅ Source maps for debugging
sales-tracker/
├── src/
│ ├── components/ # React components
│ │ ├── AnalysisForm.tsx
│ │ ├── ConfigurationModal.tsx
│ │ ├── ResultsView.tsx
│ │ └── WalletLabelsModal.tsx
│ ├── types/ # TypeScript definitions
│ │ └── index.ts
│ ├── utils/ # Core logic
│ │ ├── blockchain.ts # RPC interaction
│ │ ├── storage.ts # LocalStorage
│ │ └── tracker.ts # Tracing algorithm
│ ├── App.tsx # Main component
│ ├── main.tsx # Entry point
│ └── index.css # Global styles
├── .github/workflows/ # CI/CD
├── public/ # Static assets
├── Documentation files
└── Configuration files
- React 18 - UI framework
- TypeScript - Type safety
- Vite - Build tool & dev server
- Tailwind CSS - Utility-first styling
- Lucide React - Icon library
- Ethers.js v6 - Ethereum interaction
- ERC20 Transfer Events - Token tracking
- Binary Search - Block timestamp lookup
- GitHub Actions - CI/CD pipeline
- GitHub Pages - Static hosting
- No backend required - Pure client-side
// Identifies buy/sell from pool transfers
- Pool → Wallet = Buy
- Wallet → Pool = Sell// Recursive backward tracing
1. Start with seller wallet
2. Find first incoming transfer
3. Check if source is origin point
4. If not, recursively trace source
5. Continue until origin found// Determines if address is origin
- DEX Pool address
- Token contract address
- Known aggregator (1inch, 0x, etc.)
- Labeled CEX wallet
- Unknown (can't trace further)// Respects RPC provider limits
- Split queries into 2000-block chunks
- Sequential processing
- Progress trackingUser Input (Pool, Token, Timeframe)
↓
Convert timestamps to blocks
↓
Fetch token transfers from pool
↓
Identify buy/sell transactions
↓
For each sell:
↓
Trace wallet history backwards
↓
Find first incoming transfer
↓
Recursively trace source
↓
Detect origin point
↓
Build trace chain
↓
Display results
- API provider selection
- Network selection
- API key input
- LocalStorage persistence
- Add/remove wallet labels
- Address validation
- Label management
- Persistent storage
- Pool address input (supports DexScreener URLs)
- Token address input
- Date/time pickers
- Progress indicator
- Error handling
- Statistics cards
- Transaction list
- Expandable trace chains
- Origin badges
- External links (Etherscan)
- No backend - All processing client-side
- Local storage - API keys never leave browser
- Direct RPC - No intermediary servers
- Open source - Fully auditable code
- No tracking - No analytics or data collection
- Multi-column layouts
- Expanded statistics
- Side-by-side forms
- Full trace visualization
- Adaptive columns
- Stacked forms
- Optimized spacing
- Single column
- Touch-optimized buttons
- Scrollable lists
- Compact statistics
- Code Splitting - Vite automatic splitting
- Tree Shaking - Remove unused code
- Lazy Loading - Load on demand
- Efficient Queries - Batch RPC calls
- Progress Tracking - User feedback
- Error Recovery - Graceful failures
- README.md - Project overview
- QUICKSTART.md - Get started in 5 minutes
- SETUP.md - Detailed setup instructions
- USAGE_EXAMPLES.md - Real-world examples
- PROJECT_SUMMARY.md - This file
- Test with known token on Base
- Verify API configuration works
- Test wallet labeling
- Verify trace accuracy
- Test mobile responsiveness
- Empty timeframes
- Invalid addresses
- Rate limit handling
- Network errors
- Long trace chains
- Export results to CSV/JSON
- Batch analysis (multiple tokens)
- Historical comparison
- Whale wallet alerts
- Price correlation
- Multi-chain support
- Trace visualization graph
- Advanced filtering
- Caching layer
- Parallel tracing
- Incremental updates
- Background processing
- Pattern detection
- Anomaly alerts
- Trend analysis
- Holder profiling
- Update
vite.config.tsbase path - Test build locally
- Push to GitHub
- Enable GitHub Pages
- Verify deployment
- Test on mobile
- Share with users
- QUICKSTART.md - Basic usage
- USAGE_EXAMPLES.md - Advanced techniques
- SETUP.md - Development setup
- Code comments - Inline documentation
- TypeScript types - Self-documenting
The codebase is structured for easy contributions:
- Components - Add new UI components
- Utils - Add new blockchain utilities
- Types - Extend TypeScript definitions
- Docs - Improve documentation
MIT License - Free for any use
The project is complete and ready to:
- Install dependencies (
npm install) - Run locally (
npm run dev) - Build for production (
npm run build) - Deploy to GitHub Pages
All features requested have been implemented: ✅ DEX pool analysis ✅ Time 0 tracing ✅ Complex transaction handling ✅ API configuration ✅ Wallet labeling ✅ Block limit handling ✅ Mobile responsive ✅ GitHub Pages deployment
For issues or questions:
- Check documentation files
- Review code comments
- Open GitHub issue
- The code is self-explanatory and well-structured
Built with ❤️ for the Web3 community