Every card answers one question: is money arriving in this pool right now, and is it early enough to be worth providing liquidity into? The board already sorts by that answer. This guide shows what each part of a card means, and the order to weigh them in when you decide to enter.
money in · confirmedprice earlyrunner 77 / 10018 wallets buyingfees 2.10% / 30mnot: price top · money out · danger
Pick a tab. The board has two. Hot is the pools likely to pay the most fees for your capital over the next hour, with no filters to set. A pool makes Hot when it has $10K or more of liquidity, pays at least 0.5% an hour in fees (the last 30 minutes' fee rate, as the card shows it), money coming in (confirmed, the money flow just turned up, or some buying the scanner has not confirmed yet; confirmed ranks highest), no danger flag, and a price that is not stretched or at the top. Those pools are then ranked on fee yield first, then fees against expected impermanent loss over the next hour, money in, trend and volume. Each card says why in one line, for example pays 3.0%/hr · fees ~2.1× expected IL next hour (estimate) · money in, 18 wallets; the money part says money in, confirmed, flow just crossed up or some money coming in. When fees are below the expected loss the line says it as a risk: fees cover ~20% of expected IL next hour. The IL figure is an estimate from the last hour of price moves, not a guarantee. When fewer than five pools qualify, pools that pay at least 0.5% an hour but miss one other check fill in, marked near miss with what they miss. If nothing pays that much with money arriving, Hot says so and points you to All pools. It is the place to start if you are new. All pools is every pool on the board, with the filters and search: established pools over real floors, and fresh launches among them, each wearing its age and a rug check chip.
Set your filters (All pools). The Filters panel has HawkFi's controls (Jup score, market cap, verified only, bin step and base fee, pool age, TVL, volume and fee/TVL over 30m, 1h or 24h) plus some of ours: price stage (or Low to mid in one click), minimum trending with narrative rising only, high fee volume only, under The day, ranging days only and not a selling day, and under Money flow, money flow cross. That last one keeps only pools whose money-flow wave has just come up out of a real spell of selling into buying (the red spell at least four minutes long and a third of the wave's range deep, the cross inside the last ten minutes, no more than two sign flips in the half hour before it, so choppy waves are ignored), with more money in than out over the last 30 minutes. The card wears a green ↑ flow cross chip while it holds, the alerts page has the same switch and an opt-in alert for it, and the track record scores whether it pays. Verified-only is on by default, which keeps unverified launches out of sight; switch it off to see them. Your set is remembered on your device. Whatever you set, the filter bar names the hottest pools your filters are hiding, with why they are hidden (unverified, dump risk), and a tap searches for one, so a filter set never hides the top of the board silently. all → Hot beside them opens the Hot tab.
Start at the top. The first cards are confirmed money in, ranked by runner score. Anything below the first grey card is not a runner right now.
Read the card in the order below, the gate first, then where price is, then the score, then size it from the facts.
Reading a card, top to bottom
The name and its terms.bin 100 · fee 2%: the bin step (the price gap between bins; 100 = 1% a bin) and the base fee every swap pays. Wider bins and higher fees suit wilder tokens.
What it means. One coloured box says it in words: Money flowing in (green), Money flowing out (red) or No clear direction (grey), then how well the pool is paying in fees, and how many warnings it carries. "Confirmed" means the scanner has seen enough wallets and enough confidence, for long enough, not to be fooled by one trade. The words are damped on purpose: a confirmed call holds until the money turns, and a weak one is not given up to No clear direction on a single read a point under the bar, so the box changes when something has changed, not with every trade. Read it as a description of the present, not a forecast: across some ten thousand scored readings, whether a confirmed inflow was still flowing half an hour later was close to a coin toss. What it tells you is where the money is now and how the pool is paying now; what tends to persist is the kind of day the pool is having, which is the next row.
The day it sits in. A row inside the same box reads the multi-hour frame from the same candles as the chart: Day: Ranging, Money arriving all day, Selling all day, or Too new to read the day (under an hour of trading; young pools are read since open), then the price move inside its range, the fees against what the move cost, and which position suits: → two-sided position on a ranging day, → quote-side, below the price when money is arriving, → stand aside when the token has been sold for hours. Hover the row for the full sentence, including the share of the day's trading that was net buying or selling, estimated from where each candle closed in its range. The reading above is the last quarter-hour and does not forecast the next one; what persists is churn, volume and volatility, and that is what this row reads. Once the scanner has scored enough of them it adds the number that matters: days like this out-earned IL next 24h 74% of the time, the standard quote-side position, walked forward through the pool's own candles, on days of the same kind as this one (the confidence band's figure until a kind of day has thirty scored). The kind of day is the steadiest split the track record has found, not in earnings, which swing week to week, but in where the half-price falls are: positions opened on days when money was arriving one way fell by half over the next 24 hours many times as often as on ranging days (between four and fifteen times, on every read of the record so far). The live earnings figure for the day's kind is on the card itself. The ranking learns towards that same outcome, and Filters → The day has ranging days only and not a selling day for it; the alerts page carries the same two switches.
The trade signal. When money in is confirmed, a green signal live chip appears in the headline and a line under the day row says Trade signal live 47 min · fired at 84%, now 61%. That is the trade. It stays live while the reading above it wobbles, confidence easing, a quiet minute, a weak read, and ends only when the money turns and comes out (or the pool sees no trades for two hours, or the day turns to net selling under it, or the pool closes). A signal that fires while the day row reads Selling all day is marked against the day in red and counted as a warning: a counter-trend trade, live but on notice. When it ends, the chip greys out and the line says so for half an hour: Signal ended 3 min ago, money turned out. The same on both tabs.
Five numbers.Fees per hour: roughly what $100 of liquidity would have earned in an hour, before price moves. Pool size: the liquidity already in it; keep your position a small part of it. Net money in: buys minus sells. Volume 24h: how much was traded; more trading, more fees. Market cap: the token's size; set it against the pool size to see how much of the token actually sits in this pool.
One row of chips. On a Simple card the headline carries two chips, the kind of day the token is having (ranging day, money arriving all day, selling all day) and the count of warnings, each saying its piece on hover; tap the warnings chip to open the chips themselves, so a new reader sees the picture before the small print. Tap any chip, or the Safety chip, for its full text. A Detailed card wears them on its face. Amber first, the things to check before going in: the rug check's finding, bundled buying, a serial token creator, a live freeze or mint authority, liquidity being pulled, then green for what is in its favour, such as proven wallets behind the reading, wallets with four or more scored readings across more than one pool whose pools went on to beat their own prior hour on fees, each clearing the board's base rate by a clear margin; routers and bots behind hundreds of readings a day are set aside. Grey chips are worth knowing but are not red flags. A rug check reading danger keeps its own red banner.
The flow chart and the line under it. The shape is buying minus selling, minute by minute, smoothed twice so a single large trade shows as a hump over the minutes after it rather than a spike, and drawn as a curve. Green above the line is net buying, red below is net selling. Under it: how often readings like it have held up, the fee word with the last five minutes of trades as bars, and when the trades were last read.
The price chart. Twenty-four hours of price, drawn as fifteen-minute candles (three five-minute bars to a candle, so the shapes are readable; a young pool's few bars stay at five minutes) with a curved five-hour average behind them, with the stage chip (price low, early, mid, top), the price now, and where it sits in its range. Money arriving while price is still low is the earliest kind of runner; the same inflow at the top is often the exit. A pool younger than a day shows every five-minute candle it has so far; one under an hour, before the feeds have any, shows candles built from its own trades and says so.
The LP check and the facts. At the foot of the card: the LP check (what a standard position would have made over the last four hours, fees against the price move) and one line of TVL, 24h volume, the fee rate and the trending score. There is no hidden drawer: what is on the card is all of it. Cards: Detailed at the top of the board also puts the warning chips, the day line and the minute bars on the face. Your choice is remembered.
The hierarchy: what to weigh, in order
01/07Money flow · confirmed inthe gate
Is money arriving, and is the scanner sure?
The chart is net money entering (green, above the line) or leaving (red, below) the pool, minute by minute, over the last 45 minutes. The tag under it is the scanner's read; the percentage is how sure it is that the imbalance is real and not one or two large prints.
Enter onmoney in at 80%+, a reading under a few minutes old, and a chart that is rising, not just green.
Do not enter onunconfirmed (under 75%), money out, no clear direction, or a reading over ten minutes old, however good the rest of the card looks.
Nothing else on the card counts until this is green and confirmed. Confirmed cards, and cards whose trade signal is still live, sit at the top of the board on their own; the grey cards below them are not runners right now.
A call is made at 75% and then held, it is not given up the moment confidence dips under 75%, or every card would blink on and off. It stays confirmed until it is actually invalidated: confidence falls below 45%, the money turns, the buying thins to a single wallet, or no swaps land at all. While it holds on eased confidence the card says so in words ("confirmed and still holding, confidence has eased to 62%"), so a confirmed card showing 62% is an old call still standing, not a new one to enter on. Enter on the 80%+ reading; hold through the eased one.
What goes into the percentage: wallets, not swaps, a wallet's buys and sells are netted first, so one bot splitting a buy into twenty pieces is one vote, and a wallet trading both ways drops out; how much of the window the feed reached, on a busy pool the feed may only reach back a few minutes, and the card says so and scales the number down; and whether the money matters to this pool, a lopsided window only becomes a call once the net reaches about 0.5% of the pool's TVL or a tenth of its normal fifteen minutes of volume, so $2K net out of a $3M pool stays unconfirmed however one-sided it looks; and who is doing the buying, a wallet with a record on the track record (four or more scored calls, across more than one pool, 60%+ of them held) counts one and a half times in the confidence, one that has mostly been wrong a little over half, everyone else once. The dollar figures in the sentence are never weighted.
The box also says what the token as a whole is doing when it has more than one pool: Across the token's 3 pools: net +$41K. Money can read "out" of one pool and "in" to another when it is only moving between them, so when this pool disagrees with its siblings the box says so, money is moving between this token's pools rather than leaving the token. Whether that matters is measured on the track record page like everything else.
The scanner also checks itself. Readings are written down and, 15, 30 and 60 minutes later, compared with what the money actually did. Once a confidence band has 30 scored readings, the card shows that band's measured figure, the share of readings like it that kept going the same way for the next half hour, marked measured, with the model's own figure in the tooltip. Until then it shows the model's figure.
The track record is public: /record shows how often readings in each band held for the next half hour, how often confirmed calls held, and which things measured at the time of a reading (runner score, price stage, wallets behind it, creator history and more) actually separated the ones that held from the ones that did not.
The scanner also learns from that page. Alongside "did the flow keep going", every reading is scored on the thing an LP is actually paid for: over the next half hour, did this pool earn a better fee rate than the median pool on the board? Those results become small adjustments to the runner score, "pools at this stage, this age, with this kind of buying behind them went on to earn more". Each adjustment is capped at ±25%, nothing is learned from fewer than 30 readings in a bucket, and the ranking marks its own work: if the pools it boosted do not go on to earn more than the ones it cut, learning switches itself off and the track record page says so. Since 27 September the ranking learns towards the question that matters most, did a standard position opened at the reading out-earn its price loss over the next day, and the page keeps the scored readings themselves, so its Filter search can rank combinations (fresh launch and early and fees high) rather than one feature at a time. That table is where an "optimal filter" comes from: read the count before the percentage, and treat anything under about sixty readings as a lead.
Liquidity is the one line that does not come from the trade feeds at all, they carry swaps only. For a couple of pools a cycle (confirmed calls, pools you hold, first pools) the scanner reads the pool's own transactions from the chain and watches what was added and pulled in the last half hour. When a tenth or more of the pool's liquidity has been pulled, the card shows an amber ⚠ liquidity being pulled chip. Somebody taking a large position out is an exit the money-flow reading cannot see.
Three more lines can appear on a card. LP check: what the standard HawkFi position, quote only across the 10 bins at and below the price, would have done over the last four hours: the fees it would have earned while in range against what the price movement took, and the net. It is backward-looking, and the fees are the pool's average, so a position hugging the price earns more. Proven wallets: wallets on the reading's side with a record, at least four scored readings, across more than one pool, where the pool went on to earn a better fee rate than the median. High-probability wallets only in Filters shows just the pools where at least two such wallets are behind the reading and their records together held at least 65% of the time. Treat it as an experiment: the track record page is where you find out whether it is worth anything, and the first version of this measure was scrapped because that page said it was not. Warnings: a large share of the buying bundled into single blocks (one operator looking like a crowd), or a creator wallet that has made hundreds or thousands of tokens that almost never graduated.
GMGN (Pro): GMGN labels wallets across the whole of Solana by their record, and reports how a token's volume is made. The scanner asks it about the tokens on the board a few at a time, starting with confirmed calls, first pools and pools with fees running high, and keeps each answer for about a quarter of an hour. A green GMGN · 4 smart · 1 KOL in means three or more of its smart-money wallets, or any KOL wallet, hold the token. An amber ⚠ GMGN chip names a red flag: wash trading (the fees are real, but a money-flow reading built on it is not), a live mint or freeze authority (a freeze can lock the token side of your position in the pool), a rug-risk score of 50% or more, or insiders or bundlers behind 30% or more of the volume or holding 30% or more. A plain grey chip is a lesser version of the same. A clean token with no smart money shows nothing, so the card stays uncluttered. In Filters, GMGN → smart money / KOL in and no red flags use the same readings. Both are measured on the track record page against the fee outcome, like everything else, and the scanner's learning uses them only if they turn out to predict it.
Until a GMGN key is set, the red-flag chip is filled from Jupiter's token audit instead, and says so (⚠ Jupiter: freeze authority live). It comes from the same Jupiter call the creator check already makes, so it costs nothing extra. It covers a live mint or freeze authority, Jupiter's own suspicious flag, how much the creator holds, and how much of the last hour's volume was organic. It has no smart-money or KOL view, so that chip stays GMGN-only, and until a key is set the Filters row reads Red flags with just the no red flags option. Its flags are scored on the track record page separately from GMGN's.
A token with several DLMM pools gets one card, the pool with the strongest money-flow reading, and among equals the one with the most liquidity, with a +2 pools chip naming the others and what they read. Search a pool's address to open any of them.
When a token trading hot on a launchpad gets its first DLMM pool, the pool lands on the board marked first DLMM pool for its first two hours, whatever its size, and Pro can push it to your phone.
A confirmed card also stays on your screen until that call ends, even if its TVL or volume dips under one of your filters for a reading, or the pool slips off the listings the board is built from, a green Held line on the card says which. Changing a filter yourself re-checks everything straight away.
02/07Price action · where in its runthe multiplier
Same inflow, opposite meaning at the bottom and the top
The panel is a day of price: the five-hour average in gold, the day's low and high marked, the current price as the dotted line, and a stage chip naming where price sits. The stage scales the runner score, a pool at its top keeps about half the score it would have low in its range.
early: sold off, turned up from the low, not stretched. The run the scanner is built to catch.top: flat all day, then vertical. Money is still arriving, but you would be the exit liquidity.
Stage
Meaning
Score kept
early
turned up from the day's low, not stretched from its average
100%
lowbreakout
money arriving before price has turned · leaving a tight day
~94%
pullback
well off its high, turning back up, a possible second leg
~87%
mid
mid-range, room left, not stretched
~84%
stretchedat highs
a quarter of its price in four hours · top of range after a real run
~61–64%
topblow-off
top of range and stretched · a distribution candle at the high
~42–48%
Favour early, low, breakout and pullback. Treat top and blow-off as a reason to pass, whatever the money-flow reads. The Price stage row in Filters does this for you, Low to mid picks those stages plus mid in one click, and the board shows nothing else.
03/07Runner score · and its reasonsthe ranking
How much this looks like a run starting
One number out of 100, built from six things a runner has at once, then scaled by the stage above. Gold at 60 and up. It sets the order of All pools (confirmed money in first, then by score), and Free readers see it on the locked cards. The open cards no longer show its breakdown: the price chart's stage chip and the money-flow box carry the parts that matter for a decision.
Part
What full marks looks like
Weight
Volume acceleration
the last 30 minutes running 8× the pool's own hourly pace since it opened (1× scores nothing)
25%
Money in vs TVL
net inflow of 5% of the pool's TVL in the window, weighted by confidence
25%
Fee rate
4% of TVL earned in fees in 30 minutes (0.25% scores nothing)
20%
Breadth
twenty distinct buying wallets, one whale is not a run
10%
Youth
pool under 6 hours old; nothing by 48 hours
10%
Fee pace
the fee rate still rising rather than rolling over, read from the 30m/1h/24h curve
10%
04/07The reading · in wordssanity check
What the swaps actually did
Beside the confidence, five small bars are the last five whole minutes of trading, buys above the line, sells below, scaled to the busiest of the five. It answers the one thing the tag cannot: whether this is happening now or happened four minutes ago. Beside them, high, normal or low is the fee opportunity, how good a place this pool is to earn fees right now, with the rate itself beside it: "high 0.72%%/h" means the pool is paying about 0.72%% of its liquidity an hour in fees. It is fees per dollar of liquidity rather than raw volume on purpose: a $5M pool trading twice its usual can pay each dollar less than a $200K pool trading steadily, and it is the dollar you put in that gets paid. High means the pool is paying at least 1%% of its liquidity an hour in fees, a fixed bar, because the median pool on the board often earns so little that "twice the median" let a 0.3%%/h pool through, with the volume holding up (not under 0.7× its own normal) and at least $5K of liquidity; below that the rate is flattered and your own deposit would dilute it. Low is under half the median. The rate is the last 30 minutes of fees, refreshed every minute for every pool, sharpened while the trades are fresh by the last five minutes of volume at the pool's own fee rate (dynamic fee included). The track record scores every reading on whether the pool's fees over the next half hour held or rose against its own rate over the hour before, money in that leads to fees accelerating in that pool, and on whether the flow itself held for the next 10, 15, 30 and 60 minutes; /record shows both, and a card's measured figure gives the 10-minute and 30-minute marks side by side. Hover for the numbers behind it. High fee volume only in Filters keeps just the pools reading high. A high rate is not a safe one: it is often paid because the price is moving hard, so read it alongside the money flow and the price stage.
05/07The facts linesizing
How big, how busy, how real
TVL is how deep the pool is, keep your position a small fraction of it, or you move the price you are earning on. 24h volume against TVL is the pool's earning power (volume ÷ TVL over 3 is busy). Fees %/30m is what LPs actually earned on their capital in the last half hour, the number that pays you. Holders and market cap say how real the token is: thousands of holders is a market, dozens is a group chat. The header's bin step / base fee: a wider bin step suits a volatile run; a higher base fee pays more per swap but wins less volume.
06/07Trending · narrative and noisethe why
Is the narrative being bid, and is anyone talking?
Every other part of the card is on-chain. Trending is the only one that says why, whether the story this token belongs to is being bought right now. It is scored 0–100 from three free readings: its narrative's last hour on DexScreener's meta feed, whether anyone is paying to promote it, and Jupiter's organic score (real buyers, with bots and snipers filtered out).
It sits beside the runner score and never changes it. Mention volume costs about twenty dollars to fake; if talk could lift the runner score, the top of the board would be for sale. So the card shows both and you decide whether to demand both.
On the card it is one chip, trending 41, in the facts line at the foot. Minimum trending and narrative rising only are in the Filters panel. The pairing that matters: narrative rising + price still low in its range + money confirmed arriving. That is the whole product in one line.
07/07Fresh launches · age and the rug checksurvival
Can somebody pull this out from under you?
Fresh-launch cards wear their age and a rug reading from RugCheck plus the scanner's own checks (holder count, one wallet doing the buying, liquidity leaving). caution is things to know before sizing. ⚠ danger is a mechanism for taking your money, a live mint or freeze authority, the float in a few wallets, liquidity halving. Danger cards sink to the bottom and stay hidden until you ask for them.
Dump risk is the other kind of danger, and the rug check cannot see it. A token can pass every contract check, mint and freeze revoked, liquidity in place, an ordinary creator, and still be sold into thin liquidity by the people who made it. JACK-SOL did exactly that on 27 September 2026: six times up in four hours from the pool's open, then 89% down in one five-minute candle, 96% in twenty minutes, with a RugCheck score of 1. So the scanner now reads the shape of a dump from the token's own numbers and its candles, on tokens under a week old: a thin exit (market cap 25× or more the liquidity behind the whole token, a 2% holder cannot leave without halving the price), bot volume (under a tenth of the last six hours' volume and under 8% of its buyers organic, on an unverified token), a vertical first day (up 100% or more in two hours and 150% or more in four, or since open), and, as a watch line, a creator whose wallet holds nothing. Two flags are ⚠ dump risk, danger: the card is hidden like a rug danger, kept out by no red flags, and never sent to your phone. One flag is a caution chip. On a dump-risk token a day of money arriving reads → stand aside instead of suggesting a position below the price, that position is the one that catches the fall. Whether the read predicts a cliff is scored on the track record page like everything else (fell by half), so you can see for yourself.
Never enter a danger card. On a caution card, size as if you may lose it all, and take fees out as you go.
Entry checklist
1Money in, confirmed, 80%+: reading under a few minutes old, chart rising.
2Stage early, low, breakout or pullback. Not top, not blow-off, not stretched.
3Runner score 60+ (gold), at least three reasons named, including volume acceleration and a fee rate.
4Breadth: ten or more wallets buying. The sentence says “swaps from N wallets”, not one whale.
5Depth: your position under ~2% of TVL; volume ÷ TVL comfortably above 1 for the day.
6Fresh launches: no danger flag; on caution, size for a total loss and harvest fees early.
Read this before sizingA confirmed inflow at an early stage with a gold score is the highest-probability setup the scanner can show, it is not a guarantee. DLMM positions carry impermanent loss, and a run can reverse inside the window you are reading. Enter with size you can watch, set your range for the move you expect, and let the fee rate, not the price, be the thing you are there for.
Free and Pro
Free shows every pool's public facts and opens one card in full: the pool with the best money arriving right now. Pro opens every card (the money flow, the confidence, the warnings and the charts), Fresh launches in full, GMGN readings and alerts to your phone.
Pass
Price
1 day
$3
7 days
$9
30 days
$19
90 days
$49
1 year
$169
Paid once, in SOL or USDC, from your wallet on the Pro page. Nothing renews on its own.
Referral links: 20% of what your referrals pay, paid monthly in USDC. Once you have an active Pro pass, Settings gives you your own referral link. For 12 months after someone first buys through it, you earn 20% of every pass they pay for; earnings clear after 14 days and are paid to your wallet in USDC each month (from $10). They get 3 extra days on passes of 7 days or more. Paying for your own referral voids it.
What the colours mean
Green: money arriving; stages worth entering.
Red: money leaving; late stages; danger.
Gold: a runner score of 60+; cautions.
Nothing else on the board is coloured, so when something is, it means something.