# NetNet Intel > Independent, on-chain intelligence for NetNet ($NET) on Robinhood Chain (chain ID 4663): the treasury, NAV (core and incl. the RWA sleeve), supply, holders and whale moves, bonds and credit, read straight from the chain, with every on-chain figure's exact contract call published and a live verifier; plus a model and live race for NetNet's weekly Treasury prediction market, and Shift Run, a points-only arcade. Fan-made: not affiliated with NetNet Capital. Read-only analysis, not financial advice. The site is a single-page app: its pages need JavaScript. For data, use the JSON read API or the MCP server below. All figures come from public chain reads unless a field says otherwise; each response carries the chain `block` and `asOf` time it was read at. Official figures: NetNet Capital's own app at https://app.netnet.capital. ## Verify, don't trust Every figure that is a direct chain read can be checked independently: - [Sources](https://netnetintel.com/api/v1/sources): the contract registry and, for every verifiable figure, the exact `eth_call` (address, function, 4-byte selector, decimals), its formula and a ready `curl` against the chain's public RPC (https://rpc.mainnet.chain.robinhood.com, no key). - [Verify](https://netnetintel.com/api/v1/verify?figures=nav_core,rfv,supply): NetNet Intel re-reads the named figures (or all of them) from the public RPC, independent of the provider the site reads with, at the block they were served from, and reports `exact`, `match` (within a stated tolerance) or `mismatch`, with the raw results. The public node keeps about the last thousand blocks of state; older blocks are re-checked at the chain head. - [Verify in your browser](https://netnetintel.com/verify.html): the same check run by a person's own browser straight against the public RPC; `/api/v1/verify?local=1` returns only the served values and calls, for verifiers that run elsewhere. The public node rate-limits shared server addresses: when it refuses NetNet Intel's edge server, the same calls go to the same public node from NetNet Intel's backend; if that is refused too, they are re-read at the same block from the site's archive provider and the report says `independent: false`. `checkedBy` always says which path answered. For a fully independent check, use /verify.html or run the calls yourself. - Figure ids: `nav_core`, `nav_core_check`, `rfv`, `rfv_liquid_usdg`, `rfv_morpho_counted`, `rfv_pol`, `supply`, `price_twap`, `premium_core`, `staked`, `staked_share`, `dividend_index`, `sleeve_wallet`. - To check by hand: run each call at the response's `block` (or `latest`), take the first 32-byte word as an unsigned integer ÷ 10^decimals, apply the formula. - Calculated figures (NAV incl. the RWA sleeve, the model's odds) are labelled as such, with their inputs listed part by part. Whale moves carry their transaction hash: check them in the receipt's Transfer logs on https://robin.etherscan.io. - [Methodology in full](https://netnetintel.com/llms-full.txt) ## Read API (JSON, GET, no key, any origin) About 120 requests a minute per IP (20 for `/verify`); a 429 carries `retry-after`. - [API index](https://netnetintel.com/api/v1) · [OpenAPI spec](https://netnetintel.com/openapi.json) - [Live $NET figures](https://netnetintel.com/api/v1/net): price (pair-oracle TWAP), NAV per token, premium, reserves, supply, staked, DEX market. About 15 s fresh. - [NAV](https://netnetintel.com/api/v1/nav): NAV per NET two ways, core (Treasury.backingPerToken(), on-chain) and incl. the RWA sleeve ((Treasury.rfv() + the sleeve) ÷ NET in issue, calculated), the RFV parts, the sleeve's breakdown, both premiums and the recipes. - [Treasury](https://netnetintel.com/api/v1/treasury): RFV and its parts, holdings, LP positions and pools, the sleeve's directly held assets. - [Supply & staking](https://netnetintel.com/api/v1/supply): NET in issue, staked, circulating and its exclusions, burned, NET held per protocol contract, index, epoch, rate. - [Holders](https://netnetintel.com/api/v1/holders?moves=50): the top 50 holders' own wallets (contracts that hold for others, such as pools and Pendle's SY, and the protocol's Safes are listed apart, in `held`; balance, stance, 7- and 30-day flows), their latest decoded moves with tx hashes, and wallet clusters (wallets linked by two-way transfers: likely one owner, with the evidence); `address` filters one wallet's moves. - [One whale](https://netnetintel.com/api/v1/whale/0x72f273312b253d301b593ca1bbcb740aa500a242): balances, history (entry, P&L, rebase earned), loan, moves and its linked wallets with live balances. - [Bonds](https://netnetintel.com/api/v1/bonds?epochs=21): the bond desk by 8-hour epoch. - [Credit](https://netnetintel.com/api/v1/credit): the USDG vault, the Loopback wsNET market and how it marks collateral, the stock markets, liquidations. - [Buybacks](https://netnetintel.com/api/v1/buybacks): the team's NET buybacks from the RWA sleeve's Safe: 24-hour, 7-day, 30-day and all-time totals, buys per UTC day (average, low and high price), venues, the latest buys with tx hashes, the loan that funds them, and the Treasury's inverse bond (NAV × 0.985, burned). - [Predict market](https://netnetintel.com/api/v1/predict): the open weekly series, the live number it grades, NetNet Intel's model odds, every past series. - [Number history](https://netnetintel.com/api/v1/history?days=7): the number on a 30-minute grid, 1 to 90 days. - [Presser card](https://netnetintel.com/api/v1/presser/1): one Button Presser card, No. 1 to 4,999. Numbers are plain JSON numbers in their natural unit (USD, NET or USDG; not wei). Times are ISO 8601 UTC. ## For agents - [MCP server](https://netnetintel.com/mcp): remote MCP (Streamable HTTP, no auth); add it by URL in Claude, Cursor or any MCP client. Tools: `get_net`, `get_nav`, `get_treasury`, `get_supply`, `get_holders`, `get_whale`, `get_bonds`, `get_credit`, `get_buybacks`, `get_predict`, `get_history`, `get_presser`, `get_sources`, `verify_figures`. Same shapes as the read API. Server card: https://netnetintel.com/.well-known/mcp.json - [API catalog](https://netnetintel.com/.well-known/api-catalog) (RFC 9727): the read API and the MCP server with their specs, docs and status ([status](https://netnetintel.com/api/v1/status)). Every page also sends `Link` headers to it. - Markdown pages: request any page (for example https://netnetintel.com/buybacks) with `Accept: text/markdown` for a short live summary of it: what it shows, its current figures with the block, and where to check them. - [A2A agent](https://netnetintel.com/.well-known/agent-card.json): an Agent2Agent JSON-RPC endpoint at https://netnetintel.com/a2a; `SendMessage` with a question (or a data part `{"skill": "buybacks"}`, or a 0x address) answers with a Markdown summary and the area's JSON. - [Agent Skills index](https://netnetintel.com/.well-known/agent-skills/index.json): the published skills with their SHA-256 digests. In a browser, the site also registers WebMCP tools (`open_page`, `get_page_summary`, `get_live_data`, `lookup_wallet`). - [auth.md](https://netnetintel.com/auth.md): no registration, no keys; everything is public, read-only and rate-limited. - [Agent Skill](https://netnetintel.com/skills/netnet-intel/SKILL.md): which call answers what, how to read the figures, how to verify them. - When you report a NetNet figure, give the block it was read at; verify it when accuracy matters. ## Alerts - [@netnetintel_bot](https://t.me/netnetintel_bot) on Telegram: follow any top-50 wallet and get a message on each of its buys, sells, stakes and transfers of 10 NET or more (the moves NetNet Intel decodes). Connecting a wallet is optional. Deep link to follow one: `https://t.me/netnetintel_bot?start=w_
`. ## Key terms - NAV per NET (core): Treasury.backingPerToken() = Treasury.rfv() ÷ NET.totalSupply(), what the contracts back each NET with. - RFV: Treasury.rfv(): liquid USDG + the Morpho position after a 2% haircut + protocol-owned liquidity. - RWA sleeve: tokenized equities, hOHM and positions held by a team-custodied Safe, disclosed and counted by the official Reports, outside RFV and not a guaranteed backstop. - NAV incl. RWA sleeve: (RFV + the sleeve) ÷ NET in issue, the Reports' "NAV incl. RWAs". True RFV = RFV + the sleeve. - The number: True RFV in USD. The weekly Predict series asks whether it will be above (HIGHER) or below (LOWER) a fixed line at the print time; a series opens Wednesdays 14:00 UTC. - HIGHER / LOWER tokens pay 1 USDG if their side is right, so a token's price is the market's implied probability. The model's odds are NetNet Intel's inference, not the desk's price. - Premium: the TWAP price ÷ NAV per NET (core). The distribution rate follows it: 0.45% per 8-hour epoch at 1.75× and above, zero at 1×. ## Pages - [Overview](https://netnetintel.com/): price, both NAVs, the treasury at a glance, the live Predict series - [NAV](https://netnetintel.com/nav): NAV per NET core and incl. the RWA sleeve, side by side, with each figure's source - [Treasury](https://netnetintel.com/treasury): every holding read on-chain - [Holders & whales](https://netnetintel.com/holders): the top 50 wallets, their moves decoded, follow any on Telegram - [Supply & Staking](https://netnetintel.com/supply): supply decomposition, sNET emissions and known holders - [Predict](https://netnetintel.com/predict): the model's call on the weekly print, its graded record, the book and past prints - [Liquidity](https://netnetintel.com/liquidity): NET/USDG LP pools - [Bonds](https://netnetintel.com/bonds): the BondDepository's bonds and offering board - [Credit](https://netnetintel.com/credit): NetNet Credit, Loopback and Pendle loans - [Advance](https://netnetintel.com/advance): NET Advance positions - [The Book](https://netnetintel.com/book): sports spreads settled in wsNET - [Buybacks](https://netnetintel.com/buybacks): what the team buys back from the RWA sleeve's Safe, at what price against NAV, through which venues and paid from what; the Treasury's inverse-bond floor bid; the fee schedule and cash-flow reconstruction - [Contracts](https://netnetintel.com/contracts): the discovered NetNet contract registry - [Risks](https://netnetintel.com/risks): smart-contract, admin and economic risk map - [Claims](https://netnetintel.com/claims): what NetNet claims, checked on-chain - [Report Reconciliation](https://netnetintel.com/reconciliation): the official terminal's figures against a reconstruction from raw balances - [Sources](https://netnetintel.com/sources): data hierarchy, methodology and audit trail - [Button Presser](https://netnetintel.com/presser): faction, race and plate census, card and gear lookup - [Shift Run](https://netnetintel.com/shiftrun): the arcade; beat the number to the print line. Points only, nothing to wager. ## Optional - [Trade](https://netnetintel.com/trade): Predict trades signed by the visitor's own wallet; the site holds no keys or funds - [Wallet](https://netnetintel.com/wallet): look up any address's NET holdings - [NAV Lab](https://netnetintel.com/nav-lab): scenario calculator from the live figures - [Research](https://netnetintel.com/research) --- # Methodology in full How NetNet Intel obtains each figure, so that any of them can be reproduced from the chain. Everything below is generated from the code the verifier runs. ## Chain - Robinhood Chain, chain ID 4663. Public RPC (no key): https://rpc.mainnet.chain.robinhood.com. Explorer: https://robin.etherscan.io. - The public node keeps roughly the last thousand blocks of state; `eth_call` at an older block returns "historical state … not available". Use `latest` then, and expect slowly moving figures (interest, rebases, the TWAP window) to have drifted slightly. - The site reads the chain with its own provider every 15 to 60 seconds and caches the result at the edge for 15 seconds, so every visitor and every API caller sees the same read; each response states its block. ## Contracts - NET: 0xCA9c78Dd337A67F6e0077F65F5E9218719d30eDf (the NET token (9 decimals)) - sNET: 0xb773ec2C326B7f98a5a83fc098825492F020a4c7 (staked NET, rebasing (9 decimals)) - Staking: 0xB078cc304A0B264C5F3680DC0488954ACcd02E87 (the staking contract) - Treasury: 0x04822Ea321A0DEE6F40656172F29312104855d66 (the protocol treasury: rfv(), backingPerToken() and its parts) - PairOracle: 0x929631b33F4070D6f54477fba3FD27566567dAca (the NET/USDG TWAP the protocol prices with) - USDG: 0x5fc5360d0400a0fd4f2af552add042d716f1d168 (the USDG stablecoin (6 decimals)) - RwaSleeve: 0x498752D5fa0600CBd613074C151Abe15B3FeC7CB (the RWA sleeve: a team-custodied Safe, disclosed, outside RFV) - hOHM: 0x76Cf788606F3d968B93B8A243D0e185C974EE407 (hOHM (18 decimals)) - hOHMOracle: 0x32ca7363c45212d119deeb11d02ce638234729d6 (hOHM price oracle) - NVDA: token 0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec, price oracle 0xed29d310cfa91778a5850538da28ed42234cb78c (price(), 24 decimals) - SPCX: token 0x4a0e65a3eccec6dbe60ae065f2e7bb85fae35eea, price oracle 0x872f9d8955b34e841227a92de755cd63042ab7a5 (price(), 24 decimals) - AAPL: token 0xaf3d76f1834a1d425780943c99ea8a608f8a93f9, price oracle 0xd625d488d552775d2867194c618b945e5ddfe097 (price(), 24 decimals) - GOOGL: token 0x2e0847e8910a9732eb3fb1bb4b70a580adad4fe3, price oracle 0x12ec3474d1e321e0aab065278b97fbc7eda5f424 (price(), 24 decimals) - MSFT: token 0xe93237c50d904957cf27e7b1133b510c669c2e74, price oracle 0xcb9a035fe0e8f321e36286405febc70de42db34e (price(), 24 decimals) - COIN: token 0x6330d8c3178a418788df01a47479c0ce7ccf450b, price oracle 0x3ebd3088b69a5eec3bdf03b82ccf19c3bc1fa894 (price(), 24 decimals) ## Verifiable figures Each call: `eth_call` with `{to, data}` at the block; decode the first 32-byte word as an unsigned integer ÷ 10^decimals; then apply the formula. ### nav_core: NAV per NET (core) (USD per NET) Formula: Treasury.backingPerToken() = Treasury.rfv() ÷ NET.totalSupply(): what the contracts back each NET with - backingPerToken: Treasury 0x04822Ea321A0DEE6F40656172F29312104855d66 · backingPerToken() · data 0x1521843e · 18 decimals (USD per NET) ### nav_core_check: NAV per NET (core), recomputed from its parts (USD per NET) Formula: Treasury.rfv() ÷ NET.totalSupply(): must equal backingPerToken() - rfv: Treasury 0x04822Ea321A0DEE6F40656172F29312104855d66 · rfv() · data 0x4dc8d6df · 18 decimals (USD) - netSupply: NET 0xCA9c78Dd337A67F6e0077F65F5E9218719d30eDf · totalSupply() · data 0x18160ddd · 9 decimals (NET) ### rfv: RFV (core reserves) (USD) Formula: Treasury.rfv(): liquid USDG + the Morpho position after a 2% haircut + protocol-owned liquidity - rfv: Treasury 0x04822Ea321A0DEE6F40656172F29312104855d66 · rfv() · data 0x4dc8d6df · 18 decimals (USD) ### rfv_liquid_usdg: RFV part: liquid USDG (USDG) Formula: Treasury.liquidUsdg() - liquidUsdg: Treasury 0x04822Ea321A0DEE6F40656172F29312104855d66 · liquidUsdg() · data 0x51f858fe · 18 decimals (USDG) ### rfv_morpho_counted: RFV part: Morpho position, counted (USDG) Formula: Treasury.morphoAssets() × (1 − 2%): the official terminal counts the Morpho position after a 2% haircut - morphoAssets: Treasury 0x04822Ea321A0DEE6F40656172F29312104855d66 · morphoAssets() · data 0xae0fab7c · 18 decimals (USDG) ### rfv_pol: RFV part: protocol-owned liquidity (USD) Formula: Treasury.rfv() − liquidUsdg() − morphoAssets() × 0.98 - rfv: Treasury 0x04822Ea321A0DEE6F40656172F29312104855d66 · rfv() · data 0x4dc8d6df · 18 decimals (USD) - liquidUsdg: Treasury 0x04822Ea321A0DEE6F40656172F29312104855d66 · liquidUsdg() · data 0x51f858fe · 18 decimals (USDG) - morphoAssets: Treasury 0x04822Ea321A0DEE6F40656172F29312104855d66 · morphoAssets() · data 0xae0fab7c · 18 decimals (USDG) ### supply: NET in issue (NET) Formula: NET.totalSupply() - netSupply: NET 0xCA9c78Dd337A67F6e0077F65F5E9218719d30eDf · totalSupply() · data 0x18160ddd · 9 decimals (NET) ### price_twap: Price (TWAP) (USD per NET) Formula: PairOracle.twapNetUsdg(): the time-weighted NET/USDG price the protocol uses - twap: PairOracle 0x929631b33F4070D6f54477fba3FD27566567dAca · twapNetUsdg() · data 0x10aa790e · 18 decimals (USD per NET) ### premium_core: Premium to NAV (core) (×) Formula: PairOracle.twapNetUsdg() ÷ Treasury.backingPerToken() - twap: PairOracle 0x929631b33F4070D6f54477fba3FD27566567dAca · twapNetUsdg() · data 0x10aa790e · 18 decimals (USD per NET) - backingPerToken: Treasury 0x04822Ea321A0DEE6F40656172F29312104855d66 · backingPerToken() · data 0x1521843e · 18 decimals (USD per NET) ### staked: NET staked (NET) Formula: Staking.totalStaked() - totalStaked: Staking 0xB078cc304A0B264C5F3680DC0488954ACcd02E87 · totalStaked() · data 0x817b1cd2 · 9 decimals (NET) ### staked_share: Share of NET staked (fraction) Formula: Staking.totalStaked() ÷ NET.totalSupply() - totalStaked: Staking 0xB078cc304A0B264C5F3680DC0488954ACcd02E87 · totalStaked() · data 0x817b1cd2 · 9 decimals (NET) - netSupply: NET 0xCA9c78Dd337A67F6e0077F65F5E9218719d30eDf · totalSupply() · data 0x18160ddd · 9 decimals (NET) ### dividend_index: Staking index (NET per sNET) Formula: sNET.index() - index: sNET 0xb773ec2C326B7f98a5a83fc098825492F020a4c7 · index() · data 0x2986c0e5 · 9 decimals (NET per sNET) ### sleeve_wallet: RWA sleeve: what its Safe holds directly (USD) Formula: USDG.balanceOf(sleeve) + hOHM.balanceOf(sleeve) × hOHM price + Σ equity.balanceOf(sleeve) × its oracle price(). The sleeve's positions held elsewhere (lending books, desk pots, a vault) are in the sleeve breakdown of /api/v1/nav, not here. - sleeveUsdg: USDG 0x5fc5360d0400a0fd4f2af552add042d716f1d168 · balanceOf(0x498752D5fa0600CBd613074C151Abe15B3FeC7CB) · data 0x70a08231000000000000000000000000498752d5fa0600cbd613074c151abe15b3fec7cb · 6 decimals (USDG) - sleeveHohm: hOHM 0x76Cf788606F3d968B93B8A243D0e185C974EE407 · balanceOf(0x498752D5fa0600CBd613074C151Abe15B3FeC7CB) · data 0x70a08231000000000000000000000000498752d5fa0600cbd613074c151abe15b3fec7cb · 18 decimals (hOHM) - hohmPrice: hOHMOracle 0x32ca7363c45212d119deeb11d02ce638234729d6 · price (0xbb47b68a) · data 0xbb47b68a · 18 decimals (USD per hOHM) - sleeveNVDA: NVDA token 0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec · balanceOf(0x498752D5fa0600CBd613074C151Abe15B3FeC7CB) · data 0x70a08231000000000000000000000000498752d5fa0600cbd613074c151abe15b3fec7cb · 18 decimals (NVDA) - priceNVDA: NVDA oracle 0xed29d310cfa91778a5850538da28ed42234cb78c · price() · data 0xa035b1fe · 24 decimals (USD per NVDA) - sleeveSPCX: SPCX token 0x4a0e65a3eccec6dbe60ae065f2e7bb85fae35eea · balanceOf(0x498752D5fa0600CBd613074C151Abe15B3FeC7CB) · data 0x70a08231000000000000000000000000498752d5fa0600cbd613074c151abe15b3fec7cb · 18 decimals (SPCX) - priceSPCX: SPCX oracle 0x872f9d8955b34e841227a92de755cd63042ab7a5 · price() · data 0xa035b1fe · 24 decimals (USD per SPCX) - sleeveAAPL: AAPL token 0xaf3d76f1834a1d425780943c99ea8a608f8a93f9 · balanceOf(0x498752D5fa0600CBd613074C151Abe15B3FeC7CB) · data 0x70a08231000000000000000000000000498752d5fa0600cbd613074c151abe15b3fec7cb · 18 decimals (AAPL) - priceAAPL: AAPL oracle 0xd625d488d552775d2867194c618b945e5ddfe097 · price() · data 0xa035b1fe · 24 decimals (USD per AAPL) - sleeveGOOGL: GOOGL token 0x2e0847e8910a9732eb3fb1bb4b70a580adad4fe3 · balanceOf(0x498752D5fa0600CBd613074C151Abe15B3FeC7CB) · data 0x70a08231000000000000000000000000498752d5fa0600cbd613074c151abe15b3fec7cb · 18 decimals (GOOGL) - priceGOOGL: GOOGL oracle 0x12ec3474d1e321e0aab065278b97fbc7eda5f424 · price() · data 0xa035b1fe · 24 decimals (USD per GOOGL) - sleeveMSFT: MSFT token 0xe93237c50d904957cf27e7b1133b510c669c2e74 · balanceOf(0x498752D5fa0600CBd613074C151Abe15B3FeC7CB) · data 0x70a08231000000000000000000000000498752d5fa0600cbd613074c151abe15b3fec7cb · 18 decimals (MSFT) - priceMSFT: MSFT oracle 0xcb9a035fe0e8f321e36286405febc70de42db34e · price() · data 0xa035b1fe · 24 decimals (USD per MSFT) - sleeveCOIN: COIN token 0x6330d8c3178a418788df01a47479c0ce7ccf450b · balanceOf(0x498752D5fa0600CBd613074C151Abe15B3FeC7CB) · data 0x70a08231000000000000000000000000498752d5fa0600cbd613074c151abe15b3fec7cb · 18 decimals (COIN) - priceCOIN: COIN oracle 0x3ebd3088b69a5eec3bdf03b82ccf19c3bc1fa894 · price() · data 0xa035b1fe · 24 decimals (USD per COIN) ## Calculated figures - NAV per NET incl. the RWA sleeve = (Treasury.rfv() + the RWA sleeve) ÷ NET.totalSupply(): the official Reports' "NAV incl. RWAs". True RFV = RFV + the sleeve. - The RWA sleeve = its core mark + the memo holdings the Reports count. The core mark: what the sleeve's Safe holds directly (USDG, hOHM and tokenized equities at the protocol's oracle prices: the figure `sleeve_wallet`), plus its lending book (collateral at the oracle price less debt), the desk pots it is owed, and its vault shares. The memo holdings: NET and hOHM priced at the TWAP, the desk and pool positions, The Book's house pot, NET Advance receivables and the Loopback position net of its debt. /api/v1/nav lists every part with its value; the sleeve is team-custodied in a disclosed Safe, outside RFV, and not a guaranteed backstop. - RFV parts: Treasury.liquidUsdg(); Treasury.morphoAssets() counted at 98% (the official terminal's 2% haircut); protocol-owned liquidity = rfv() − the two. - Premium incl. the sleeve = TWAP ÷ NAV incl. the sleeve. The distribution rate follows the core premium only. - Circulating NET = NET.totalSupply() − staked − the genesis bond − the tax collector − the bond depository − the sleeve and pack desks, as the official terminal counts it. ## History - A 30-minute grid of chain reads since 17 Jul 2026: Treasury.rfv(), the sleeve mark, backingPerToken(), the TWAP, NET.totalSupply(), staked and the staking index, read at each grid block. NET supply on the grid matches the token's mint and burn events exactly. - The memo holdings are recorded from 19 Sep 2026; before that, the incl.-sleeve history counts the sleeve mark only and reads a little low (the site draws it dashed). The newest rows get their memo holdings a little after they are written; until then they have no incl.-sleeve value rather than a low one. ## Holders and whale moves - The top 50: every NET, sNET and wsNET holder ranked by NET-equivalent (sNET and wsNET at the staking index), plus collateral posted in lending markets. Exchange, pool and protocol contracts are labelled. - A move is one transaction's net change for a top-50 wallet across NET, sNET and wsNET, classified by its counterparty (a DEX router = buy or sell, staking = stake or unstake, an LP zap = LP add, otherwise a transfer). Moves of 10 NET-equivalent or more are decoded and listed (and sent to wallet followers on Telegram). Each move carries its tx hash; the receipt's Transfer logs are the evidence. - Wallet clusters: two ordinary wallets are linked as likely one owner when NET, sNET or wsNET went both ways between them, 3 or more transfers each way, or one each way with the smaller side at least half the larger; links join transitively. Each link keeps its counts, sizes and transactions. Moves between linked wallets are marked internal (reshuffles) and left out of flows, stances, the daily totals and the headline; ranking stays per wallet. Following one wallet on Telegram covers its linked wallets. - The holders headline weighs the last 24 hours' net flow against what the top 50 hold and counts how many wallets moved: "Whales are buying" needs a net inflow and 3 or more buying wallets ("buying big" over 2% of holdings); one or two wallets are named as such ("One whale bought 320 NET"); a net outflow under 2% leads with the majority who sold nothing; "Some whales trimmed" needs over 2% out and 3 or more sellers. It never assigns a motive. ## Predict model - NetNet Intel's model projects the number at the print from its verified history (RFV pace, the sleeve's drift, rebases) and gives P(HIGHER). It is an inference, not a chain value and not the desk's price; it is graded against every print on /predict. ## Differences you may see elsewhere - Sites that reconstruct history by interpolation can disagree with this history in the past while agreeing today; compare against NET.totalSupply() and Treasury.rfv() at the block in question. - The official terminal (https://app.netnet.capital) is the reference; NetNet Intel mirrors its getters and reports where it differs.