1Entry and exit
A follower is modelled as buying at most about 90 seconds after the post — never at the price in the message. They sell at the end of the window, whatever happened inside it.
No pool → unpriceable (no pool). No trade within 300 s after the delay (330 s after the post) → unpriceable (no trades after call). A network error is retried, never guessed.
2Net of costs
Every result pays a fee and slippage on the way in and on the way out. Slippage grows when the pool is thin, because a real follower's buy moves the price.
gross = exit / entry − 1
net = exit·(1 − f − s)
/ (entry·(1 + f + s)) − 1
f = 1.0%
s = max(1.5%, 2 × $500 / liquidity)
at most 50.0%; liquidity unknown → 1.5%
floored at −100%
Liquidity is the pool's, looked up once right after the call. Below $10K the call shows low liquidity — still scored, never hidden.
With these costs the price has to rise +5.13% between entry and exit before the net result is above zero.
3Ranking
The headline is the median net result — one lucky call cannot carry a caller. The rank uses the median shrunk toward the median of every scored call in the group, so a caller with few calls stays near the middle until the record grows.
score = (n·median + k·M) / (n + k) k = 10 M = group median
- Ranked after 5 scored calls; before that, listed as “not ranked yet”.
- Re-shill: the same caller calling the same token again within 24 h is shown, not scored.
- Peak is shown muted and labelled not reachable. It never ranks anyone.
4Exit liquidity
If a caller linked a wallet (by signing a message), any sell of the called token by that wallet within 60 minutes after the call is flagged and counted. Without a configured wallet-activity provider the site says not checked — never “clean”.
5Proof
Every 60 minutes new calls are sealed into a Merkle root. The seal hash is posted to Telegram and the operator anchors it on Solana with a memo signed in their own wallet — the server holds no key. Any call can be checked against its seal in the browser or offline.
- Recorded
- Priced
- Sealed
- Anchored
Current settings
| Setting | Value |
|---|---|
| Entry delay | 30 s |
| Fee per side | 1.0% |
| Slippage per side | 1.5% to 50.0%, by pool liquidity |
| Follower trade size | $500 |
| Low-liquidity flag | pool < $10K |
| Exit price | volume-weighted, last 5 min |
| Entry price | volume-weighted, first 2 min when ≥ 2 traded |
| Run-up flag | ≥ +100% in 30 min before |
| Method version | 2 |
| Hit | ≥ +50% net |
| Rug | ≤ −90% net |
| Minimum calls to rank | 5 |
| Shrinkage k | 10 |
| Exit-liquidity window | 60 min |
| No trade after delay | 300 s → unpriceable |
| Wallet checks | configured |
| Seal interval | 60 min |
The full rules, in words
What is measured
Every message in a connected chat that contains a Solana token address is recorded as a call, at the moment the bot receives it. Calls are never deleted and edits never replace the original text.
For each call we compute what a person reading it could have got: buying shortly after the post, selling after a fixed time (1 hour, 24 hours, 7 days), and paying trading fees and slippage on both sides. This is a record of what already happened. It says nothing about any token in the future.
Price data
Prices are 1-minute candles of the token's most liquid pool, in US dollars per whole token, as reported by the price provider. The pool is chosen when the call is priced and a result keeps it. Each result names its price source and pool.
A minute without trades has no candle. No price is ever filled in or estimated.
Before a call is priced, the latest price of that pool is compared with an independent second source. If the two differ by more than 5×, the call is marked "unpriceable: price sources disagree" and no result is published for it.
If trading moves to another pool before a window ends (for example when a pump.fun token leaves its bonding curve), the two price series are joined only when the new pool starts within 2× of where the old one stopped. Otherwise that window is not scored.
Entry
The follower is modelled as buying 30 seconds after the post, in the first 1-minute candle that starts at or after that moment. The price is that candle's opening price. If trades happened in more than one minute of the first 2 minutes from there, the price is instead their average, weighted by trading volume (each minute counted at the average of its high, low and closing price), so one single trade cannot set the entry.
If no trade happens within 300 seconds after that moment (330 seconds after the post), the call is marked "unpriceable: no trades after the call". If the token has no pool with price data, it is marked "unpriceable: no pool". Unpriceable calls stay in the record but are not scored.
Exit
The follower sells 1 hour, 24 hours, 7 days after the entry. The price is the average of the minutes that traded in the last 5 minutes before that time, weighted by trading volume (each minute counted at the average of its high, low and closing price). One trade in the final minute — for example a trade someone makes with themselves on a thin pool — therefore cannot set the exit on its own. If nothing traded in those minutes, the price is the closing price of the last minute that did trade. Each window is a separate result.
While a window has not ended yet, its result is shown as open and is not scored.
The highest price reached inside the window (peak) and the deepest fall below the entry (drawdown) are shown for context. The peak is a single-candle high that nobody is assumed to have sold at, and it is never used for ranking.
Fees and slippage
Each side of the trade pays a fee of 1% and slippage. The buy costs that much more and the sell returns that much less.
Slippage depends on how much money is in the token's pool. Right after a call is recorded, the pool's liquidity in US dollars is looked up once and stored. Slippage per side is 2 × $500 (the modelled follower's trade) divided by that liquidity, but never less than 1.5% and never more than 50%. A follower buying into a small pool moves its price much more than in a large one; this is what that costs.
A pool with less than $10,000 of liquidity (slippage 10% per side at that size) is marked "low liquidity" on the call. Such calls are still scored, with the higher slippage — they are flagged, not hidden. If the liquidity could not be looked up within 15 minutes of the call, the page says "liquidity unknown" and the minimum slippage of 1.5% is used.
With the minimum costs (2.5% per side) the price has to rise by +5.13% between entry and exit before the net result is above zero. The net result can never be worse than −100%.
Caller statistics
Statistics use only calls whose result in that window is final.
Called after a run-up: for every call we compare the last price before the post with the lowest price in the 30 minutes before it. If the price had already risen by +100% or more, the call is marked "called after +X% run-up". The follower's result already starts from the later price, so this is shown for context and is not a penalty; each caller's page shows how many of their calls had it. When the token did not trade in that time, the run-up is shown as not measurable.
A repeat call of the same token by the same caller within 24 hours of their own previous call of it, in any connected chat, is shown but not scored. A call posted into several chats at the same time counts once.
For each caller we show the median net result (the middle value, or the average of the two middle values for an even count), the average, the share of calls at or above +50% net, the share at or below -90% net, and the median peak multiple.
Each caller's page also shows how many calls they post per active day (all their calls divided by the number of days on which they posted one) and which share of their scored calls landed in the top quarter and in the bottom quarter of all scored results in that window. Posting many tokens and pointing at the few that rose is visible this way. These figures are shown only; they do not change the ranking.
Where the operator has configured wallet checks and a caller has linked a wallet, the record also shows calls where a linked wallet sold the called token within 60 minutes after the post. Without wallet checks the record says "not checked".
Ranking
Callers are ranked by their median net result, pulled towards the median of all scored calls in the same window. The fewer calls a caller has, the stronger the pull, so one or two lucky calls do not put someone at the top.
score = (n × caller median + 10 × all-callers median) / (n + 10), where n is the number of scored calls.
A caller appears in the ranking after 5 scored calls in that window. Callers with fewer are listed separately as "not enough calls yet". Equal scores are ordered by the number of scored calls, then by caller id.
Proof
Calls are sealed into a Merkle tree at a fixed interval. The seal hash is posted to Telegram and can be anchored on Solana by the operator. Anyone can check that a call was recorded before a given seal.
Method version
This is method version 2. Every stored result records the version that computed it. When the rules change, the operator recomputes all results from the stored prices with the new version, so every result on this site is computed the same way. Version 1 used the opening and closing price of single minutes and a fixed slippage; version 2 added the volume-weighted entry and exit, liquidity-based slippage, and the run-up, low-liquidity and calls-per-day figures.