Changelog
Started as personal scripts in August 2025. First serious rebuild on January 24, 2026. Public launch on March 16, 2026 (v1.0.0). Shipping continuously since.
Versioning: v1.0.0 marks the public launch. Pre-launch builds use v0.x.x. Pre-history covers the personal-script era before the rebuild.
Staker APR shown to 2 decimals
The Staking page now shows Staker APR to two decimals (e.g. 11.67%), matching the Venice app to the cent — single-decimal rounding had hidden that the two already agree.
New on Venice moved up
The "New on Venice" latest-models strip now sits right under the VVV/DIEM cards, instead of near the bottom of the homepage.
Emissions chart step accuracy
The VVV emissions chart now steps down exactly on each scheduled cut date, with a forecast you can hover on any day — no more averaged-out steps or jumps between cuts.
Hardened Venice request timeouts
Venice API calls now have a guaranteed hard timeout, so a stalled response can no longer hang a request indefinitely. Improves reliability across the app, including the Intelligence chat.
Whale Dossier index
The weekly Whale Dossiers now have a browsable index at /whale-dossier, linked from the More menu. Every published edition is in one place — they were previously reachable only by direct URL.
Accurate enrichment cost telemetry
Model-enrichment cost logging now reads the live Venice catalog price instead of a stale hardcoded proxy that inflated figures ~2.5×. Cost derives from the writer model's real per-token rate (cached), so it self-corrects to future price or writer-model changes.
Self-resolving model providers
Models from new labs that land with no recognizable provider now get their lab identified and attributed automatically, instead of showing blank. Only high-confidence matches backed by an official source are applied; weaker ones wait for review.
Web-grounded model About pages
Model About sections are now web-grounded, audited, and source-cited. A new enrichment pipeline searches the web while writing, has a second pass audit the text for unsupported claims or competitor rankings and correct them, and falls back to the plain catalog description when no trustworthy sources exist — so a public page never ships a weakly-sourced claim. Pages now show the cited Sources (favicon + domain, trusted publishers only) and a standing AI-generation disclaimer. Guarded by a per-run budget reserve and a kill-switch; the one-time backfill of existing pages follows separately.
Opus temperature gate
Fixed a 400 that broke buzz discovery — Opus 4.x rejects temperature when thinking is disabled. A model-aware guard now omits the parameter only for that exact combination; every other Claude surface keeps its temperature setting unchanged.
Opus 4.8 everywhere
Every Claude-powered surface upgraded from Opus 4.7 to Opus 4.8. Intelligence default, weekly report, whale dossier, model + provider enrichment, buzz synthesis and the Tier-2 review agent now run Opus 4.8, with 4.7 kept as automatic fallback. Intelligence also gains a new Opus 4.8 Fast option for quicker, cheaper runs.
Catalog cleanup
Dropped grok-41-fast from the Intelligence selector and editorial picks — Venice retired it and no current Grok fits the same cheap+fast slot.
Cheaper news discovery
Web-search news discovery moved to Qwen 3.5-9B — ~18× cheaper than the Grok it was using, same coverage. Buzz scorer stays on Grok (its scoring is calibrated and a swap would need re-tuning).
Self-healing model roles
Workers now survive Venice rotating models out of the catalog. New MODEL_ROLES registry with ordered fallback chains; dead models get skipped automatically.
Fast-path model enrichment
A brand-new model now reaches a fully-populated detail page in minutes instead of up to ~14h. Enrichment crons were tightened (enrich-venice-models every 15 min, enrich-about every 30 min, bios + logos every 2h) and enrich-venice-models now chain-triggers about + bio synthesis for ONLY the brand-new ids and orgs surfaced that tick, so a fresh model jumps the queue instead of waiting for the next scheduled run.
Provider attribution: rescue ~20 unattributed models
Model detail pages that previously said "No provider metadata" now show their proper org, logo and bio. The enrichment provider-pattern map was extended for prefixes the Venice catalog has added since launch — Phala TEE variants (e2ee-qwen-, e2ee-gemma-) whose modelSource points to redpill.ai instead of HuggingFace, the new tts-/stt- voice families across xAI/MiniMax/Google/Inworld AI/Resemble AI/ElevenLabs, OpenAI v3 embeddings, HF-style ids (openai/whisper, elevenlabs/scribe), the Runway Gen4 family, plus six new providers wired in: Runway, Inception Labs (Mercury), Aion Labs, Stability Audio, fal.ai, Inworld AI, Resemble AI. Six models still need provenance research and stay unattributed for now — four Happyhorse-1.0 variants, MMAudio-v2, and the generic upscaler.
Author chart: auto-fallback for newcomer profiles
Author profile chart now appears for everyone, not just authors with ≥3 months of history. The page tries monthly → weekly → daily and opens with the coarsest granularity that gathers ≥3 buckets, so newcomers like @blknoiz06 (1 month of activity) and @YanLiberman (1 week) still get a meaningful trajectory chart on first visit instead of an empty slot. A small "auto · weekly" badge next to the granularity pills explains the non-default choice and disappears the moment the user toggles manually.
Author pages: sitemap, OG sharing, bookmark preservation
Author profile pages are now in the sitemap and have dynamic OG images so search engines index them and sharing a profile on X or Discord renders a proper preview (avatar, name, bio, key stats). Internally, refresh-buzz-metrics was patched to stop wiping bookmark counts back to 0 when X stops exposing them ~30 days after posting — preserved values now accumulate forward.
Author profile pages on Buzz
Click any consolidated author on the Buzz Top Authors list and land on a dedicated page. Twitter-style header (avatar, bio, follower count, view-on-X), 6 KPI tiles (posts/views/likes/RTs/bookmarks/best-post), a time chart with granularity toggle (monthly/weekly/daily — empty buckets included so writing gaps stay visible), and Top + Recent post lists in paginated tabs. Eligibility: ≥3 published Venice posts AND ≥5000 views.
Each profile page also shows the author's Buzz Score for 30d / 90d / 6m / 1y / all-time, with rank vs every other Venice author in the same window. A small classification card narrates the trajectory at a glance — On fire / Climbing / OG quieter / Steady star / New face / Cooling / Quiet recently / Active voice.
X Articles admin backoffice + Venice budget resilience
New /admin/x-articles page lets operators audit the long-form Articles pipeline — last run + history, costs by operation and caller, captured Articles with the LLM gate's verdict + reason + confidence, and the curated authors list.
Operators can now manually add X handles to the sweep list, bypassing the auto threshold — useful for known analysts whose Articles matter before they accumulate enough indexed tweets. Banned still beats manual.
One-click "Backfill 180d" button on manual authors runs a solo sweep over the last 180 days of that handle, catching Articles older than the daily 3-day window. Fire-and-forget; result lands in the Pulse history.
When the API key's daily/monthly budget runs out, the scanner now aborts cleanly with an ops alert — DIEM+USD pre-flight check + graceful 402 handling. Next cron retries when budget is back, no hammering in between.
X Articles in Buzz
The Buzz tracker now captures long-form X Articles — posts that keyword search never saw, because the wrapper tweet is just a link. A daily scanner reads them and an automatic relevance check decides what belongs; they show up in the feed and leaderboard like any other post.
Buzz: metrics refresh + @tryvenice + Top Authors fix
Engagement counts on Buzz tweets now stay current — view/like/retweet numbers refresh over each post's first 30 days, instead of freezing at first scan. One-time backfill covered all 21.5k existing tweets.
Buzz scanner now queries @tryvenice alongside @askvenice. Backfill recovered ~6k pre-token tweets from May 2024 → Jan 2025.
Columns no longer shift left when an avatar fails to load — a fallback placeholder keeps the row geometry stable.
/chip-in + /statuto — public launch
New page with a treasury address for anyone who wants to support VeniceStats independently (any EVM network, USDC welcome). Linked from nav, footer, and /about.
New principles charter — what VeniceStats is, what it isn't, what's promised. Same discovery surfaces as /chip-in.
venice-models polish + "New on Venice" homepage strip
Default view switched to list/table (mobile keeps the card grid); filter bar made sticky on desktop with per-type pills doubling as jump-nav. Dropped a dead 5-KPI tile row.
New section under "Explore VeniceStats" with the 6 newest Venice models cross-type — horizontal scroll on mobile, each card links to its /venice-models/[id] page.
Revenue simulator default now reflects observed mix
Found and corrected a bug where /api/simulate-revenue defaulted to the 70/22/8 standard preset, inflating WASV and downstream MRR/ARR by ~2× whenever the endpoint was queried without an explicit tier mix. Default is now the 30-day empirical mix (response includes a wasvSource field for transparency); presets remain available for what-if scenarios. MCP venicestats_simulate_revenue (npm @venicestats/[email protected]) updated to match.
Tier classification fix on Pro Sub burns
Found and corrected a bug where Pro Sub tier counts on /burns were drifting once VVV crossed ~$13 in early May — some recent Pro+ signups had been counted as Pro and a few Max as Pro+. Impact was minor (~78 rows out of 15,400 since the 2026-04-26 flip); historical counts now restored and the classifier is self-correcting against any future VVV price action.
Log scale toggle on price charts
Lin / Log toggle next to the period pills on the VVV and DIEM price charts (homepage + /markets/[token]). Default linear, log mode is great for the all-time view where DIEM ran ~$1 → $1,500. Picks up on user feedback from /feedback #9.
Burns charts polish + tier palette refresh
Organic Burns now stack Discretionary + Pro Sub buybacks so monthly totals match what Venice's token dashboard reports (Apr ~$147K, May ~$159K). Fire-themed gradients (red base → amber tip) propagated to all buy-and-burn charts; refined silver/blue/gold palette on Tier Mix + Daily Revenue with the disappearing-Max-slice pie chart fixed.
Organic Burns: monthly bars in long views
/ and /burns Organic Burns charts revert to one bar per calendar month in 1Y/ALL (Jan→year, Feb/Mar… 3-letter), restoring the chunky monthly look. Aggregated and Pro Sub burn charts unchanged.
Copy + prompt audit
Stale numerical claims swept across educational pages and LLM prompts. /what-is-vvv, /what-is-diem, /diem, /glossary, /faq now read live values from /api/metrics or are explicitly date-anchored. /what-is-vvv staking ratio re-aligned with /staking + /tokenomics (~70%, was ~41% via a different denominator). Intelligence + weekly-report prompts cleaned of stale anchors and gained a VVV/DIEM equilibrium framing.
Emissions copy auto-updates with the schedule
Pages mentioning the VVV emission rate now derive the copy from a date-driven helper (cuts at May 1 / Jun 1 / Jul 1), so the text auto-corrects on each threshold without a redeploy. Fixed two stale ~6M references on /compare/vvv-vs-tao and /staking.
/burns: Pro Sub legend label
Legend on the combined Burns chart now reads $2/$5/$10 per tier instead of the stale $1/new sub (mechanism became tier-aware on 2026-04-26).
Weekly report pipeline rewrite
Replaced web-search recon with buzz-feed + Sonnet filter pass; added subBurnsDaily / subRevenueDaily / emissionsTimeline charts; preview mode for safe iteration. Sunday cron now runs end-to-end with no manual chart patching.
Free Float metric (DIEM + VVV)
New section on /diem plotting DIEM not yet staked, computed as (supply − staked) / supply. Chart Y axis zooms in on 24h–90d and anchors at 0 on 1y/ALL — current ~22%, down from 100% in Aug '25.
New section on /tokenomics between Staking and DIEM Economics, computed as (circulating − staked) / circulating over canonical circulating supply. Snapshot also decomposes total into Burned / Staked / Vesting / Free — current ~31%, down from ~97% in Jan '25.
New tool in @venicestats/[email protected] (26 total) returning current Free Float for VVV and/or DIEM with full supply decomposition. Powers Intelligence + Claude Desktop queries like "what's VVV free float now?" or "compare DIEM vs VVV scarcity".
Wallet topic + estimator polish + MCP custom mix
The "🧠 Explore in Intelligence" button on /wallet/[address] now opens the curated 3-card Wallet topic with the address pre-bound to each prompt (Full Position Analysis / Trading History / Strategy Assessment), instead of a single hardcoded auto-start.
Pro/Pro+/Max sliders in the /burns Subscription Revenue Estimator now display percentages at 2 decimals (e.g. 76.43% instead of 76.4%) with step 0.01% so long-tail tiers are editable at the right precision.
venicestats_simulate_revenue (npm @venicestats/[email protected]) now accepts a comma-separated mix "pro,plus,max" on top of the named presets — chain burn_stats_by_tier → simulator with the empirical mix instead of falling back to standard.
Emissions reduction coverage + Grok 4.3 + tokenomics layout polish
New step chart in Staking Economics combining real history (since Jan 2025) with the announced forecast (4M Jun 1, 3M Jul 1). Solid line is real data from staking_snapshots; dashed line is the scheduled extension that disappears automatically as the worker picks up future on-chain cuts.
True cumulative running totals — the curve now only ever rises. Default series sums organic (discretionary) + programmatic (Pro Sub) burns; one-time spikes (airdrop sweep + team burn) hidden by default. Toggle "Show one-time" stacks them on top.
5 sections in /tokenomics now show 4 cards/row instead of 3. Chart pairs sit side-by-side in desktop; Staking Economics charts now sit above the callout (cards → visualisations → narrative). Callouts properly spaced from cards above. New cols prop on CardGrid with responsive step-down for tablet/mobile.
Venice cut VVV emissions to 5M/yr (May 1), on a staged path to 3M by July — targeting net deflationary. Schedule reflected across educational pages, plus a new timeline visual on /tokenomics and an Intelligence prompt that projects the deflationary tipping point.
xAI's new flagship landed on Venice. Drop-in replacement: cheaper (in $1.42/M, out $2.83/M — ~3× cheaper output vs 4.20), same capabilities (FC, vision, reasoning, xSearch). Smaller context (1M vs 2M).
Pro/Pro+/Max percentages on the /burns Tier Mix Snapshot now show 2 decimal places (e.g. Max=0.34% instead of 0.3%). Long-tail tiers were too coarse at 1 decimal.
Reverse Revenue rethink + model bumps + feedback CTA
Discretionary burn now drives the inference layer instead of hardcoded ranges. Programmatic burn captures ~11% of new-sub first-month billing (HARD bridge); discretionary, "tied to revenue surplus" per Venice ops, scales as fraction X of OTHER revenue (renewals + API + Enterprise). Sweep X ∈ {15%, 8%, 3%} brackets the bound on top of the active-sub Floor for Total ARR.
Kimi K2.5 → K2.6 (in $0.85/M, out $4.66/M). GPT-5.4 → 5.5 (in $6.25/M, out $37.5/M, ~2× vs 5.4 — note revised to "premium pricing").
Footer now links to /feedback (Community column) and the page itself has a prominent "Send Feedback" CTA. Closes the loop — published feedback was previously only reachable via the floating pill or direct URL.
Intelligence overhaul
New models topic (6 prompts). Burns topic expanded to 7; treasury to 5. Welcome screen redesigned for desktop — 3-column grid + new "What's New on Venice" essential. Plus chart fix (today's bar projects through UTC midnight) and Intelligence baseline-metrics fix.
Public feedback board
Site feedback turns into a real two-way channel. New /feedback public board with curated user submissions + multi-stage Gekko follow-ups; Telegram + email alerts on every new submission; opt-in identity (anonymous / initials / SIWE-verified wallet) with ENS resolution and size-tier badge; permalinks, OG cards, and RSS for sharing.
Every new submission fires a Telegram alert + personal email backup. No more write-only submissions piling up unseen.
Curated user submissions render at /feedback with a multi-stage Gekko follow-up timeline. Threads support iterative updates ("acknowledged" → "shipped in vX") and sort by most recently updated so active threads float up. Each thread gets /feedback/[id] permalink, auto-generated OG card for X/Discord shares, and the whole feed is mirrored at /feedback/rss.xml.
Submissions can attach an identity — Anonymous, Initials, or a SIWE-verified wallet. Wallet identities show ENS name when available plus a size-tier badge (🐉 Leviathan, 🐋 Whale, etc) derived from sVVV holdings. Consent to publish is explicit (off by default).
Admin can edit comments before publishing (auto "✏️ Edited for clarity" badge), add unlimited follow-ups, and toggle individual responses public/internal. Internal notes never leak to the public board.
Feedback widget opens directly into the form (no more Rate vs Report split). Suggestion is now first in the type list. Star ratings retired.
Tier-aware Pro Sub burns
Venice flipped programmatic Pro Sub burns to tier-aware on 2026-04-26 16:36 UTC — Pro ($18/mo) → $2 burn, Pro+ ($68/mo) → $5, Max ($200/mo) → $10. VeniceStats catches up across the dashboard, terminal, weekly report, homepage, Intelligence chat, and MCP tools. Mapping confirmed publicly by @askvenice on 2026-04-27.
Pro Sub burns now render per tier — 🔥 Pro (slate), ⚡ Pro+ (cyan), 👑 Max (amber with a gentle glow). The per-minute aggregate and daily-summary banner are retired; every burn shows individually.
New Tier Mix Snapshot (donut + per-tier breakdown + 14-day Buy Pressure forecast) with 7D/30D/All windows. Plus a Daily New-Signup Revenue chart — stacked tier-coloured bars with a Billed / 12mo-cohort toggle.
Subscription Revenue Estimator and the homepage Pro Sub Burns card now derive WASV from the empirical observed mix instead of the Standard preset (70/22/8). Homepage MRR dropped from ~$45K/day → ~$21K/day — same arithmetic, real inputs. Estimator simplified to a single Modeled view with a 📊 Load observed mix button, sub-1% slider precision, and a "↗ Floor estimate" caveat clarifying that pre-launch subscribers (invisible on-chain) push real revenue higher.
Weekly reports now ship a dedicated Subscriptions section when tier data is present — per-tier counts, blended USD/signup, WoW mix shift. Legacy "$1/sub" framing removed throughout.
/api/burns-timeline now sums the tier-deterministic buyback per Pro Sub bucket (was hardcoded 1 burn ≈ $1) — fixes the Aggregated Burn Activity chart's USD math post-flip. MCP gains venicestats_burn_stats_by_tier for empirical mix queries (7d/30d/90d windows); simulate_revenue and discretionary_burn tool descriptions updated to tier-aware framing with an explicit "buyback ≠ % of revenue" guardrail.
Swept every surface that touches Pro Sub burns or revenue framing. Caught a math bug in the Intelligence system prompt (signups/yr mislabelled as USD/yr), the homepage "Revenue Projection" chip propagating the burns-as-%-of-revenue trap, and the new MCP tool missing from the developers page catalogue.
Pro Sub metric relabel
The Pro Sub Burns card on /burns and the homepage now reads "$45K/day new MRR" instead of "$16M/yr ARR". Same figure, honest unit — the formula tracks daily new MRR at current signup pace, not annual recurring revenue.
Intelligence model lookup + reliability
Better answers to "what are the newest models?" plus invisible reliability and cost improvements to AI-backed pages.
Intelligence can now sort the model catalog by recency, not just price. Questions like "what are the newest LLMs?" return the latest additions with the date each was added to Venice.
Hourly check catches model-id changes before they break Intelligence chat. Chat also falls back to a working model if the user's pick goes offline. Prompt caching now active on About-writer, provider bios, Weekly Report, and Whale Dossier — lower cost, same output quality.
Weekly Report accuracy pass
Sharpened prompt grounding and data wiring so weekly reports describe burn tokenomics accurately.
Reports now distinguish subscription count, VVV burned, and USD market value as three separate numbers. Earlier drafts conflated subscription count with VVV destroyed, overstating the tokenomic signal by ~10×.
Hardcoded constants replaced with current portfolio state. Transitions between protocol phases (e.g. Pro Sub launch-week → early-post-launch) no longer produce misleading deltas.
Wallet timeline buy/sell fix
Corrected buy/sell labels on some wallet timeline trades that routed through VVV/DIEM pools.
Wallet timeline: corrected buy/sell labels on some trades that routed through VVV/DIEM pools. Both legs of each swap now reflect the wallet's perspective — e.g. a VVV→DIEM trade correctly shows SELL VVV and BUY DIEM.
Circulating supply methodology
Headline circulating supply now sources Venice's canonical API. Our independent on-chain derivation stays visible as a transparency footnote and matches canonical within 0.4%.
Headline circulating supply now sourced from Venice's official API. The same figure used by CoinGecko, CoinMarketCap, and DeFiLlama. Market cap, staking ratio, and every downstream surface (dashboards, Intelligence, MCP, REST API) propagate the canonical value automatically.
Our on-chain derivation now matches Venice's canonical figure to within 0.4% (~225K of 45.6M VVV). The refined formula subtracts the Team Ops multisig and only the still-locked Sablier portion — vested-but-unclaimed tokens count as circulating, aligning with how Venice itself calculates the number. Historical Staking Ratio chart recomputed end-to-end via one-shot backfill.
A small asterisk on /tokenomics surfaces our in-house derivation. Tooltip and a new FAQ entry explain the delta and methodology. Venice team-controlled wallets (signer EOAs and operational multisigs) now display recognizable labels when they appear on-site.
MCP server v0.5.0 (Buy-and-Burn Economy tools)
External LLM consumers get the v1.14.0 buy-and-burn observability via 3 new MCP tools, plus a /developers page refresh that surfaces the full set.
Buy-and-burn economy callable from any MCP client. venicestats_discretionary_burn (monthly CoW-Swap TWAP cycle state + projection + lifetime stats), venicestats_simulate_revenue (Pro Sub ARR simulator with 5 inputs mirroring the /burns Revenue Estimator), venicestats_burns_timeline (daily/weekly/monthly buckets across both burn channels). Tool count 21 → 24.
New "Buy-and-Burn Economy" group in both MCP Tools catalogue and REST API endpoints. Surfaces the 3 new tools alongside their backing endpoints (/api/discretionary-burn, /api/simulate-revenue, /api/burns-timeline).
All MCP tool counter references consolidated to 24. Previously a mix of 18, 20, 21 depending on the surface (hero copy, SEO meta, OG cards, Twitter card, tab label, stat pills). 8 sites unified in one pass.
Buy-and-burn observability + Intelligence simulation
Buy-and-burn becomes a fully observable two-channel economy, with accurate cost tracking, projections, and a callable revenue simulator shared by the UI and Intelligence. Weekly Report + Whale Dossier narrative quality upgraded.
Discretionary-mode burns now show exact USDC spent per swap. Every fill is backfilled from on-chain receipts. Lifetime $USDC-to-$VVV-burned multiplier computes at ~3.9×.
Buy-and-burn surfaces as two independent channels: monthly-discretionary and programmatic Pro Sub streaming. Dashboards, charts, and prose distinguish each, with lifetime and per-cycle totals per channel.
Buy-and-burn Activity chart extends the current bucket with a faded projection overlay. Daily/weekly extrapolate linearly; monthly blends current-cycle pace to burn day with historical pace for the post-burn remainder.
The /burns Revenue Estimator is now a callable Intelligence tool. Scenarios run bear/base/bull with identical math to the on-page estimator. Two additional tools: current-cycle discretionary lookup, arbitrary-range burns timeline.
Reports ingest the new two-channel signals directly. Weekly includes a projection snapshot, lifetime multiplier, and rolling 7-day per-channel splits. Whale Dossier narrative quality upgraded. Accuracy rules hardened across both pipelines.
Welcome gate retired; homepage routes directly to the dashboard. Terminal feed aggregates per-minute Pro Sub burns into bucket rows by default. /status and /faq updated for new pipelines and tool count.
Venice Models Wiki
Mini wiki for every AI model on Venice.ai. Filterable catalog, per-model deep dives, provider hub pages, and a provider directory — all auto-maintained by background workers and LLM-written bios.
198 models across 9 types, filterable and searchable. Grid or list view, filters by type, capabilities, editorial traits. Typo-tolerant search understands provider aliases. Live video quote pricing for 66 video models. 40 VeniceStats editorial picks.
Deep dive for every model. Feature TLDRs, pricing, context window, LLM-synthesized "About" prose, arXiv research papers, GitHub source links, provider bio preview. Dynamic OG social cards per model.
35 AI labs with dedicated profiles. LLM-synthesized bios, key stats, capability coverage, external links from Wikidata (official site, Wikipedia, X, GitHub, HuggingFace). Schema.org Organization JSON-LD.
Sortable index with squircle logo cards. Sort by model count, alphabetical, or recently added. Multi-tag classification — labs appear in every category they fit (Foundation, LLM, Video, Image, Audio, Embeddings).
New models and providers get fully enriched within 12 hours, zero intervention. Background workers for HuggingFace metadata, Wikidata lookups, LLM bios, and a logo fetcher (Twitter → Wikidata → Clearbit → DDG cascade). Low-confidence Wikipedia mappings go to an AI review queue drained daily.
Venice Models linked from NavBar, footer, and Intelligence. "More" dropdown reorganized into labeled groups (Analytics, Tools, Explore, Info). Mobile menu now 2-column grid. Dynamic OG image for the catalog page with live model/provider counts.
Smart truncation across all 21 tools. Per-tool row limits with aggregate stats preserved. Derived tool/model counts (no more hardcoded). Fixed OG image sizing. Share links now pre-warm the OG endpoint for instant previews.
Burn USD now matches the burns chart exactly. Each monthly burn priced at the VVV rate at burn time, not month-start. Synthesis safety fixes prevent the LLM from referencing its own prior drafts.
All 21 MCP tools documented. Added missing venicestats_token_benchmarks tool. Fixed stale tool-count labels.
/changelog cinematic hero + SEO. Revenue Estimator defaults to annualized view with MoM delta. DIEM price charts toggle between USD and VVV denomination.
Market Data + Cross-Token Intelligence
Cross-token reasoning lands in Intelligence. A 64-token AI/DePIN catalog with deep price history back to 2013, four new tools, and MCP v0.4.0 reaching full parity with the on-site chat.
Curated metadata for every comparison. Each token tagged with chain, launch year, category, description, and a one-line key fact. Categories: macro benchmarks, AI inference & training, AI agents, DePIN infrastructure, decentralized compute & GPU.
93,280 historical price rows. CoinGecko 365-day window for all 64 tokens, layered with DeFiLlama deep history reaching back to each token's first listing. BTC since 2013-04-28, ETH since 2015-08-07.
Cross-token reasoning unlocked. get_token_benchmarks (point-in-time comparison across the catalog), get_venice_models (live Venice.ai model catalog), get_price (lightweight current-price lookup), get_staking (Venice staking summary).
21 tools, both surfaces. The MCP now mirrors Intelligence one-to-one. Published to npm as @venicestats/[email protected]. See /developers.
Zero-touch schema migrations. scripts/deploy.sh now runs prisma db push --skip-generate && prisma generate between npm install and pm2 stop. Safe by default — destructive changes abort instead of silently destroying production data.
Complex queries no longer cut off mid-narrative. When Intelligence hits the maximum tool-call rounds, it now performs a final synthesis call (no tools) so the answer is always presented as prose, never as a dangling "Now let me also fetch...".
Platform Integration + Data Accuracy
Intelligence becomes reachable from across the site — pills on eight pages, homepage Platform section, dedicated nav link. Same week shipped two data accuracy fixes for Total Staked and staker APR.
Intelligence is now reachable from where you already are. Pills added to pages where the contextual question is obvious. Nav reorganized, footer sitemap updated, FAQ refreshed with live metrics.
Corrected to use sVVV total supply. Previously totalStaked was derived via VVV.balanceOf(sVVV), which subtly diverged from Venice.ai's official number. Backfilled 1,868 historical snapshots and recalculated 18,929 staking ratios.
Now matches Venice.ai's published APR. The locked emissions APR previously didn't account for the 20% protocol cut on locked rewards. Fixed — VeniceStats and Venice.ai now show the same number to within 0.02%.
$1,096.76, not $1096.76. A small fix that makes large DIEM prices instantly readable.
Cinematic hero with transparent Q/A bubbles. Sharp-rendered JPEG, ~153 KB.
Footer, FAQ, and About now point to the dedicated #venicestats channel.
Intelligence V3 — Power User Edition
Power-user features after V1 settled in: sharing, custom instructions, favorites, export/import, edit messages, mobile-first refinements.
/i/[id] shareable URLs with OG images. Scope selector (single answer / Q&A pair / full thread), view counter, soft delete. Key-only auth supported.
System prompt injection per user. Stored in DB, also synced to localStorage for instant load. Supports any tone, persona, or domain-specific framing.
Star messages, navigate via sidebar. A second sidebar nav showing every starred message, grouped by session.
JSON or Markdown. Round-trip your conversations. Import modal validates JSON structure before applying.
Copy back into the input, edit, resend. Truncates the conversation past the edited point.
Font size, compact mode, wide mode. Three knobs that meaningfully change the reading experience.
Sidebar bottom-tab measurement fix, overflow handling, session actions. The mobile chat now feels first-class.
Intelligence search bar + Developers box on the homepage hero. First time the project's platform layer surfaces above the fold.
?q= auto-sends a prompt on page load. Topic deep-links from anywhere on the site can drop the user straight into an answer.
#6b6b6b in both light and dark themes. A small visual choice that stops the assistant from feeling either too clinical or too colored.
Key-Only Auth + Tools Expansion
Intelligence drops the wallet requirement. Key-only auth ships, four new tools land (8 → 12), MCP server bumps to v0.3.0.
Use with just a Venice API key — no wallet required. Key is encrypted server-side. Honest copy throughout: "encrypted server-side, not browser-only".
get_social, get_vesting, get_buzz_metrics, get_large_swaps. The tool surface now spans almost everything the site itself displays.
A compelling pitch for logged-out users. Subtle filled cards instead of hard borders, VeniceStats branding with accent color, two-line subtitle.
Parity bump, published to npm. Same expanded tool surface available from any MCP client.
+ Intelligence reason in "Why Connect" modal. Lower friction onboarding.
If the connected wallet doesn't match the SIWE session, log out cleanly. Fixes a subtle bug where users could end up authenticated as the wrong identity.
Web search default toggled to "auto".
Wallet tools now return a direct link to the profile page. The chat can deep-link instead of just citing addresses.
Intelligence UX Overhaul
Day-after polish pass. Vision and PDF attachments, model settings for all 176 Venice models, generous timeouts, and a 12-action quick-launcher.
Drop a screenshot or a research paper into the chat. Multimodal queries now work end-to-end.
Pick any Venice model, see its per-query cost. Curated "favorites" list for the most-used models.
Six fixed + six rotating per session. The fixed actions cover the highest-leverage queries; the rotating ones surface variety so the same user sees different ideas across sessions.
Smart default for the highest-quality answers. Users can downgrade if they want speed over depth.
Five-minute hard limit, two-minute streaming idle. Partial content always saved on timeout or error — never lose work.
Attachments and toggles now captured correctly across re-renders. A gnarly React bug that was eating message state.
Per-user, per-tool, per-model. Internal instrumentation so cost and usage stay observable.
Scrapes venice.ai/blog, changelog, and /media. First-party content surfaces alongside the buzz pipeline.
Visual polish along with the multimodal upgrade.
Venice Intelligence V1 + MCP Server
Venice Intelligence (BYOK chat) and the MCP server ship together. Seven tools at launch, accessible from the on-site chat or any MCP-compatible client. The project pivots from website to platform.
BYOK chat with seven tools. Live at /intelligence. Pay for inference with your own Venice API key — no per-query subscription, no markup, no middleman.
API docs, MCP guide, Try It, screenshot carousel. Quick Start sections for Claude Desktop, VS Code, Cursor, and other MCP clients. See /developers.
The first MCP server for any token-tracking analytics platform. Install once, get all the tools available to Intelligence inside your local LLM environment.
Self-aware tool surface. The chat can answer "what Venice models are available right now?" by calling Venice's own model catalog.
External scout (NUC → prod). Lets a remote scanner push articles into the buzz pipeline without crowding the main worker fleet.
Transaction Explorer + Cinematic OG
A trade-detail page that any wallet's history can drop into, plus the OG image refresh that changed how every page looks when shared.
Two-column hierarchy. Hero, trade detail, chart adapted to the trader's actual span instead of fixed periods, role/era/size badges as styled pills, vesting recipient ribbon when applicable.
Bellini-style backgrounds. Every share now has a unique, hand-curated visual that fits the page's theme.
Hybrid aggregate queries + filterable Large Swaps table. Daily volume aggregates worker, filterable large-swaps endpoint, period/token/min filters with race-condition protection.
Show 1inch, Banana Gun, Odos, and others by their actual brand mark. Plus a generic 🧩 RFQ icon for unrecognized aggregators.
Logos, avatars, timestamps, tooltips. Bottts-Neutral robot avatar matching the rest of the site.
Clickable price cards, navbar reorder. Every market view becomes shareable.
Grok multi-shot + Opus synthesis. Deeper article discovery for the buzz feed, with Opus picking the strongest candidates.
Programmatic access to social snapshots and per-author buzz feeds.
Insider Flow + Whale Dossier
Vesting recipients now get cross-referenced against the RFQ trade history from v1.4.0. A unified Insider Flow dashboard pulls together buys, sells, retention, and behavioral signatures into four tabs. The Whale Dossier pipeline detects unusual activity, runs it through Claude, and publishes a weekly report with a Renaissance hero image.
Initial tabbed layout (Streams / Recipients / Insider Trades). Sortable filtered trade feed with period and side filters.
Four tabs: Flow, Who, Trades, Streams. KPI cards with InfoTip tooltips, weekly buy/sell chart with VVV price overlay, retention bars, behavior badges, AbortController race protection on filter changes.
A dedicated route for the same dashboard. Direct shareable URL for insider analysis.
New "Trading (30d)" column with net flow + trade count. Plus swaps in the activity feed.
Data compiler now feeds net flow, sell pressure, and top sellers to Opus. The weekly report can incorporate insider behavior into its narrative analysis.
Detect → enrich → Opus → hero image → publish. Per-week dossier on the most consequential whale activity, generated through Venice inference end-to-end.
NOT EXISTS filter in /api/wallet-events. Removes duplicate vvv ↔ staking/vesting entries from the unified wallet feed.
Realtime listener now detects finalize (amount matches a prior unstake) instead of always labeling as "claim".
RFQ Detection + AMM Coverage
Aggregator-routed trades — previously invisible to most explorers because they show up as transfers, not swaps — get reconciled with proper attribution and pricing. Roughly 44,000 trades and $32.5M in volume become visible overnight. Same week, two missed AMM (V2) pools get picked up via a dual event ingest.
Dual event ingest for two missing pools. Brings the pool ingest coverage to all known VVV/DIEM venues.
WebSocket and polling modes both detect V2 events.
Validates contracts, events, and data flow end-to-end. Run before any pool config change.
10x speedup over chunked approach. Weighted concurrency for ENS and address resolution.
Bull/bear emoji on the pressure label. Quick-glance directional read on whether traders are net buyers or sellers.
44,000+ trades reconciled with accurate pricing. Aggregator-routed buys and sells now show up in /markets, /vesting, /tx, and the realtime terminal — with proper buy/sell attribution.
🐋🔓 marker. Whales who are also vesting recipients get flagged inline.
Markets Page
A dedicated page for VVV and DIEM trading intelligence. KPIs, charts, large swap table, terminal skin gallery — the trading view consolidated into one home.
Trading intelligence for VVV & DIEM. Live at /markets.
Price, volume, swaps, traders, buy pressure. Each card has its own period change and tooltip.
Two panels: price + volume. Volume compressed to bottom 20%, dashed divider, homepage granularity.
Green accent, trading subtitle. A distinct visual for the trading section.
Preview gating removed. All seven skins now selectable: Default, Clean, ZX Spectrum, Cyberpunk, Arcade, Renaissance, plus extras. Originally three new ones (Cyberpunk, Arcade, Renaissance) were added the same day.
Swap metrics one-liner under the price charts. Quick dashboard glance for active traders.
Tunable parallelism for the resolver worker. Faster ENS and address resolution under load.
Auto stress test before launch. Self-checks before the night's heavy ingest cycle.
Explainers, Polish, Data Accuracy
A grab-bag week. Three new plain-language explainer pages for the most-asked questions, five peer comparison pages, an admin sidebar redesign, full aggregator logo coverage in the Markets and Terminal views, and a handful of data accuracy fixes — including small DIEM events that used to fall below the dust threshold.
Plain-language definitions of every Venice and VeniceStats term. Live at /glossary.
The VVV token explained in narrative form. A from-zero introduction for new visitors. Live at /what-is-vvv.
The DIEM token explained from first principles. Mint mechanics, burn dynamics, valuation models. Live at /what-is-diem.
VVV versus Render Network. Side-by-side on the dimensions investors actually compare on: market cap, supply dynamics, revenue model.
VVV versus Bittensor. The other major decentralized AI play.
VVV versus Fetch.ai. AI agents framing.
Venice.ai versus ChatGPT. Privacy, control, model choice, BYOK pricing.
Venice.ai versus Perplexity. Search and research framing.
Internal scanner control panel. Run hybrid, gnews, youtube, or validate scanners on demand.
Weekly whale dossier reports get a permanent URL.
1inch, Matcha, CoW, Paraswap, Banana Gun, Odos, Harvest Finance, and more. Every aggregator-routed swap now shows its actual brand mark in the Markets and Terminal views.
Show the actual trader instead of the router contract. Aggregator swaps now attribute back to the wallet that initiated them, not the contract that executed them. Cleaner attribution everywhere swaps are surfaced.
Grouped navigation (Ops / Content / Community), collapsible on desktop, mobile drawer. A long-overdue cleanup of the admin nav as the admin surface kept growing.
Full-viewport overlay above public chrome, scroll behavior, prevent desktop-flash on mobile load. The admin panel finally feels first-class on mobile.
Every mint and stake matters. Small DIEM events that used to be filtered out as noise now show up correctly in the event log.
Tenth pool tracked for swap ingestion. Aggregator threshold lowered from 1 VVV to 0.1 VVV at the same time.
Independent health thresholds for swaps (5m) vs transfers (15m). Catches stalls before they propagate downstream.
False positives fixed. The bot detection was tagging legitimate arbitrage and order-splitting wallets as bots. Disabled until the heuristic gets reworked.
Real-Time Terminal
A real-time on-chain control room shipped the day after launch. Streams every relevant Venice event live — swaps, burns, stakes, transfers — across two columns with live price ticking. PublicNode WebSockets handle Base chain at zero cost.
Streams every relevant on-chain Venice event live. 2-column layout, catchup replay, buy/sell coloring, whale emoji on large prints. Live at /terminal.
All on-chain events in one stream. Built on PublicNode for Base chain — reliable and free.
24h change + volume + dedup'd transfers. Live VVV/DIEM ticker at the top of the page.
setValueAtTime before ramp, interrupted state, clock scheduling. Sounds work cleanly across browsers now.
Retro 8-bit loading tone on every Terminal load.
Unified feed, compact top bar, NavBar fix. First-class mobile view from day one.
Themes, layout, dual VVV/DIEM rows, compaction. Gradual refinement across the day.
Joiners see the recent past animate in. No more dropping into a blank live feed.
OG tags, canonical URLs, JSON-LD structured data, optimized titles. Sharing any page now produces a clean preview, and the underlying markup is properly structured.
Matching the mobile menu style. Visual consistency across viewports.
Public Launch
The beta gate comes down after several weeks of closed testing. Site fully open, landing page glass card hero, visitor TG alerts, Discord announcement.
Site fully open. Cookie check no longer blocks the homepage.
"Enter the Republic" → /welcome → dashboard. First impressions for new visitors.
Country flag + city + daily/total counts. Real-time visibility into who's discovering the site.
All / Digest / Off. Triage the alert volume from the admin panel.
Let returning users bypass the wizard.
736 KB → 223 KB. Cuts landing page load weight by 70%.
Only trusted sources auto-publish videos and articles. Cleaner buzz feed from day one of public launch.
Warm amber ribbon. Identifies vesting recipients at a glance on /wallet/[address].
Better signal for monthly trends. Unstaking wave stays at 7d because it's a tactical view.
Pre-Launch Polish
The buzz pipeline got serious. Spam filtering tightened, dedup hardened, media hub backfilled, page metadata cleaned up. The week before launch was about removing every rough edge a first-time visitor would notice.
Author-level moderation for the buzz feed. Block bad actors at the source.
With X API as fallback. Roughly 50× cheaper than the X API alone, with auto-fallback when SocialData rate-limits.
Schema columns + backfill script. Engagement metrics for the buzz dashboard.
Without requiring "venice" in the same tweet. Broader buzz coverage.
Centralized keyword + city gate for all scanners. Single source of truth for what's relevant.
170 trusted channels + dedup fix. Whitelist for auto-publish, manual review for everything else, hard dedup at the URL level.
Airdrop scams, hype clickbait ("100X GEM!!"), "make money" patterns. The buzz feed stops surfacing obvious noise.
Normalized URL hashing. Prevents the same article from appearing under different scanners.
250 authors / 25 per page. Browseable author leaderboard.
YouTube API + Grok article discovery. Backfilled the media hub with the previous several months of Venice coverage.
Buzz, Media, Whale Dossier (initial)
Three new public surfaces for community signal: a buzz feed, a media hub, and an early version of the whale dossier. The X content pipeline got a credit tracker so cost stays visible.
Tweets, articles, and videos about Venice in one feed. Live at /buzz.
First version of the whale dossier UI. Manual scaffolding before the full pipeline lands in v1.5.0.
Videos and articles, curated. Live at /media.
First public X account presence.
Every generated tweet credits the project.
Improved type detection for non-article media.
Catches JSON-LD in <body>, rejects old articles. Stale content gets filtered out.
Insights + X Content Pipeline
The first touches of the project's social and content layer. An insights publishing workflow. A Telegram bot that lets the operator approve beta signups in one tap. Five X content generators wired into a scheduler with a credit tracker.
Experimental research feed. Pipeline transparency, publishable workflow. Live at /insights.
Ops alerts + polling + admin controls.
Approve a waitlist entry directly from a TG message.
Credit dashboard, draft queue, type filters, scheduling.
Daily Pulse, Alpha Nugget (MWF), Venetian Spotlight (TuTh), Whale Watch, Weekly Wrap (Mon). Each generator produces approval-gated drafts.
Cron-based draft generation + TG approval flow. Drafts queued, operator approves or skips, scheduler publishes.
Internal balance tracking ($0.01/tweet), low-balance ops alerts.
Dedicated 6:00 AM cron, decoupled from census completion. Portrait healing no longer waits on the daily holders refresh.
Admin can preview archived weekly report versions. Reproducible report history.
Weekly AI Report + Mission Control
The project starts using Venice for itself. A 2-stage pipeline (Grok recon → Opus analysis) ships a weekly report with a Renaissance hero image, all generated through Venice inference and paid in DIEM. A Venice-built tool, paying Venice for art, writing about Venice.
Grok recon → Opus analysis. Both run on Venice inference. Hero image generated through Venice's image API.
/report/[weekId] with live charts. Each week gets a permanent URL.
Full editorial dashboard. Manual generation, version archiving, curator notes.
Real-time operations console for report generation. Live progress streaming from every pipeline stage.
Long-running generation no longer blocks the admin UI.
Generated through Venice's image API. Each week gets a unique cinematic header.
Decimal timer + progress bar + report version archive. Sharing a report on social media now shows the right preview.
Settings + Identity Persistence
User accounts and API key vault. First major shift in venetian identity computation: from computed-on-demand to persisted-in-DB. Faster, cheaper, more consistent.
Reusable Skeleton.tsx + shimmer CSS. Loading states stop feeling janky.
API endpoints read from DB instead of triggering multicall. Roughly 10× faster wallet lookups for tracked addresses.
Profile, API key vault, portrait preferences, danger zone. Live at /settings.
Census computes, APIs read. A conceptual shift from on-demand to materialized.
Faster access to user preferences from anywhere.
Rich table with rank, role, portraits, exposure, sorting, unfollow. A first-class community-tracking surface.
10 events in a 2-column layout. See what the people you follow are doing on-chain.
7,500 wallets/day with auto-pause on errors + admin report. Configurable rolling census.
withdraw → claim / finalize. Cleaner taxonomy for the wallet timeline.
Vesting claims now appear in the wallet timeline alongside staking events.
The Republic Documented
Every important corner of the Venice protocol gets its own dedicated page. Vesting, treasury, airdrop, tokenomics, about, FAQ, watchlist — seven pages over a single week.
Sablier streams tracker. Visualizes every active vesting stream from the Venice team and investors — who's unlocking, how much, when. Cumulative cliff release schedule chart, sortable recipients table, individual stream detail. Live at /vesting.
Flow visualization. Pie chart of Venice treasury allocation, area chart of historical balance changes, transparency grade scorecard with a 3×3 grid of dimensions. Live at /treasury.
6-section analytics dashboard. KPIs (total claimed, recipients, distribution), distribution pie, claim timeline, retention bar, sortable recipients table with filters, loyalist spotlight grid showing the most-engaged recipient portraits. Live at /airdrop.
Eight-section narrative. Supply hero, genesis allocation, staking dynamics, DIEM mechanics, burns, vesting, net inflation pressure, and takeaways. The full economic story of Venice end-to-end. Live at /tokenomics.
Community portfolio tracking. Follow other wallets, see their activity feed, watch their VVV/DIEM positions evolve. Reworked into a full table view a few days later (see v0.6.0). Live at /watchlist.
The story behind the project. Hero background, rewritten copy, highlight cards, an expanded "what we track" section, and a small FAQ at the bottom. Live at /about.
Twelve questions, four sections. Covers everything from "what is VVV?" to "which wallets are tracked?" to "how does the cooldown work?". Live at /faq.
Closed Beta Infrastructure
Infrastructure for testing with real users without going public. Waitlist, invite-code redemption, onboarding wizard, admin panel, Resend email integration.
Invite code redemption. Logged-out users without a beta cookie land here.
Five steps, hero Illuminati layout, scoring explainer. Walks new users through the tier system, badges, and what they're looking at. Live at /welcome.
Waitlist management dashboard. Approve, generate invite codes, send invite emails.
Tabs: Reports + Reviews with averages. Centralized view of every bug report and 4-dimension star review.
System status for VeniceStats itself. Worker health, ingestion lag, API response times.
Welcome + invite emails. Verified domain via SPF + DKIM through Cloudflare.
Cookie-based beta gating, server-side validation. Middleware enforces the gate site-wide.
Three new tables wiring up the closed-beta flow.
Rate (4-dimension star reviews) + Report (bugs/suggestions). Two distinct surfaces, one consolidated admin view.
Venetian Identity
A gamification layer for VVV holders: three intersecting tier dimensions (role × era × size, ~100 combinations), fifteen badges, and AI-generated Renaissance portraits paid in DIEM. Deliberately complex — partly a tribute to Venice the city, partly a stress test of what Claude Code could handle.
The republic. A leaderboard organized by tier, portrait grid, role distribution, and the Council of Ten (top 25 sVVV holders). Live at /venetians.
Three intersecting dimensions: role × era × size. Twelve size bands from Plankton to Leviathan. Roles from Gondolier to Illuminati. Eras from Newcomer to Founding. Every wallet ends up with a unique combination — there is no second of you.
Behavioral signatures, not granted. Patron, Loyalist, Arbitrageur, Compounder, and others — each earned through specific on-chain activity patterns.
AI-generated, paid in DIEM. Each wallet receives a unique Renaissance-style portrait via Venice's image API. The DIEM cost is paid by the project itself, closing a meta-loop: a Venice-built tool, paying Venice for art, to render the holders of Venice's token.
Admin scaffold. Auth (scrypt password), overview dashboard, portrait queue manager.
Background generation pipeline. New holders get queued automatically; high-priority slots can be filled on demand.
First Sections
The first dashboard pages start landing. Burns, staking, DIEM, calculator, wallet pages — all shipped over a three-day sprint. ENS resolution, wallet connect, mobile responsiveness, dark/light mode. The first time the project starts to look like a real site.
Six layouts tested, "Dense" picked as default. Revenue speculation UI, key metrics above the fold.
Burns page. KPIs, chart, breakdown, full event log. Historical burn revenue calculation. Live at /burns.
Staking page. KPIs, charts, leaderboard, individual wallet lookup. Live at /staking.
DIEM page. KPIs, charts, explainer, event log. Mint rate toggles. Live at /diem.
Four tabs: I Have VVV, Buy, My Position, DIEM Valuation. Personal scenario modeling with on-chain data backing each calculation. Live at /calculator.
Full wallet identity page. Chronicle, radar, exposure dashboard, vesting recipient ribbon, portrait. The deepest single-page view in the project.
Worker + cache + API + UI. Every address with an ENS gets resolved and displayed by name.
MetaMask, Rabby, and any injected EIP-1193 wallet. SIWE comes later (v0.6.0).
Switched from API calls to npm package for client-side SVG generation. Faster, no rate limits.
claimed_rewards column on wallet_positions. Leaderboard now shows claimed totals.
Mint economics, cohorts, minter badges. First analytics layer above the raw event ingest.
Responsive tables, nav, cards, layouts. First-class mobile from day one.
Behavioral signal in the staking leaderboard.
Share cards with portraits + sparklines + cityscape backgrounds.
Self-healing ingestion verification. First step toward production-grade reliability.
Foundation
The serious rebuild begins. Stack picked (Next.js + TypeScript + Prisma + PostgreSQL + Tailwind + pm2). Schema written. Workers scaffolded. RPC client wired up. The first real commit lands after weeks of Claude Code experimentation through November and December.
create-next-app with TypeScript, Tailwind, App Router. The bones.
The mega-commit. Database schema, viem RPC client for Base mainnet, 9 worker scaffolds, 6 API endpoints, 3-tier price system (ETH/USD → VVV/WETH → VVV/DIEM), historical backfill scripts. Everything needed to start ingesting Venice events.
The Personal Era
Personal scripts in August 2025: VVV staking, DIEM mint rate, VVV/USD price. Local files, no schema, no public surface — just rough tooling for understanding a position.
November 2025 brought two parallel threads. Venice activated its on-chain buy-and-burn programme, and there was suddenly much more to measure. Around the same time, the first Claude Code experiments started — refactoring the personal scripts and prototyping ideas that had been on the back burner.
By mid-January 2026, the personal-script setup had clearly outgrown itself. Time for a real stack: persistent storage, scheduled workers, public site, the kind of data hygiene that lets you trust the numbers six months later. The first git commit landed on January 24, 2026.