How I Built a Free Real-Time Solana Token Scanner with Next.js
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โฆ
Every time I detected a promising new Solana token, it was already too late. Early buyers had already made 5-10x by the time I found the token manually on DexScreener. I needed a way to see new tokens immediately after they launched, with real risk data instead of just price charts. So, I created Solana Token Scanner. Live version: solanatokenscanner.com
The scanner constantly monitors new Solana token launches every 5 minutes and automatically evaluates each one based on several criteria: Trust Score (0-100) based on six on-chain factors, Risk Flags including LP lock status, mint authority, freeze authority, Momentum Score considering volume acceleration, buy pressure, holder growth, and Smart Money Detection recognizing known wallet activity patterns. It also assesses Holder Concentration by examining the top-10 wallet distribution.
To achieve this, the scanner employs several technologies. The frontend is built using Next.js 15, TypeScript, and Tailwind CSS. The database used is PostgreSQL, managed through Supabase and Prisma ORM. The deployment platform is Vercel. Data sources include DexScreener, Helius RPC, and RugCheck.
The scanner operates cyclically every 5 minutes via a cron job. It begins by discovering new token profiles from the DexScreener API. Next, it enriches this data by fetching additional information in parallel: holder data from Helius RPC, mint/freeze authority from Solana on-chain data, and risk scores from RugCheck. Subsequently, it applies hard filters to discard tokens that fail basic quality checks, such as having liquidity below $1K, fewer than 2 holders, single-wallet concentration above 95%, or an extremely high volume/liquidity ratio (indicating potential wash trading).
Tokens that pass these filters undergo scoring. The Trust Score considers factors like liquidity, mint authority, freeze authority, holder distribution, volume authenticity, and wallet risk. The Momentum Score evaluates volume acceleration, buy/sell pressure, price change, and liquidity depth. Lastly, the Smart Money Score involves detecting known wallet activity patterns.
Once scored, the results are stored in PostgreSQL using Prisma ORM. Each qualified token receives a public SEO page at /tokens/[address], containing the full on-chain analysis. Key technical decisions behind the scanner include the use of Next.js 15 for server components to enhance speed and SEO-friendliness, and Incremental Static Regeneration (ISR) to keep ranking pages up-to-date without overloading the database.
Prisma, combined with Supabase, was chosen for its type-safe database queries and managed PostgreSQL service with connection pooling, crucial for Vercel's serverless functions. The scanner also includes a re-evaluator that runs every minute, purging tokens that no longer meet quality criteria (e.g., reduced liquidity or being involved in a rug pull), thus maintaining data integrity and preventing stale entries.
For SEO purposes, each token page is indexed only if it possesses actual score and metric data. If the data is insufficient, the page is marked as "noindex" to avoid thin content issues. The SEO page is included in the sitemap.xml only after passing the quality gate. The scanner also links internally to related tokens and educational guides, creating a continuous SEO loop: New Token โ Quality Gate โ SEO Page โ Sitemap โ Google.
Challenges faced in development include Helius API returning 0 holders for new tokens, despite their existence. The solution implemented a fallback to a neutral value (100) to prevent false rejections. Another challenge was handling UUID errors in Prisma when performing nested creates in serverless functions; this was resolved by explicitly using `randomUUID()` for each record.
Lastly, Vercel's cold start caused in-memory deduplication to reset; this issue was addressed by using the database itself as a persistent key-value store (SystemSetting table).
In terms of next steps, the scanner is planned to be integrated with Google Search Console for automated SEO opportunity detection, will offer Telegram alerts for qualified new token discoveries, and will provide a public API for developers. The scanner remains free to use, with no login or subscription required. Users are directed to solanatokenscanner.com for access and are advised that the scanner does not provide financial advice; they are reminded to conduct their own research (DYOR).
Written by urgent.news from Dev.to's reporting โ not their text. Machine-written โ may contain errors; check the original before relying on it.