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.

Version
1.2
Updated
2026-09-28
Source
Metric definitions v1.2

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#

Every metric entry carries the same seven fields
FieldWhat it means
idThe key the figure carries in a response. Stable, and never reused for a different meaning.
unitwei · token base units · USD 18dp · bps · count · unix seconds. Every amount is a decimal string, never a JSON number.
derivationThe arithmetic in full. If it is a sum over logs, the log and the field. If it is a call, the call.
sourceContract.function() or Contract.Event.field, with the file it is declared in.
freshnessWhether it is a live chain read, exact at a block, or an indexed aggregate carrying asOfBlock.
coverageFULL when the derivation can see everything it needs; PARTIAL with a scope when it cannot.
caveatsWhat makes the number wrong if you ignore it. These are the whole value of a definition.

Five rules that bind every figure#

These hold for every figure in this section, without exception
RuleConsequence
Base units, alwaysAmounts 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 currenciesA 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 indexedWhere a live read and an indexed value disagree, both are published and each is labelled. Neither is silently preferred.
An unknown is not a zeroA 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 countA 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#

State the public RPC keeps, per chain
ChainBlock timeState keptAboutRetention measured
Testnet 466300.27s6,555 blocks30 minutesYes
Mainnet 46630.101s6,555 blocks11 minutesNo

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#

Monotonic lifetime totals that do exist on chain
ContractVariableWhat it totals
TradeFeeSplittertotalToCreators, totalToKols, totalToLedgerLifetime wei sent down each leg of the trade fee, from every source.
TradeFeeSplittertotalReceivedFrom[source], totalReceivedByKind[kind]Lifetime trade-fee wei from one curve or locker, and by venue kind.
ProtocolFeeSplittertotalProtocolFeesReceivedThe meter. Lifetime wei from armed payers. Two write sites, both +=, no setter and no delete.
ProtocolFeeSplittertotalToLiquidity, totalToTreasury, totalUncountedWhere the protocol’s wei went.
PredictionMarketFactorytotalProtocolFeesSweptLifetime wei swept to the splitter. ERC-20 fees are not totalled anywhere.
LaunchLiquidityLockerethForwarded, tokensBurnedPer launch, after graduation: fee wei forwarded and tokens burned.
ThdLiquidityManagertotalEthFromPool, totalEthToRouter, totalThdToRouterThe THD/ETH pool’s lifetime LP fee take. Both legs leave for ThdFeeRouter; the THD is burned or recycled there, not here.
PoolMetricsMetrics.cumulativeBuyVolumeWeiPer graduated token: buy-side wei since the first poke.
THDEmissionControlclaimedOf(Bucket)Per bucket THD claimed. There is no aggregate.

Accumulators that look lifetime and are not#

VariableWhat it actually is
ReferralLedger.totalReferrerClaimableUnclaimed referrer balances, right now.
ReferralLedger.treasuryClaimable, ReferralLedger.donationClaimableAmounts awaiting a sweep, right now.
LaunchFeeDesk.launchFeesAccrued (LaunchFactory before 28-09-2026), LaunchFactory.promotionRevenueAccruedAmounts taken and not yet swept, right now.
KolSplitter.totalClaimable, KolSplitter.totalHeldOutstanding KOL liabilities, right now.
BondingCurve.tradeFeesAccruedFees held on the curve and not yet claimed. Not part of the reserve.
ParimutuelMarket.totalPaidOutOnly rises — but it is per market and scoped to that market’s settlement, not a protocol figure.

The reference, by section#

Every page in the metrics reference
SectionPageCovers
Trading and marketsVolumeBonding-curve volume, post-graduation pool volume and refunds — what each is summed from and why one of them is always partial.
Trading and marketsValuation and priceCurve 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 marketsHoldersThe on-chain census, what it excludes, why an uncounted token is unknown rather than zero, and the log-derived fallback.
Trading and marketsPrediction marketsPer-currency volume and open interest, the three end states a market can reach, and the predicate that makes a question machine-readable.
Platform and feesLaunches and graduationLaunch counts net of dev launches, the graduation-rate denominator as a published choice, net raised, and the three burn sites.
Platform and feesFees, by legThe 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 feesValue lockedFour components published separately: live curve reserves, locked launch pools, the THD pool and open market stakes.
THD and peopleTHD and the fee meterThe protocol fee meter, the unlock it drives, the eleven buckets, and why an unlock percentage is meaningless without its denominator.
THD and peopleCreators, KOLs and referrersThe creator tier ladder and its four caveats, the two competing authorities for KOL earnings, and what is never published about a referral.
Not publishedFigures we do not publishFifteen figures that are derivable and wrong, with the reason each one is refused.