Docs·Metrics reference
Metrics reference
How to read a metric definition
The seven fields every figure carries, the five rules that bind all of them, and the accumulators that exist on chain.
The contract#
A figure with no entry in this reference is not published. Not on an API, not on a share card, not in a post, not in a partner submission. The point is that an outsider can re-derive any number this platform states from the chain alone, and that two people asking “what is The Hood’s volume” get the same answer.
Every derivation in this section was read off the contract sources, not off a design document. Where a derivation depends on a choice rather than on the chain — the graduation-rate denominator, whether a redemption counts as volume, which of two KOL earnings authorities is published — the choice is stated in the entry, so it can be argued with rather than guessed at.
The seven fields#
| Field | What it means |
|---|---|
| id | The key the figure carries in a response. Stable, and never reused for a different meaning. |
| unit | wei · token base units · USD 18dp · bps · count · unix seconds. Every amount is a decimal string, never a JSON number. |
| derivation | The arithmetic in full. If it is a sum over logs, the log and the field. If it is a call, the call. |
| source | Contract.function() or Contract.Event.field, with the file it is declared in. |
| freshness | Whether it is a live chain read, exact at a block, or an indexed aggregate carrying asOfBlock. |
| coverage | FULL when the derivation can see everything it needs; PARTIAL with a scope when it cannot. |
| caveats | What makes the number wrong if you ignore it. These are the whole value of a definition. |
Five rules that bind every figure#
| Rule | Consequence |
|---|---|
| Base units, always | Amounts are decimal strings; the consumer converts at the edge. A wei value that round-trips through a JSON number has been silently rounded. |
| Currency is never summed across currencies | A market stakes in whatever currency it was created with. An ETH pool and a USDC pool are different quantities, and adding them produces a number that is not any amount of anything. |
asOfBlock on everything indexed | Where a live read and an indexed value disagree, both are published and each is labelled. Neither is silently preferred. |
| An unknown is not a zero | A derivation that cannot see its inputs returns null with a scope, never 0. A census that never ran means the holder count is unknown, not that the token has no holders. |
| Prior factories count | A launch made under a superseded LaunchFactory is still a launch and still trades. Every aggregate reads every factory in priorFactories[], not only the current one. |
Everything is a sum over logs#
| Chain | Block time | State kept | About | Retention measured |
|---|---|---|---|---|
| Testnet 46630 | 0.27s | 6,555 blocks | 30 minutes | Yes |
| Mainnet 4663 | 0.101s | 6,555 blocks | 11 minutes | No |
A derivation built on historical state reads cannot run against it at all. Logs and headers go back to genesis, and every definition here is written to that constraint.
Accumulators that exist on chain#
| Contract | Variable | What it totals |
|---|---|---|
TradeFeeSplitter | totalToCreators, totalToKols, totalToLedger | Lifetime wei sent down each leg of the trade fee, from every source. |
TradeFeeSplitter | totalReceivedFrom[source], totalReceivedByKind[kind] | Lifetime trade-fee wei from one curve or locker, and by venue kind. |
ProtocolFeeSplitter | totalProtocolFeesReceived | The meter. Lifetime wei from armed payers. Two write sites, both +=, no setter and no delete. |
ProtocolFeeSplitter | totalToLiquidity, totalToTreasury, totalUncounted | Where the protocol’s wei went. |
PredictionMarketFactory | totalProtocolFeesSwept | Lifetime wei swept to the splitter. ERC-20 fees are not totalled anywhere. |
LaunchLiquidityLocker | ethForwarded, tokensBurned | Per launch, after graduation: fee wei forwarded and tokens burned. |
ThdLiquidityManager | totalEthFromPool, totalEthToRouter, totalThdToRouter | The THD/ETH pool’s lifetime LP fee take. Both legs leave for ThdFeeRouter; the THD is burned or recycled there, not here. |
PoolMetrics | Metrics.cumulativeBuyVolumeWei | Per graduated token: buy-side wei since the first poke. |
THDEmissionControl | claimedOf(Bucket) | Per bucket THD claimed. There is no aggregate. |
Accumulators that look lifetime and are not#
| Variable | What it actually is |
|---|---|
ReferralLedger.totalReferrerClaimable | Unclaimed referrer balances, right now. |
ReferralLedger.treasuryClaimable, ReferralLedger.donationClaimable | Amounts awaiting a sweep, right now. |
LaunchFeeDesk.launchFeesAccrued (LaunchFactory before 28-09-2026), LaunchFactory.promotionRevenueAccrued | Amounts taken and not yet swept, right now. |
KolSplitter.totalClaimable, KolSplitter.totalHeld | Outstanding KOL liabilities, right now. |
BondingCurve.tradeFeesAccrued | Fees held on the curve and not yet claimed. Not part of the reserve. |
ParimutuelMarket.totalPaidOut | Only rises — but it is per market and scoped to that market’s settlement, not a protocol figure. |
The reference, by section#
| Section | Page | Covers |
|---|---|---|
| Trading and markets | Volume | Bonding-curve volume, post-graduation pool volume and refunds — what each is summed from and why one of them is always partial. |
| Trading and markets | Valuation and price | Curve FDV until graduation, the seven-day pool floor afterwards, and the coverage test that decides whether the floor may be published at all. |
| Trading and markets | Holders | The on-chain census, what it excludes, why an uncounted token is unknown rather than zero, and the log-derived fallback. |
| Trading and markets | Prediction markets | Per-currency volume and open interest, the three end states a market can reach, and the predicate that makes a question machine-readable. |
| Platform and fees | Launches and graduation | Launch counts net of dev launches, the graduation-rate denominator as a published choice, net raised, and the three burn sites. |
| Platform and fees | Fees, by leg | The five revenue lines, which are protocol fees, the event carrying the wei of every hop from a trade to the treasury, and the two flat creation fees. |
| Platform and fees | Value locked | Four components published separately: live curve reserves, locked launch pools, the THD pool and open market stakes. |
| THD and people | THD and the fee meter | The protocol fee meter, the unlock it drives, the eleven buckets, and why an unlock percentage is meaningless without its denominator. |
| THD and people | Creators, KOLs and referrers | The creator tier ladder and its four caveats, the two competing authorities for KOL earnings, and what is never published about a referral. |
| Not published | Figures we do not publish | Fifteen figures that are derivable and wrong, with the reason each one is refused. |