Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
Live, source-linked metrics for $STONK, the platform token of the StonkFun launchpad on Solana: supply and burns, revenue-funded buybacks, pool depth, demand, and a bull-case scorecard that shows caut
FinanceTypeScript · CSSGitHub @hankobagginsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
stonk.fyi — live, source-linked metrics and a bull-case scorecard for $STONK (StonkFun platform token, Solana). Unofficial.
Loading the full README. The saved excerpt is shown below.
Live at stonk.fyi. Methodology and data sources: stonk.fyi/about.
A live dashboard centered on $STONK, the platform token of the StonkFun launchpad on Solana. The home page is a bull-case scorecard — supply burned, burn velocity, buyback pressure, revenue growth, STONK-denominated demand, valuation multiple — each computed live from the API and colored by its actual state, plus price, burn and buyback charts and a "what to watch" block. The rest of the site covers the platform that feeds the flywheel. Unofficial; built on StonkFun's public API.Read the full README ↗Live at stonk.fyi. Methodology and data sources: stonk.fyi/about.
A live dashboard centered on $STONK, the platform token of the StonkFun launchpad on Solana. The home page is a bull-case scorecard — supply burned, burn velocity, buyback pressure, revenue growth, STONK-denominated demand, valuation multiple — each computed live from the API and colored by its actual state, plus price, burn and buyback charts and a "what to watch" block. The rest of the site covers the platform that feeds the flywheel. Unofficial; built on StonkFun's public API.
Phase 1 (this repo): every page is a Next.js server component that reads StonkFun's keyless public API (https://www.stonkfun.xyz/api/public/v1) with short revalidation windows, and a small client component re-renders the page every 60 seconds. No database needed.
Phase 2 (included, opt-in): /api/cron/snapshot is a worker that polls the API on a schedule and writes time-series rows into Postgres (Supabase). That is what turns StonkFun's "current values" into history you can chart — per-token price/mcap/volume over time, buyback ledger, launch counts per day, volume by pair over time. The schema is in supabase/migrations/0001_init.sql and the cron schedule in vercel.json (active tokens every 5 min, full walk hourly).
Phase 3 (not started): direct on-chain reads via Helius (unique traders, holder distributions, burn verification against the STONK mint, pool liquidity).
| Route | What it shows |
|---|---|
/ | $STONK: hero metrics, bull-case scorecard (13 indicators in 5 groups), price history (CoinGecko), supply-burned ring, buyback-per-day and cumulative buyback charts, recent STONK burns with tx links, live buyback feed, main-pool reserves and 24h net flow (Raydium), interactive flywheel projection (floor / ceiling models), tokens priced in STONK, what to watch |
/platform | Platform KPIs, daily revenue (holders vs protocol), cumulative revenue, burn share by source, live buyback feed, top tokens |
/tokens | Searchable, filterable, paginated token table (sort, status, mode, pair category, quote mint) |
/tokens/[mint] | Token detail: market, launch, addresses, burns/rewards/fees/backing sub-resources |
/pairs | Volume and market cap aggregated by quote asset and pair category (StonkFun's unique angle) |
/flywheel | Revenue → buyback → burn: totals, burn sources, buyback spend by quote, holder rewards |
/launches | Launch ledger, launches per hour, mode and launchpad split |
/about | Methodology, data sources, scorecard thresholds, projection model, known gaps |
npm install
cp .env.example .env.local
npm run dev # live API
DATA_SOURCE=fixture npm run dev # offline, uses captured JSON in src/fixtures
supabase/migrations/0001_init.sql in the SQL editor.SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, CRON_SECRET (any long random string — Vercel sends it as the bearer token to cron routes)./api/cron/snapshot. Hit it manually with curl -H "Authorization: Bearer $CRON_SECRET" https://<app>/api/cron/snapshot to check the JSON result.History accumulates from the moment the worker starts, so turn it on early.
Open http://localhost:3000/api/health — it pings every upstream (StonkFun endpoints, Raydium, CoinGecko, Supabase) and reports ok/fail with a note per source, so a blank section on a page can be traced to the source that's failing. Typical causes: a corporate/VPN proxy blocking one host, StonkFun's 300 req/min rate limit (wait a minute), or CoinGecko rate-limiting (chart falls back to a placeholder; add COINGECKO_API_KEY for a free demo key).
src/fixtures/*.json are real responses captured 2026-09-06 for offline development.market_chart endpoint (coin id stonk-3, verified from production 2026-09-07; override with COINGECKO_STONK_ID; optional COINGECKO_API_KEY for a demo key). It is best-effort: on any failure the chart shows a placeholder instead of erroring.api-v3.raydium.io/pools/info/ids endpoint for the STONK/SPYx CLMM pool. The worker records them to pool_snapshots; the 24h change in the STONK reserve is shown as net flow (reserve falling = net buying). The net-flow indicator reads "collecting" until ~24h of snapshots exist.src/lib/stonk.ts and are deliberately simple; tune them to taste. Indicators are not investment advice.src/app/ routes (App Router)
src/app/api/cron/ snapshot worker
src/components/ charts (Recharts), tables, nav, live refresh
src/lib/api.ts typed API client + fixture mode + CoinGecko
src/lib/stonk.ts STONK aggregator: supply, burn rate, buyback pressure, pool, indicators
src/lib/raydium.ts Raydium pool-info client
src/components/Projection.tsx client-side flywheel projection (sliders)
src/lib/types.ts API response types
src/lib/db.ts Supabase client (optional)
supabase/ schema
scripts/ dev helpers (screenshot.mjs)