Why two numbers and not one. Combining fee income with
a change in token quantities needs a single currency to express both in.
A currency needs a price, and a price needs an oracle. That would put a
new trusted input inside the one product whose whole claim is that it
needs none. So both legs are published and you apply your own
numéraire, visibly, with your own price source. If someone hands you a
single LP return, ask which price feed produced it and at what moment.
Run it against a live signed series
Reading the catalogue…
Fees earned, per LP share
—
Growth of the signed index. Net of the protocol's own fee
share, which is live on this factory, so this is what a
provider actually received rather than the gross figure a
dashboard quotes.
Token 0 behind one share
—
Change in quantity, not in value. No price was used to compute
this.
Token 1 behind one share
—
The two token legs usually move in opposite directions. That is
the pool rebalancing as the price moved, and it is the part a
single number hides.
—
The state it was computed from
Both endpoints, as recovered from the signed measurements, so you can redo every division above by hand. Total supply is not a signed field: it is recovered from the signed index, and accepted only when it reproduces that index exactly while its neighbouring integers do not. An ambiguous recovery is refused rather than rounded.
| Field | Start | End |
| reserve0 | — | — |
| reserve1 | — | — |
| totalSupply | — | — |
| accrued to | — | — |
| attestation | — | — |
Check it yourself
The two attestation hashes above are the endpoints, each an independently signed measurement. You can verify either without trusting this derivation at all: paste it into the verifier on the rates page, or fetch the row from the feed and hash its signed preimage. The derivation is arithmetic over two addressable signed facts.
What this figure is not
It is not an LP return you can put in a report unmodified,
and that is deliberate. Three things are outside it:
-
Incentives. Any emissions, rewards or third-party
farming on top of the pool are not here. They arrive outside the
pool's own accounting, so the pool cannot evidence them.
-
Your entry and exit. These figures are per LP share
over a window. A position with deposits or withdrawals inside that
window has no single return, and the honest answer needs a
time-weighted or money-weighted method chosen in advance. That is a
different product and it is not built.
-
A currency. Deliberately. See the top of this page.
Sub-basis-point rounding noise also lands on the fee leg when liquidity moves, in both directions. The largest daily decrease we have measured is about 0.0007%, two orders of magnitude inside the continuity bound that would refuse a snapshot, so it is disclosed rather than smoothed.