Every card on the board is one token’s pools of one type, carrying a 0-100 score that decides both which column it sits in and how high up. This guide takes the board apart element by element.
One window of pools is fetched once, scored in your browser, and the score decides the column. Six hours by default, up to two days if you widen it in the filter drawer. The layout can never disagree with the number printed on the card.
Cards move between columns while you watch, with no page reload. Hovering a card pauses the board so a row cannot reshuffle out from under your cursor.
One card per token per pool type, with every pool behind it listed on the card. A token can hold one DAMM card and one DLMM card, placed independently.
Top of the board
It answers one question from across the room: is it worth sitting here right now? Every figure on it is a count of pools created in a window, never a sum.
Market pulse strip
Banded off new pools in the last hour: Blazing at 60+, Hot at 30+, Warm at 10+, Quiet below that.
Pools detected in the last 60 minutes, against the 60 minutes before that. The chip reads “-” when the previous hour was empty and there is no baseline.
3 + 67 is the 70 beside them. Each wears the colour its badge wears on the cards below.
Distinct tokens under an hour old in Jupiter’s live top-traded feed. It takes the Launching lane’s purple, and deliberately has no hour-on-hour chip.
Narrows every lane to cards whose 5-minute volume is up: the green percentages, and nothing else. Cards with no percentage yet are hidden too: unproven is not the same as rising. Green and drifting means on, and it says so; it is part of the link, so a board saved or shared while it is on comes back on.
Not a market rate, but how much of it you are looking at. 41 cards built from 52 pool rows, because a token’s pools of one type share a card. With Rising only on, both halves count just the risers.
Slower than the lanes, because an hourly count does not move meaningfully in five. If it fails it says “counts stale” and the lanes carry on.
The columns
The life of a Meteora pool: trading hard before it has a pool, the pool landing, volume building, sustained activity, liquidity leaving. Colour is each lane’s identity: you learn the board by colour and stop reading the labels.
| Lane | What lands here | Test |
|---|---|---|
| Launching | Tokens trading hot with no Meteora pool yet. The only lane holding tokens rather than pools. | In Jupiter’s top-traded feed and no pool in our database |
| Just landed | This token’s first pool of this type was created in the last 30 minutes. A later pool on a token already on the board does not bring it back here. The card keeps its place and badges NEW POOL instead. | first pool ≤ 30 min old |
| Heating up | An established token whose volume is climbing again, a re-ignition rather than a launch. | 5m volume ≥ $15K, or 5m change ≥ +50% |
| Running | Sustained volume and fees. The loudest thing on the board. | 5m volume ≥ $100K, or fees ≥ $25/h |
| Cooling off | Liquidity leaving, and behind it the pools that simply went quiet. | TVL ≥ 40% below peak, or old, quiet and not draining |
The tests run in a fixed order, and everything lands in exactly one column. No amount of threshold tuning can put a card in two columns or none.
A pool being emptied is not “running” however much volume is passing through it on the way out.
Otherwise anything new and interesting gets claimed by Heating up, and Just landed collects only the new pools nobody is trading.
A pool doing $100K in its first ten minutes has announced itself. That is why you will see cards under 30 minutes old sitting in Running.
Highest score first, except in Cooling off, where everything actively draining comes first regardless of score. That column holds two different stories and only one is worth reacting to. It also truncates: drainers in full, then the eight best quiet cards, then a footer reading + N older, quiet. The count in the column header is the true total, so header and body will legitimately disagree there.
The centrepiece
The card is dense because a lane is a narrow column and there are five of them. Everything on it earns its pixels: who it is, what it scores, whether money is moving, how old it is, and whether it is dangerous.
Pool card · resting state
Same card, cursor on it
0-100 for the whole group, colour-banded. Hover it for every component and every penalty that was applied.
This is the link: it opens the pool on Meteora. The card itself is not a link, because it holds buttons of its own.
Where the token was minted: Pump.fun, LetsBonk, Believe, Bags and the rest. Absent when it could not be attributed.
Orange for DLMM, cyan for DAMM, the same two colours the pulse strip uses. The two are never combined into one card.
This token has 2 DLMM pools, listed underneath. No multiplier means there is a single pool.
From Jupiter, at the token level, so it is identical on every card for this token.
Buy + sell over Jupiter’s 5-minute window. The freshest signal on the card, and the reason it carries the most weight in the score.
That 5-minute volume against the previous 5 minutes. Green up, red down, abbreviated past 1000%.
Liquidity actually sitting in the pool, summed across every pool on the card. On its own a fee rate says nothing: $40/h on $5K and $40/h on $500K are completely different propositions. Live TVL where we have it, Meteora’s reported figure (which lags) where we don’t.
What the pools on this card have actually paid LPs over their lifetime, summed. The gap between this and the rate beside it is the interesting part: a big $/h next to a small total is one good five minutes, not an income. Hidden below $1, which is what a pool reads as before anything has been measured.
Realised LP fees per hour, summed across every pool on the card. Hidden below $1/h. Both pool types report it, over different windows: DAMM v2 from a five-minute sample extrapolated to the hour, so a single burst can spike it; DLMM from Meteora’s steadier 30 minutes.
Two figures. “tok” is how long the token has existed. The rest is how long it has had a pool of this type: one age when there is one pool, otherwise the range from newest to oldest, since the young end is a rotation opportunity and the old end is how proven the position is. Each pool’s own age is listed on its row below.
A pool landed on this token in the last 30 minutes, on a card that was already on the board. That is what LPs rotating in looks like, and often a lower fee tier or a different bin step to enter. The card stays in the lane its volume and fees earned; the new pool is marked NEW on its own row.
What an LP actually picks a pool on. Shown here only when the card holds one pool. With several, each pool’s config is listed below so they can be compared.
TVL is 90% or more below its own peak AND the fees have stopped. A rug in progress, not a dip, and worth −40 on the score. Both halves are needed: TVL here is the quote side, which empties on a pump that retraces with nobody withdrawing, and liquidity that has really gone earns nothing.
RugCheck rates this token in the danger band. Worth −30.
The card changed lane on the last poll. It wears a cyan ring for 12 seconds.
Copies the contract address. The action row covers the badge line while you hover, so the card never changes height and nothing below it jumps.
GMGN, Axiom or Photon, whichever you set in preferences. This button is not the same on two people’s screens.
The pool on Meteora, the same destination as the symbol.
The card is in Running and scoring 60 or better. Nothing else on the board glows. If every busy card did, the glow would mean nothing.
The card changed lane within the last 12 seconds, and the line under it says which lane it came from.
Why ×3
A token accumulates pools as it matures. A DAMM pool usually lands first, then DLMM pools follow; the early ones are high-fee, and as TVL grows and volatility settles, lower-fee pools with different bin steps appear. LPs rotate liquidity between them. That life cycle is worth seeing, but it is not worth five cards.
Grouped card · three DLMM pools
The first row is cyan: that is the representative, the best-scoring pool of the group, whose identity and links the card face carries. Every row links to its own pool on Meteora.
The money is the group’s total; the config is the representative’s. Fees and TVL sum across the group (three pools earning $30/h read as $90/h) while bin step and fee tier cannot be summed, so they stay per-pool.
The first lane
Dashed border, no score, on purpose. There is nothing to score yet: no pool means no TVL, no fees and no pool age, and putting a number on it would invite comparison with cards that have four times as much evidence behind them.
Launching card
What it promises is narrower and more useful than a score: watch this one, because when a pool lands you want to already know the name. The moment one does, the card crosses into Just landed, the single event the whole board exists to catch, and the loudest of the things that will chime at you.
The number in the circle
One number, so a wall of cards can be ranked without reading any of them. Four components, two kinds of penalty, and a rule about missing data that matters more than any of them.
| Component | Weight | What it reads | Scores 0.5 at |
|---|---|---|---|
| Momentum | 35 | 5-minute buy + sell volume, with the 5-minute change as a bonus on top, never a substitute, so a 900% rise on $40 of trading stays noise. Volume only counts to the extent the pool’s own fees corroborate it; see volume ≠ fees below. | $50K volume |
| Earning | 25 | Realised LP fee rate and live TVL, for both pool types: is real money moving, and is there real money in there? | $20/h · $40K TVL |
| Crowd | 20 | Holder count and Jupiter’s organic score: is anyone here, and is the activity real? | 500 holders |
| Freshness | 20 | Age of the token’s first pool, decaying to nothing at 3 hours. Being early is the entire edge: early to the token, so a later pool does not reset it. | 90 minutes |
The rule that matters: absent is not zero
Not every pool has every number. A pool detected in the last few seconds has a timestamp and nothing else; one whose quote token we don’t recognise has no live TVL, because TVL is priced off that side. Scoring those gaps as zero would park whole cohorts at the bottom of every lane, a ranking artefact that looks exactly like a market signal.
So a component with no data is dropped, and the total is renormalised over the weights that did have inputs. A card with no fee or TVL figure yet is judged on momentum, crowd and freshness (out of 75, scaled back up to 100), so it competes on what it can be measured on. The tooltip says “Earning: not tracked” rather than showing a zero, so you can tell a gap from a mark-down.
One guard: freshness alone is never enough. A pool that has been detected but not yet enriched has a timestamp and nothing else, and renormalising over freshness alone would score it 100 for the crime of being new. At least one of momentum, crowd or earning must be present, or the score is 0.
Applied after renormalising: a rug is a rug whether or not we happen to have fee data for it.
TVL 90%+ below peak and no longer earning fees. Shows PULLED on the card.
RugCheck danger band. Shows 🚨 risk.
TVL 40%+ below peak, which also forces the card into Cooling off.
RugCheck warning band. No badge.
Fees earned are a tiny fraction of what the reported volume implies at the pool’s own fee tier: the volume is not reaching this pool. Commonly wash-botted volume, sometimes trading on another venue; either way LPs here are not earning it. Momentum is discounted to the believable fraction rather than points subtracted, the volume no longer counts towards Running or Heating up, and the card shows volume ≠ fees.
Colour is banded rather than a smooth gradient: the eye cannot reliably tell 61 from 68 by hue, and pretending otherwise implies a precision the score does not have.
A grey 0 next to a healthy-looking card almost always means penalties, not absence. PULLED alone takes 40 points off. Hover the badge and it itemises exactly what was applied.
Restraint by design
The lanes are stateless: every poll re-scores every card from scratch. That is correct for the layout and useless for the feeling, so the board also diffs each poll against the last and marks what changed.
Plus a line saying which lane it came from. It expires on its own. The board never accumulates rings.
A pool sliding back into Cooling off is information, but it is not news, and celebrating it would train you to ignore the highlight.
A new token in Launching, a new pool in Just landed, a token’s first Meteora pool appearing, a pool landing on a card already on the board, and a pool reaching Running. Re-scores and demotions stay silent, and however many cards move at once you get one chime. A sound per card would turn a trading tool into a slot machine.
Sound is off until you turn it on, and the choice is remembered in your browser. Each column also has a bell in its header that silences that column alone — most useful on Launching, whose tokens come from Jupiter’s busiest-right-now list, so one can enter the lane by climbing the ranking rather than by being new. Muting takes away the sound only: a muted column still flashes its new cards. What is never remembered is the movement itself — reload, and the board forgets everything that had just changed. If you need to know while RocketScan is closed, that is what Discord and Telegram alerts are for.
Narrowing the board
The board has two data sources, so the drawer has two groups and each says which lanes it governs. A token has no TVL, no bin step and no pool type; a pool has no “time since the token first traded”. One set of controls across both would quietly do nothing to one side.
Tokens
Governs Launching only.
Min / max market cap · max age (15, 30, 60, 120 minutes or any) · launchpad
Pools
Governs the other four lanes.
Board window (1h, 3h, 6h, 12h, 24h, 48h) · pool type · min market cap · min volume · launchpad
Fees & TVL
Governs the other four lanes.
Lifetime fees earned · fee rate per hour · live TVL · base fee, each a min/max pair
The board fetches a fixed number of rows, newest first, from inside whatever window you set. On a busy day more pools land in six hours than it fetches, so the row cap — not the window — is already deciding how far back it reaches, and moving the window to 24h hands back the same newest rows. The header says how far it is actually reaching, and the drawer warns you when the two have parted company.
Narrow first and the window does its job: a TVL or fee-rate minimum spends the same row budget on pools worth a card. 48h plus a min fee rate is how you find the day-old pool that is still printing — the one a six-hour board cannot show you at all. It is also what keeps a wide window honest: a pool that clears a fee-rate floor is, by definition, one the updaters are still keeping current.
Fees earned, fee rate and TVL are tracked for both pool types, so a bound on any of them applies to every pool on the board: a DLMM pool that has earned $2 is excluded by “min fees earned $10” just like a DAMM one. Base fee is the exception: both types record one, but into different columns, and the bound reads DAMM’s, so DLMM pools pass through a base-fee bound untouched by default, and Hide DLMM pools when a base fee bound is set is the opt-in for when you want just the pools that number describes.
Filters live in the URL rather than in your browser storage, so a configured board is a link you can send to someone, or pin as a second tab watching something different.
The box in the middle of the title bar (or ⌘K) searches every pool we hold, not the board. Your filters, the rising-only switch and the board window all stop at its edge, because the question it answers is “do you have this one”, and the useless answer to a pasted contract address is “not in your window, with your TVL floor applied”. Hits come back as the same cards, each labelled with the lane it would sit in.
A contract address must be exact. Five characters or fewer is treated as a ticker and matched exactly; anything longer matches anywhere inside a token’s name or symbol.
Honesty
Several things are missing on purpose. A wrong number on a dashboard people trade from is worse than a missing one.
The board window is yours to set — six hours by default, up to 48. RugCheck only ever covers six hours. Everything else stays live for as long as the pool keeps trading, which is why a wide window belongs with a fee-rate or TVL floor: the updaters abandon dead pools, not old ones.
A market-wide sum would be adding up numbers that stopped moving hours ago. Every figure on the pulse strip is a count of pools created in a window, which is exactly true.
Jupiter’s feed shows what is active now, not what was created, so the older cohort has already decayed out of it. The comparison would read green whatever the market did.
Nothing in this system stores history. The score is a snapshot judgement; the lanes are what supply the sense of movement.
Fees, TVL and PULLED now cover both pool types, but a pool detected seconds ago (or one whose quote token we don’t recognise, which is what live TVL is priced in) still has no number. It is left blank rather than shown as zero, and the score drops it rather than marking the pool down for it.
Putting it together
Megatron on a live board: its DLMM pools and its DAMM pool are placed independently, and the numbers explain exactly why.
Two cards for one token
Market cap, volume and change are identical because they are token-level. The DLMM card is 40 minutes old with $16K of 5-minute volume, so it clears the heating test and keeps most of its freshness: 53. The DAMM card is an hour old, and although it is the one actually paying $3.80/h, that sits well below the $20/h midpoint while its freshness has decayed further: 33.
Neither reached Running: that needs $100K of 5-minute volume or $25/h of fees. And because both are scored on what they can be measured on, the DLMM card is not punished for having no fee or TVL figure yet. Nothing has reached it, which is not the same as earning nothing.
The board is built for a wide monitor and a long session. Leave it running, and let the lanes tell you where to look.
Thresholds, weights and windows described here are the ones the board currently runs on. If a number here ever disagrees with the board, the board is right.