---
name: stonkfun-holder-apr
description: The 10 Sep 2026 audit of @AgentChud's "Ten coins. Real trading history." stonk.fun holder-fee APR board (ZCAT, KNOTS, PURR, BTC, LOOM, AGI, USEFUL, CLANKER, FRIES, RAYCAT) against payouts actually measured over 26.6 hours, plus the method for measuring real holder yield on any stonk.fun coin. Read before quoting any stonk.fun APR, "holder yield" or "pays X% a year" claim.
sources: [cowork]
aliases: [stonkfun-apr, holder-fee-apr, agentchud-board, stonkfun-yield]
---

# stonk.fun holder APR audit, 10 Sep 2026
- [stated] Ben pasted @AgentChud's infographic ("STONKFUN / SOLANA, Ten coins. Real trading history. Largest yield-paying coins with a full 72-hour history", snapshot 08 Sep 2026 9:47pm CDT, posted 9 Sep "Add this to your site @LaunchOnSF", 85.7k views, post 2097518821611368879) and asked what it is, then said yes to checking which of the ten APRs are honest.

## What the board is
A fan-made leaderboard, not a stonk.fun product. Ten largest reward coins with 72h of history, "ESTIMATED HOLDER-FEE APR" from trading volume x transfer tax, denominator = "current eligible-holdings value" (wallets holding >= $20, pools and programs excluded, 2.5% operating fee deducted). Two columns: 24h-based and 3d-based. @LaunchOnSF is stonk.fun's own X account.

## The measurement (the honest number)
Two snapshots of `www.stonkfun.xyz/api/rewards?mint=` 26.59 h apart (9 Sep 04:49 UTC -> 10 Sep 07:25 UTC). Delta of `distributedTokens` (quote-asset units, so quote price moves cannot fake it) x quote price now = money actually pushed to holders. APR below is on FULL market cap (floor for a holder; the eligible-holdings basis is higher).
| coin | paid/day measured | APR on mcap | board 24h | board 3d | verdict |
|---|---|---|---|---|---|
| ZCAT | $573,302 (521.28 ZEC) | 209% | 217% | 297% | honest |
| KNOTS | $232,477 (1,169,077 STONK) | 381% | 368% | 242% | honest |
| PURR | $157,632 (2,100.6 HYPE) | 546% | 949% | 1,435% | inflated ~1.7x |
| BTC | $130,528 (1.852 WBTC) | 561% | 575% | 916% | honest (24h) |
| LOOM | $77,014 (842 SOL) | 748% | 1,325% | 1,046% | inflated ~1.8x |
| AGI | $27,972 (31.2 ANTHROPIC) | 492% | 432% | 948% | honest (24h), 3d 2x |
| USEFUL | $34,185 (161,197 USELESS) | 362% | 322% | 469% | honest |
| CLANKER | $3,471 (141.4 ROBOSTRATEGY) | 108% | 139% | 427% | 24h ok, 3d 4x |
| FRIES | $10,760 (45.9 MCDX) | 242% | 237% | 743% | 24h honest, 3d 3x |
| RAYCAT | $49,404 (39,940 RAY) | 489% | 719% | 1,357% | inflated 1.5x / 2.8x |
- **The 24h column is roughly right for 6 of 10; the 3d column is wrong on almost all of them** (it averages a bigger day that has passed). PURR, LOOM and RAYCAT are overstated in both columns.
- **Real payouts run 1.5x to 2.8x above `DEX volume x tax`** (ZCAT paid $573k/day on $6.8M of volume, 3% of which is $204k). The Token-2022 transfer fee hits EVERY transfer, not only swaps, so volume-based estimates undercount the numerator while the board's small "eligible holdings" denominator overcounts the rate. The two errors partly cancel, which is why 6 of 10 land near the truth by accident.
- Mechanism caveats that the board footnotes but a buyer feels: the 3% tax is paid on your own entry and exit too (about 6% round trip); payouts only go to wallets holding >= $20; distributions fire in batches once the pot clears `minDistributionUsd` (ZCAT $50,000, KNOTS $18,113, small coins $2,000 to $4,000); 2.5% operating fee. Yield does not protect price: AGI fell from $3.32M to $2.07M in the same 26.6h, about 27 days of its own yield.
- CLANKER and FRIES are legacy launches with no transfer tax (pay 85% of a 4% pool fee, only on the stonk pool), so their "APR" is a different, weaker mechanism than the other eight.

## Method notes, reusable
- `www.stonkfun.xyz/api/rewards?mint=` (internal) gives `distributedTokens`, `distributedUsd` (repriced at CURRENT quote price, so USD deltas across time are confounded), `pendingTaxTokens`, `minDistributionUsd`, `operatingFeeBps`, `transferTaxBps`, `holderCount`, `lastPayoutAt`. No time series anywhere: `/rewards/history`, `/payouts`, `/tokens/{mint}/payouts` all 404. **Measure yield by snapshotting `distributedTokens` twice and differencing; never by differencing `distributedUsd`.**
- `www.stonkfun.xyz/api/token-holders?mint=` returns only the TOP 100 wallets plus `excludedOwners` (three platform addresses) and does not include the pool vault, so it cannot give "eligible holdings". Use full market cap as the floor denominator and say so.
- The public `/api/public/v1/tokens/{mint}/rewards` carries the same lifetime totals with no USD figure.
- A 5-minute sampler loop dies when the container sleeps; a single long gap between two snapshots is the better design anyway.
- Scripts and snapshots: /tmp/sfapr/ (snap.py, sel.json, snap_*.json, res.json).
