How it worksA spider that crawls the internet for the next Solana memecoin.
It tells you when the internet is talking about something nobody has launched yet. One is crawling this page right now.
What it is
Every memecoin starts as something people were already talking about: an animal that went viral, a weird news story, a phrase, a character. Spider reads where those things start, tears out the names, waits until enough of the internet agrees, and checks pump.fun and the Solana dexes for coins chasing them.
It runs on the literal web crawler from github: a real spider that walks the words with inverse kinematics on its legs and tears out what it is hunting. Nothing on the site is simulated.
Where it reads
| Source | What it takes |
|---|---|
| Google Trends | Daily trending searches in the US, UK, Canada and Australia, with their search volume and the headlines behind them |
| Wikipedia | Yesterday's most read pages and the current events box |
| Hacker News | The front page, for tech and AI moments |
| News wires | BBC, NPR, the Guardian, UPI odd news, CBS, Cointelegraph, Decrypt |
| 4chan /biz/ | Busy threads that talk about coins |
| X | Optional, with a TwitterAPI.io key |
| pump.fun | Every new coin the moment it is created, live trades and migrations |
| DexScreener, GeckoTerminal | New and trending Solana pools, prices, volume and market caps |
Quality over quantity
Most of what it reads is thrown away on purpose. A post has to earn its place first: a trending search needs real volume, a /biz/ thread needs real replies and has to be about coins, and news has to be recent.
Then a name only becomes a candidate when it gets hot across independent sources. The same raccoon on a news wire and in search trends inside a few hours counts. One post alone usually does not.
The judge
Every few minutes the hottest candidates go to a model that asks one question: could this carry a coin on pump.fun. It kills tragedies, disasters, routine news, plain politics, sports scores and anything too vague. What it keeps gets a name, a kind, a memeability score out of 100, a one line reason and the tickers people would likely use.
Finding the coin
Every kept narrative is matched against the names and tickers of every coin it knows: new pump.fun launches, DexScreener profiles and boosts, GeckoTerminal pools, and a direct DexScreener search for the story. When a matching coin shows up, it is tied to the narrative and its numbers are tracked.
Stages
| Stage | Means |
|---|---|
| Before the coin | The internet is talking about it and nothing on Solana above $25K is using it |
| Forming | Coins exist and the leader is under $500K |
| Running | The leader is over $500K or doing $100K an hour |
| Fading | Heat is down to a third of its peak and nobody has said it in hours |
Flash and runners
Flash is pump.fun and fresh pools right now: coins under two days old moving real money in the last five minutes, with enough different wallets and more buys than sells. Runners are Solana memecoins over $1M with real daily volume.
Holders
Everyone sees the crawl. Holders see a new story with no coin the second it is found; everyone else sees it after a short delay. Holders also get alerts on the site, in Telegram or at their own webhook, filtered by kind or by words, and again when the first coin for a story launches. Signing in is one signed message, never a transaction.
API
| Route | Returns |
|---|---|
GET /api/state | everything on the page: stages, flash, runners, the wire, sources |
GET /api/narrative?id= | one story: heat, coins, sources |
GET /api/token?mint= | one coin and its story |
GET /api/wire?src=&q= | what it read |
GET /feed | server sent events: item, mint, before, launch, judged, narrative, stage, flash, read, source |
Run your own
One file, no dependencies, Node 18 or newer.
OPENROUTER_API_KEY=your_key node setup.js
Everything else is optional and listed in .env.example: a TwitterAPI.io key for X, your token mint, a Telegram bot.