The Problem
Every time I found a promising new Solana token, it was already too late.
By the time I discovered it manually on DexScreener, early buyers had already
made 5β10x. I needed a way to see new tokens the moment they launched β
with real risk data, not just price charts.
So I built Solana Token Scanner.
π Live: solanatokenscanner.com
What It Does
The scanner monitors new Solana token launches every 5 minutes and
automatically analyzes each one for:
- Trust Score (0β100) based on 6 on-chain factors
- Risk Flags β LP lock status, mint authority, freeze authority
- Momentum Score β volume acceleration, buy pressure, holder growth
- Smart Money Detection β known wallet activity patterns
- Holder Concentration β top-10 wallet distribution
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Next.js 15, TypeScript, Tailwind CSS |
| Database | PostgreSQL (Supabase) + Prisma ORM |
| Deployment | Vercel |
| Data | DexScreener, Helius RPC, RugCheck |
How the Scanner Works
Every 5 minutes, a cron job triggers the scanner:
1. Discovery
Fetches new token profiles from DexScreener API.
2. Data Enrichment
For each token, fetches in parallel:
- Holder data from Helius RPC
- Mint/freeze authority from Solana on-chain data
- Risk score from RugCheck
3. Hard Filters
Tokens that fail basic quality checks are rejected:
- Liquidity below $1K
- Fewer than 2 holders
- Single-wallet concentration above 95%
- Extremely high vol/liq ratio (wash trading signal)
4. Scoring
Tokens that pass filters get scored:
- Trust Score: LP lock, mint authority, freeze authority, holder distribution, volume authenticity, wallet risk
- Momentum Score: volume acceleration, buy/sell pressure, price change, liquidity depth
- Smart Money Score: known wallet detection
5. Storage
Results are saved to PostgreSQL via Prisma ORM.
6. SEO Pages
Each qualified token gets a public SEO page at:
/tokens/[address] with full on-chain analysis.
Key Technical Decisions
Why Next.js 15?
Server Components make token pages fast and SEO-friendly.
ISR (Incremental Static Regeneration) keeps ranking pages fresh
without hammering the database.
Why Prisma + Supabase?
Prisma gives type-safe DB queries. Supabase provides
a managed PostgreSQL with connection pooling β essential
for Vercel serverless functions.
Why not store everything?
A re-evaluator runs every minute and hides tokens that no longer
meet quality criteria (liquidity dropped, rug pulled, etc.).
This keeps the database clean and prevents stale data.
SEO Strategy
Each token page is automatically:
- Indexed only if it has real score + metric data
- noindex if data is insufficient (thin content protection)
- Included in sitemap.xml only if it passes the quality gate
- Linked internally to related tokens and educational guides
This creates a continuous SEO loop:
New Token β Quality Gate β SEO Page β Sitemap β Google
Challenges
1. Helius returning 0 holders
New tokens often have 0 in the API response even when
holders exist. Solution: fallback to a neutral value (100)
to avoid false rejections.
2. UUID errors in Prisma
Nested creates in Prisma require explicit randomUUID()
for each record. Prisma's @default(cuid()) doesn't
work reliably with nested creates in serverless.
3. Vercel cold starts
In-memory deduplication resets on cold starts. Solution:
persistent deduplication using the database itself
(SystemSetting table as a key-value store).
What's Next
- Google Search Console integration for automated SEO opportunity detection
- Telegram alerts for qualified new token discoveries
- Public API for developers
Try It
The scanner is completely free β no login, no subscription.
π solanatokenscanner.com
β GitHub
Not financial advice. Always DYOR.
Top comments (0)