Developers & API › Metrics reference › Figures we do not publish

Metrics reference

Figures we do not publish

Fifteen figures that are derivable and wrong, with the reason each one is refused.

Version
1.5
Updated
2026-10-14
Source
Metric definitions v1.2 · THD contract sources

Every figure below is derivable from the chain and wrong. They are listed because a conscientious integrator will otherwise derive them — each one looks like the obvious reading of a variable that exists.

The list#

Fifteen figures this platform refuses, and the reason for each
FigureWhy not
A single marketing-revenue numberLaunchpad slots are wei; a market’s featured cut is a settlement-time share of that market’s own currency, with no factory-side accumulator. One number would silently add currencies. Fees.
A cross-currency marketVolume or openInterest totalSame reason. Per currency, always.
totalProtocolFeesReceived presented as “revenue”Under-reports by totalRefusedByCeiling, permanently. Publish lifetimeFeesReceived, or publish both and label them. THD and the fee meter.
progressBps() for a graduated launchReads 0 because realEthReserve is zeroed. Force 10000, as the oracle does.
realEthReserve() as “raised”Excludes fees, and is 0 after graduation. Use virtualEthReserve − initialVirtualEthReserve.
A holder count when countedAt == 0That is unknown, not zero. Holders.
A pool FDV floor when covered == falseThe floor is meaningless without coverage — valuation.
MarketTerms.feeRecipient as a payout walletIt is PredictionMarketFactory itself.
Settler earnings, in ETHSettlement is permissionless and pays no fee, so an ETH figure would be zero by construction. Settlers do have a THD allocation — 100 bps, 10,000,000 — but THD has not launched and nothing in that allocation has been paid, so there is no figure to publish either. See the eleven allocations.
launchFeeBps from a deployment record, as the current rateIt is the superseded model. The launch fee is a flat launchFeeUsd priced through an oracle at the moment of the launch, which the current mainnet record carries. A wei series built across the two eras is not one series. Fees.
A THD figure read from a retired emission contract as “the allocation”Retired generations carry nine buckets on the superseded split. The live contract carries the eleven. Reading one and labelling it the other is wrong in both directions at once.
Premium or item-mall spending, as revenuePaid in THD, both are burned: they destroy supply and the fee meter never sees them. Premium paid in ETH or a listed currency goes to the marketing treasury and never reaches the meter either. None of it unlocks THD or belongs in a protocol revenue line. The battlepass, the shop.
A total burned built from burn events aloneUndercounts by the adapter’s graduation dust, which emits no burn event. Launches.
The rate card from the addresses fileIt is not there, deliberately. launchFeeUsd, tradeFeeBps and the graduation ladder are settable, and a build-time copy goes stale silently. Read them live — and launchFeeWei moves with the USD oracle as well. The addresses file.
A THD unlock percentage without feesToFullEmissionWeiThe denominator is a per-deployment immutable, so testnet and production percentages are not comparable.

Why a refusal rather than a caveat#

The rest are wrong in a direction, and the direction is what makes them dangerous: every one of them under-reports or over-reports consistently rather than randomly, so a series built on one looks perfectly plausible over time and is simply not the quantity it claims to be.