TopazDocs

Stats

Rate Definitions

Topaz publishes several different rates, and they are not interchangeable. Each one measures a different cash flow, paid in a different asset, to a different participant. This page is the canonical definition for every rate the protocol surfaces.

One rule explains most of the confusion
On Topaz, liquidity providers earn emissions and voters earn 100% of trading feesplus incentives. A staked LP position receives emissions instead of fees, not in addition to them. That is why Fee APR and Emission APR are never added together, and why a gauge's total APR is its Emission APR alone.

Liquidity provider rates

Fee APR

What an unstakedliquidity position earns from trading fees. Once a position is staked in a gauge, its fees are routed to voters and this rate no longer describes the LP's return.

(trailing_24h_fees_usd × 365) / tvl_usd × 100
Measures
Trading fees accrued by the pool, relative to the pool's total value locked.
Paid in
The pool's own two tokens.
Period
A trailing 24 hours: the current UTC day so far, plus the unelapsed share of the previous day.
Annualization
Simple — the daily figure multiplied by 365. No compounding.
Includes trading fees
Yes — this rate is entirely trading fees.
Appears on
/stats, /stats/pools, and the pools JSON API.
Why the numerator is not fees24hUsd
The subgraph reports fees per UTC day, so its running total resets at 00:00 UTC. Annualizing that directly would put Fee APR at 0% at midnight and let it climb all day, which is not a rate anyone can use. Topaz carries the unelapsed share of the previous day to make a full 24 hours — at 06:00 UTC, six hours of today plus the eighteen-hour share of yesterday. The fees24hUsd field in the API is still the raw UTC-day figure, so it will not reproduce this APR exactly.

Emission APR

What a stakedposition earns in TOPAZ emissions. This is the rate that matters to an LP who has staked in a gauge, and it is the number reported as a gauge's total APR.

(reward_rate_topaz × 31,536,000 × topaz_price_usd) / staked_tvl_usd × 100
Measures
The gauge's TOPAZ emission stream, relative to the liquidity staked in it.
Paid in
TOPAZ.
Period
The gauge's instantaneous reward rate at snapshot time, which changes each epoch as votes move.
Annualization
Simple — the per-second rate extended over a year. No compounding, and it assumes the current vote weight holds.
Includes trading fees
No. Staked positions do not receive trading fees; those go to voters.
Appears on
/stats, /stats/pools, and the pools JSON API.

Emission APR on concentrated pools

Concentrated liquidity needs a different denominator. Only liquidity in range at the current tick earns emissions, so dividing by the pool's total value locked would understate the rate for an in-range position and overstate it for one sitting outside the market.

For Slipstream pools, Topaz divides by stakedLiquidity() read at the active tick, and quotes the rate for a $100 reference position at a preset range width — 0.05% for one-tick pools, 0.1% for stable pairs, 3% for volatile pairs. The figure accounts for the dilution that position itself causes on deposit, and is capped at 10,000% to keep a nearly empty gauge from reporting a meaningless number.

Do not compare this denominator to another venue's
An active-tick denominator answers “what does in-range liquidity earn.” A rate derived from a subgraph's total value locked blends in-range and out-of-range capital and answers a different question. The two are not comparable without restating one of them.

Voter rates

Voter APR

What veTOPAZ earns for voting on a gauge — the trading fees that gauge produced plus any incentives deposited on it, measured against the value of the votes competing for them. Elsewhere in ve(3,3) this is often written vAPR.

((weekly_fees_usd + weekly_incentives_usd) / voted_value_usd) × 52 × 100
Measures
Fees and incentives attached to a gauge for the epoch, relative to the TOPAZ-denominated value of the votes cast on it.
Paid in
Whatever tokens the pool traded in, plus whatever tokens were deposited as incentives.
Period
One completed epoch — the most recent week.
Annualization
Simple — one epoch multiplied by 52. It assumes fees, incentives, and vote weight all repeat, none of which is guaranteed.
Includes trading fees
Yes — fees and incentives are combined into one rate.
Appears on
Gauge records in the stats API.
Small gauges produce large numbers
A gauge with few votes and a single meaningful incentive can show an extraordinary Voter APR that no realistic vote size could capture — adding votes dilutes the same reward pool. Read this rate alongside the gauge's vote weight, not on its own.

APR and APY

Every rate Topaz publishes is an APR: a simple annualization of an observed period, with no compounding assumed. If a surface reports an APY, it is asserting that rewards are harvested and redeposited on some schedule, and the two figures are not comparable.

Topaz core contracts do not auto-compound. Rewards accrue until they are claimed, so an APR describes what accrues and an APY would describe a strategy layered on top of it.

Rates published by other Topaz products

Relays, Topaz Flow, and Topaz Vaults are separate products with their own reward mechanics, and they publish their own rates — Relay APR, Growth APR, USDT Payout APR, and vault-level net APR or APY. Those figures are defined on the surfaces that publish them and are not derived from the snapshot data behind this site.

Read them against this page's checklist
Whichever product you are looking at, the same six questions settle what a rate means: what it measures, which asset pays it, the period it covers, how it is annualized, whether trading fees are included, and when it was last updated. A rate that does not answer all six is not yet comparable to one that does.

Continue reading