Methodology & data sources
What is measured, where it comes from, how fresh it is, and what this site does not know.
What this is
stonk.fyi tracks $STONK, the platform token of the StonkFun launchpad on Solana. Every metric is computed from live data each time the page loads, and every scorecard indicator is colored by its actual state: bullish, neutral, or caution. The site is built to show the bear case as readily as the bull case; a page that can only show green is not worth reading.
This is an unofficial, independent dashboard. It is not affiliated with, endorsed by, or maintained by StonkFun. Nothing here is financial advice.
The token
- Mint
- 6GmAFSYs4gk3FDao5FzzySQpPZaWsa4rUJHacpMpUNgx
- Main pool
- 7a8xxAJBELDo6P9dikSYctdw6ce8F4mWr3ahcAD8Ao49 Raydium CLMM, STONK / SPYx, 1% fee
- Launched
- Thu, 23 Jul 2026 19:07:06 GMT, graduated 16 minutes later
- Supply
- 1,000,000,000 fixed. Mint and freeze authority are null, so supply can only fall. Circulating = initial − burned.
Data sources
- StonkFun API
- Platform stats, revenue and buyback history, token list and market data, burn ledger, launches, pairs, rewards. The ledger of record and the source of every USD figure on the site; its pricing feed is not independently verified here. Burn amounts and transaction signatures are on-chain and link to Solscan.
- Raydium
- Reserves, TVL and 24h volume of the main STONK/SPYx pool. Used for pool depth, net flow, and the projection's quote-side depth.
- HolderScan
- $STONK's holder profile — holder count with HolderScan's own 1h to 30d changes, holders by value held and by size tier, the median position, hold time and retention, the hold-time class of the 1,000 largest wallets, aggregate break-even and PnL — and the holder count of every quote asset on the Holders page, read by this site's worker and stored. The same profile of any graduated coin on its token page, read when the page is viewed (HolderScan lists a StonkFun token within minutes of graduation) and cached for 15 minutes.
- GMGN
- Top-10 concentration, wallet tags (smart money, KOL, whales), buy and sell volume across every pool STONK trades in, contract and LP checks, and an independent USD price from STONK's largest pool by liquidity. Optional; its cells read "provider down" when it is unavailable.
- Jupiter
- Current USD prices for the ~250 quote assets reward coins pay in (Rewards page, reward coin token pages). On the Pairs pages, each tokenized-stock quote asset's price, liquidity across every pool it trades in, holder count and own 24h volume, and the liquidity of the coins priced in it.
- Pyth
- The list of price feeds Pyth publishes (not the prices, which need a key): whether a tokenized stock's underlying has a session-only feed, an always-on one, or none. Pairs pages only.
- DexScreener
- Every pair a quote asset trades in, summed by DEX, for the venues check on its Pairs page.
- CoinGecko
- 90-day USD price history for the price chart. Best-effort; the chart shows a placeholder when it is unavailable.
How fresh is this?
Every page re-renders itself every 60 seconds (the "updated Ns ago" counter in the nav). Each figure's source line shows how long the site caches that upstream, so a number can be up to that much older than the counter. StonkFun's own API is itself a snapshot, usually 20–30 seconds behind the chain; its timestamp is shown next to the price.
| What | Source | Refreshes |
|---|---|---|
| Page render | server components, re-fetched by the browser | 60s |
| Buyback / burn toasts | StonkFun buyback ledger | 20s |
| Price, market cap, volume, token list, revenue, stats | StonkFun API | 30s |
| Burn ledger, rewards, creator fees | StonkFun API | 60s |
| Main pool reserves and TVL | Raydium | 60s |
| Concentration, buy/sell volume, wallet tags | GMGN | 60s |
| $STONK holder base: holders and HolderScan's own 1h–30d changes, holders by value and size tier, median position, hold time, retention, hold-time classes of the top 1000, top-10 / top-100 share, break-even and PnL | stonk.fyi readings of HolderScan's profile routes, stored in Postgres; the page never calls HolderScan | every tick on the Advanced plan (5 min), every 6 h on Standard |
| Holder base on a token page (any graduated coin) | HolderScan's profile routes, read when the page is viewed and shared across viewers; $STONK's comes from the stored readings above | 15 min cache |
| Revenue history (daily) | StonkFun API | 5 min |
| Net flow, holder growth, token history | stonk.fyi snapshots in Postgres: STONK, the main pool and the top 100 tokens every 5 min; top 500 hourly; all tokens daily | 5 min |
| Quote-asset USD prices for holder rewards | Jupiter price API | 5 min |
| Holders across the ecosystem (every quote asset) | stonk.fyi readings: HolderScan holder count per quote asset (hourly on the Advanced plan, daily on Standard); Helius on-chain census of wallets holding a reward coin | hourly / daily |
| On-chain wallet counts per quote asset; wallets holding a stock token | stonk.fyi census of token accounts via Helius, every quote asset in the universe (stock assets on the free Helius plan) | every 6 h |
| Runners: tokens crossing $1M–$100M market cap | stonk.fyi crossing ledger in Postgres: every token the tick fetched plus the 100 largest by market cap, checked against StonkFun's lifetime peak each tick | 5 min |
| Quote-asset pages: price, liquidity, holders, own volume; liquidity of coins priced in them | Jupiter token API | 5 min |
| Quote-asset venues | DexScreener pairs | 5 min |
| Which quote assets Pyth prices after the close | Pyth's list of published feeds | 6 h |
| Holder-fee APR (24h / 3d) | stonk.fyi readings of each reward coin's lifetime payouts, every 5 min for coins that paid in the last 7 days | 5 min |
| 90-day price chart | CoinGecko | 10 min |
| Social card (link preview) | rendered live; its URL changes every 5 min so link scrapers, which cache by URL, fetch a new render | 5 min |
What is scored, and what is not
Only quantities that can objectively move both ways are scored. Facts that can only move in one direction are shown in the "Structural" block at the top of the $STONK page and never colored: the share of supply burned (it can only rise), the fixed 1B supply, renounced mint and freeze authority, burned liquidity, and the absence of a transfer tax. A signal that cannot turn is not a signal; it is the floor the scorecard sits on.
Where a headline number only rises (tokens ever launched, pools ever quoted in STONK, cumulative burns), the scorecard scores the flow behind it instead (24h volume, burn pace), so every colored cell can go amber.
Thresholds are judgment calls made on roughly six weeks of data since launch. They are deliberately simple and will be revisited as history accumulates; changes will be noted here.
| Indicator | Computed as | Bullish when |
|---|---|---|
| Flywheel | ||
| Burn rate | tokens burned per hour over the most recent burn window, as % of supply per day | > 0.3% / day |
| Buyback pressure | 7-day revenue × lifetime buyback share (total buybacks ÷ total revenue) ÷ 7 | > $10K / day |
| Buybacks / 24h volume | estimated daily buybacks ÷ STONK 24h volume | > 1% |
| Revenue growth | last 7 days of platform revenue vs the 7 days before | > +20% |
| Price vs avg buyback | price ÷ (total USD spent on buybacks ÷ tokens bought back) | > 1× |
| Demand | ||
| STONK-quoted volume | 24h volume through pools whose quote asset is STONK (the count of such pools only rises, so it is not scored) | > $1M (neutral > $100K) |
| Pool depth | Raydium TVL of the main STONK/SPYx pool | > $5M (neutral above $500K) |
| Net flow | change in the pool's STONK reserve over 24h; a falling reserve means net buying | net buying |
| Turnover | 24h volume ÷ market cap | 2% – 100% |
| Price change, 24h | StonkFun's reported 24h change in USD price (includes SPYx's move) | > 0 |
| Holders & flow (HolderScan, GMGN) | ||
| Holders | HolderScan's count of wallets with any STONK balance, scored on HolderScan's own 24h change (GMGN's count, scored after 12h of this site's snapshots, when HolderScan is unavailable) | > +0.5% / 24h (neutral ±0.5%) |
| Holders over $1K | wallets holding more than $1,000 of STONK at HolderScan's valuation; scored on the 24h change between this site's readings (after ~19h of them) | > +0.5% / 24h (neutral ±0.5%) |
| Diamond hands, top 1000 | share of the 1,000 largest wallets' STONK that sits in HolderScan's longest-held class (FIFO). Initial thresholds, set 2026-09-12 | ≥ 50% (neutral ≥ 25%) |
| Price vs holders' break-even | price ÷ HolderScan's aggregate break-even price of the holder base | context only, not scored |
| Top-10 concentration | share of supply in the ten largest wallets, pools included | < 20% (neutral below 35%) |
| Buy share of volume | 24h buy volume ÷ (buy + sell volume) across every pool STONK trades in | > 52% (neutral 48–52%) |
| Smart-money holders | wallets GMGN tags as smart money currently holding STONK | ≥ 100 (neutral ≥ 25) |
| Platform | ||
| Launchpad volume | launchpad-wide 24h trading volume (token count only rises, so it is not scored) | > $10M (neutral > $1M) |
| Valuation | ||
| Launch multiple | market cap ÷ market cap at launch | context only, not scored |
| Price-to-sales | market cap ÷ (7-day revenue × 52) | < 10× |
The projection
The flywheel projection on the $STONK page models one thing: what revenue-funded buybacks alone do to price over a horizon. It brackets the answer with two models. The floor holds market cap constant and lets price rise only because burned tokens leave the supply. The ceiling treats every buyback dollar as a net buy that nobody sells into, pushed through a constant-product curve with the live quote-side depth.
The ceiling is a deliberate over-estimate: a concentrated-liquidity pool has less slippage near the current price than constant-product assumes, and the other ~99% of order flow (everyone else buying and selling) is not modeled at all. Read it as a sensitivity tool, not a forecast.
Holder-fee APR
The Tokens page shows a realized APR beside every tracked reward-mode coin (sort the reward coins by it): tokens paid to holders over a window (from this site's 5-minute readings of StonkFun's lifetime payout figure per coin) × the quote asset's USD price now, divided by the coin's market cap now, annualized by the hours the window actually covers. The 24h column uses the last day of payouts; the 3d column averages over 72 hours. A window is shown once readings cover at least 80% of it, and coins need 72 hours of trading history to be listed.
It is deliberately not volume × fee rate. Volume-based estimates depend on assumptions about eligible balances, operating fees and which pools count; payouts are what happened. The trade-off is lag: a coin that started paying an hour ago shows nothing until its window fills. Market cap as the denominator understates a holder's own yield, since pool and program balances are not paid.
The $STONK holder base
The Holder base block on the $STONK page and the four HolderScan cells in the scorecard come from HolderScan's profile of the mint, read by this site's worker (every tick on HolderScan's Advanced plan, every six hours on Standard) and stored, so the page shows a reading and its age rather than calling HolderScan on every visit. Holders is every wallet with a STONK balance on any venue; the 1h, 24h, 7d and 30d changes are HolderScan's own. Average per holder is StonkFun's market cap divided by that count — the stake each wallet would hold if every holder held the same; since a few large wallets and the pools pull it up, the median position (HolderScan's, in STONK, valued at StonkFun's price) is the typical holder. Holders over $10 … $1M and the shrimp-to-whale tiers are HolderScan's at its valuation at read time; their 24h changes are between this site's readings. Hold-time classes (diamond, gold, silver, bronze, wood, new) and the supply held by each cover the 1,000 largest wallets, FIFO. Break-even and PnL are HolderScan's FIFO aggregates in USD. Top-10 and top-100 share are Σ of HolderScan's top holders' balances ÷ circulating supply, pools included.
Every graduated coin's token page carries the same block. HolderScan lists a StonkFun token within minutes of graduation, so the profile exists for any coin off the bonding curve; the site reads it when the page is viewed, shares that reading with every viewer for 15 minutes, and caps how many such reads it makes an hour (the block says “rationed” when the cap is reached). There, top-10 and top-100 share are against HolderScan's figure for the coin's current supply; the hourly chart and 24h changes between readings appear only for coins this site already profiles on a schedule (the top 20 by market cap). A coin still on the bonding curve shows no profile until it graduates.
Scored cells: holder growth (HolderScan's 24h change), holders over $1K (24h change between readings, once ~19h exist) and diamond-hands share; price vs break-even is context, because a holder base in profit is both healthy and a source of sell pressure. The thresholds are first guesses on one day of data (2026-09-12) and will be revisited as the readings accumulate.
Wallet rewards check
The wallet check answers one question from the chain: what have StonkFun's reward wallets sent this wallet? StonkFun pays holders by pushing tokens, so there is nothing to claim and every payout is a transaction anyone can open. Two wallets have done the paying: 5KXDF6…K6tD, StonkFun's operations wallet, paid holders directly from the first payouts (2026-08-04) until 2026-09-20 05:03 UTC; since then HuBMe…i8Ga pays, funded by the first (verified on-chain, 2026-10-01).
A payout is a transaction one of those wallets signed that does nothing but move one token from its own account into holders' accounts (token-program transfers, plus creating an account when the holder has none). The operations wallet also swaps, sweeps transfer fees and funds the payout wallet; none of those have that shape, so none are counted. The check reads the wallet's history through Helius (its token accounts included) and sums what such transactions added, by asset. Amounts are exact on-chain figures. Every hour the site also reads who paid StonkFun's own latest distributions, so if StonkFun moves payouts to a new wallet the check picks it up and re-reads stored wallets.
USD is today's price (Jupiter; STONK at StonkFun's price), the same convention StonkFun's own rewards page uses, so a total moves with the assets it was paid in. “From” is inferred: a payout transaction names the asset paid, not the coin that earned it, so the check lists the reward coins the wallet holds now that pay in that asset. A coin sold since leaves its payouts with no source named; two coins paying in the same asset share one row.
A wallet is read in full the first time someone looks it up and only its new transactions after that; the result is stored (totals per asset and per day, and the newest 25 payouts, nothing else about the wallet) so the share cards and link previews do not read the chain again.
Community Mode
StonkFun launched Community Mode on 2026-10-02. A reward coin in the mode splits every holder payout: 33% goes to wallets holding the coin's quote token, 67% to the coin's own holders. The Community mode view of Holder rewards shows what has been sent to the holders of each quote token, by which coins, and how many reward launches choose the mode each day.
StonkFun reports one payout total per coin, and for a community coin that total holds both shares: payouts filed under such a coin go partly to wallets that hold none of it but hold its quote token (checked on-chain on 2026-10-03). Neither the API nor the chain labels which share a payout belongs to, so the split shown is StonkFun's 33% rule applied to that total, not two reported figures.
A coin can switch into the mode after launch. The site records each reward coin's mode at launch, re-reads the mode of every reward coin that trades every hour, and keeps the time a coin spends in the mode as periods. A coin launched in the mode is split from its first payout; a coin that switched is split from the moment the site saw the switch (confirmed with a fresh read), so its earlier payouts stay plain and its quote-holder share can be understated by up to an hour of payouts, never overstated. A coin that leaves the mode is handled the same way. The Plain reward mode view leaves out what coins paid while in the mode; payout and holder counts of a coin that switched stay whole, since they cannot be split.
USD is at today's prices (Jupiter; STONK at StonkFun's), re-valued every 15 minutes, like the rest of the rewards page. The holder-fee APR of a community coin counts only its holders' 67%. In the wallet check, payouts in a token that no held coin pays in, received since community coins started paying that token's holders, are labelled as Community Mode payouts for holding it.
Holders across the ecosystem
The Holders page starts from the whole universe of quote assets: every pair StonkFun lists that has at least one reward-mode coin launched against it, in every category (tokenized stocks, pre-IPO, crypto, stablecoins, SOL, leverage, collectibles — about 320 assets). Two figures per asset, from two providers, never added together. Holders is HolderScan's count of wallets with any balance of the asset on any venue, read every hour on HolderScan's Advanced plan (once a day on Standard); assets HolderScan does not track show no reading. StonkFun wallets is this site's own daily on-chain census: for the largest reward coins by holder count (up to a fixed page budget, so the figure is a floor and the page says what share of StonkFun's holder-slots it covers), every wallet with a balance, read from token accounts via Helius and de-duplicated by owner — overall, per category and per quote asset. No address is stored, only counts. A wallet in that census holds a coin that pays it the quote asset on every payout, which is why it is the headline: it is the set of holders the ecosystem creates or keeps for other projects' tokens. Share is StonkFun wallets ÷ holders for the same asset.
The 24h, 7d and 30d columns are the difference between the newest reading and the newest reading at or before the window start, shown once readings cover at least 80% of the window (two daily readings for 24h, about six days for 7d, 24 for 30d). Until this site's own readings cover a window, a cell or tile may borrow HolderScan's own change for the same window, marked HS: for a census figure that is HolderScan's change summed over the coins or assets it tracks, in holder-slots (a wallet holding two counts twice), so it gives the direction and rough size of the move, not the change in the de-duplicated count. Holder readings are kept for 60 days; census runs indefinitely (a few hundred rows a day).
The top 10 coins by market cap table profiles the largest launched coins (STONK aside, which has its own holder base on the home page) through HolderScan every hour: its holder count, its own 24h / 7d / 30d change as of that reading — so the columns are backdated from the first read; a coin younger than a window shows none — and the average time current holders have held (n/a where HolderScan has not profiled the coin). The sparkline is this site's hourly readings over the last seven days. The set is whatever the top ten is at page load; the worker profiles the top twenty, so a coin that has just climbed in usually has readings already, and otherwise shows when the next read is due.
The third count, on-chain, is this site's own tally of owner addresses with a non-zero balance of the asset itself, read from token accounts via Helius every six hours for every asset in the universe. It measures the same thing as HolderScan's holders a second way, covers assets HolderScan does not track, and is the per-asset side of the “wallets holding a stock token” block, which de-duplicates the same pull across the xStocks, Backpack, pre-stock and Tessera assets (a wallet holding several counts once, and any issuer subset can be selected). A mint with more token accounts than one run reads is shown as a floor with a “≥”. Holding the stock token and holding a StonkFun coin that pays it are different populations — neither contains the other — which is why the page keeps them as separate columns rather than one number.
Runners
The Runners page counts tokens crossing $1M, $5M, $10M, $25M, $50M and $100M market cap. StonkFun reports a lifetime peak market cap for every token; a peak only rises, so a token crosses a line once, and the ledger keys on (token, line): the same token crossing the same line twice cannot be counted, by construction rather than by filtering. Every tick the worker compares the peak of each token it fetched (the 100 most-traded and the 100 largest by market cap; 500 most-traded hourly; every token daily) with the lines already recorded for it and writes one row per new line with the reading time. The crossing itself happened between that reading and the site's previous reading of the token, which the ledger shows as a ± figure; a token running to $1M has volume, so it is normally in view within minutes.
The 24h and 7d columns count crossings by reading time and start from the moment the ledger went live: every crossing that had already happened was seeded without a time and is never counted. A token the site has never snapshotted before, older than a day and a half, is seeded the same way when it first appears, so the daily walk cannot report old history as a runner. Crossed is cumulative (a token at $5M is also counted at $1M); peak so far groups the tokens that crossed $1M inside the window by the highest line they have reached to date, so the bands add up to the $1M+ count.
The second table, launched in the window, by peak so far, is the framing of “since date X only N tokens reached $5M” posts: tokens launched inside the window, by the peak they have reached to date. It is shown because it is what those posts count, and labelled because it is biased against young cohorts — a token launched today has had today to run, one launched a week ago had a week. Peaks are read from the site's token index (every token daily, active tokens every 5 min), so a fresh peak can lag its read. All market caps are StonkFun's USD figures at their pricing.
Quote assets
Every coin launched on StonkFun is priced in a quote asset, and about a hundred of those are tokenized stocks (xStocks, Backpack, pre-IPO issuers). The Pairs page links each one to a page that looks at the asset as a market in its own right, because every coin quoted in it inherits its price. Idea credit: stonkpile.xyz, which does the same for the whole tokenized-stock category on Solana.
Checks. Issuer: the mint StonkFun lists, and whether Jupiter marks it verified — a same-named token at another address is not it. Liquidity: Jupiter's figure across every pool the asset trades in (green ≥ $1M, grey ≥ $100K). Venues: DEXes with at least $1K of liquidity in DexScreener's pairs (green ≥ 3, grey 2); DexScreener counts both sides of a pair, so this is a count, not a depth. Holders: Jupiter's count (green ≥ 10K, grey ≥ 1K). Issuer controls: whether mint and freeze authority are held, which is normal for a tokenized stock and means the token is a claim on the issuer. These are context, not a score; nothing here feeds the $STONK scorecard.
Reference price after the close. Pyth publishes US equities as a session feed (Equity.US.<ticker>, 09:30–16:00 ET) and, for a few dozen names, an always-on feed (Equity.Index.<ticker>, described by Pyth as 24/7). A stock with only the session feed, or none, has nothing independent pricing it overnight and at weekends while the coins quoted in it keep trading. SPY and QQQ have no always-on feed of their own, but the S&P 500 and Nasdaq-100 index feeds are always-on; they are shown as an index proxy, not as a feed for the ETF. The underlying is the xStocks symbol without its trailing x, or the issuer's ticker for the others; the oracle gap counts the stock assets used by the 300 most-traded StonkFun coins, weighted by those coins' volume. Backpack also lists crypto (TAO, DOGE…); those carry a crypto feed and sit outside the count.
The same company, two prices. Where StonkFun lists a company from more than one issuer (matched on ticker or name), the tokens' Jupiter prices are shown side by side with the gap between the highest and lowest. For a listed company a share price exists and a gap is either denomination or an arbitrage; for a private one there is no published price at all, so part of the gap may be denomination and nobody can check which. Turnover on a coin row is 24h volume ÷ liquidity across all its pools; above 5× is flagged as churn.
What this site does not know
- STONK has no USD market of its own. Its USD price is the pool ratio × SPYx's USD price, so it carries S&P 500 beta, and SPYx has no live reference price outside US market hours, which lets the USD figure drift over weekends and gap at Monday open.
- Burn rate is a spot rate from the most recent ~25 burn events (roughly one to two hours). It swings with platform activity.
- Daily buyback dollars are estimated as daily revenue × lifetime buyback share until the site's own history has enough recorded buybacks.
- Pool depth and net flow cover the main Raydium pool only. STONK also trades through Jupiter routing and in every STONK-quoted pool.
- Holder counts, tiers, hold times and PnL come from HolderScan's indexer, and concentration and wallet tags from GMGN's, not from this site's own on-chain reads (the wallet census on the Holders page is the one on-chain count). GMGN's 24h volume counts every STONK-quoted pool, so it is many times the main pool's volume; the two figures measure different things.
- Platform revenue is volatile: daily fees have spanned roughly two orders of magnitude since launch (the live range is in "What to watch" on the $STONK page). Buyback pressure follows it with no lag, in both directions.
Built from public data. Every tile shows its source; start at the $STONK page. Corrections: @stonk_fyi on X.