A Next.js application that tracks and ranks PumpFun tokens based on deployer performance and token metrics.
- 🔍 Smart Token Scanning: Automatically scans for tokens meeting specific criteria
- 📊 Deployer Analysis: Evaluates deployer bonding rate (must be >50%)
- 🎯 Token Filtering: Only shows tokens with 15+ holders and 6K+ market cap
- ⏱️ Real-time Updates: Refreshes every 5 minutes
- 🎨 Futuristic UI: Cyberpunk-inspired design with animated elements
- 🏆 Ranked Display: Top 10 tokens ranked by deployer bonding rate
- Node.js 18+
- npm or yarn
-
Clone the repository or extract the files
-
Install dependencies:
npm installThis application requires integration with PumpFun's API. You need to update the following functions in app/api/tokens/route.ts:
- fetchRecentTokens(): Replace mock data with actual PumpFun API call
async function fetchRecentTokens(): Promise<any[]> {
const response = await fetch('https://api.pump.fun/tokens/recent?limit=100');
const data = await response.json();
return data.tokens;
}- fetchDeployerHistory(): Implement deployer token history fetching
async function fetchDeployerHistory(deployer: string): Promise<any[]> {
const response = await fetch(`https://api.pump.fun/deployer/${deployer}/tokens`);
return response.json();
}- calculateDeployerStats(): Implement actual bonding rate calculation based on your bonding criteria
Create a .env.local file for any API keys or configuration:
PUMPFUN_API_KEY=your_api_key_here
NEXT_PUBLIC_SOLANA_RPC=your_rpc_endpoint
Run the development server:
npm run devOpen http://localhost:3000 in your browser.
Build the application:
npm run buildStart the production server:
npm start-
Push your code to a Git repository (GitHub, GitLab, or Bitbucket)
-
Go to Vercel
-
Click "Add New Project"
-
Import your repository
-
Configure environment variables if needed
-
Click "Deploy"
- Install Vercel CLI:
npm i -g vercel- Deploy:
vercel- For production deployment:
vercel --prodpumpfun-deployer-hunter/
├── app/
│ ├── api/
│ │ └── tokens/
│ │ └── route.ts # Backend API for token analysis
│ ├── globals.css # Global styles with futuristic theme
│ ├── layout.tsx # Root layout
│ └── page.tsx # Main page component
├── lib/
│ └── types.ts # TypeScript type definitions
├── public/ # Static assets
├── next.config.js # Next.js configuration
├── package.json # Dependencies
├── tailwind.config.js # Tailwind CSS configuration
└── tsconfig.json # TypeScript configuration
The application filters tokens based on:
- Age: Created within the last 60 minutes
- Holders: Minimum 15 holders
- Market Cap: Minimum $6,000
- Deployer Performance: Deployer must have >50% bonding rate on previous tokens
Tokens are ranked by deployer bonding rate (highest to lowest). Top 10 tokens are displayed.
In app/api/tokens/route.ts, modify:
const CACHE_DURATION = 5 * 60 * 1000; // 5 minutesIn app/api/tokens/route.ts, modify the filter conditions:
const filteredTokens = recentTokens.filter(token => {
return (
token.holders >= 15 && // Change minimum holders
token.marketCap >= 6000 && // Change minimum market cap
token.createdAt >= sixtyMinutesAgo
);
});.filter(token => {
const deployerStats = deployerStatsMap.get(token.deployer);
return deployerStats && deployerStats.bondingRate > 50; // Change from 50
})- Verify API integration is correct
- Check browser console for errors
- Ensure tokens meet all criteria
- Verify the API route is responding at
/api/tokens
- Clear browser cache
- Rebuild the application
- Check that Tailwind CSS is properly configured
For issues or questions about:
- Next.js: Next.js Documentation
- Vercel: Vercel Documentation
- Solana: Solana Documentation
MIT License - Feel free to use and modify for your needs.