label vs measured · one row per book · checked against the fixture
The label lie
276 books pay LPs. 257 charge a fee that disagrees with their label. The label is the fee a book declares when it is created; the measured fee is what its swaps actually charged, weighted per swap, as of block 56,263,800 on chain 4663. Both numbers are exact, neither is annualized — a fee label is a cut of each swap, not a yield — and the file behind every row is plain data you can diff.
books paying LPs
loading
every book the class rule calls PAYS-LPS, as of block 56,263,800
label disagrees with measured
loading
the declared fee differs from the swap-weighted fee actually charged
label and measurement agree exactly
loading
the honesty check — two independent sources agreeing rules out a definitional artifact
disagree by over half the measured fee
loading
the census divergence threshold — label off by more than 0.5 of the measured fee
the receipts
One row per book
loading the data file
pool id
hook mask
declared label
measured fee
verdict
The file behind this table is data/label_lie.json — plain data, rebuilt by an operator tool from the frozen fee-screen fixture, never generated in your browser. Pool ids only: no pool names, no token symbols, no hook names, anywhere.
the method
Two independent numbers
The label is the fee decoded from a book's Initialize event — what the pool declared at creation, in hundredths of a bip on a 1e6 scale (10,000 = 1 percent of the swapped amount). The measured fee is the swap-count-weighted mean of the fees its Swap events actually charged. The two never share a source: one is a declaration, the other is behavior on sampled swaps.
The PAYS-LPS class itself comes from the fee screen's class rule, which reads only swap counts and protocol-fee presence — it never reads the label. That is what makes the divergence a measurement rather than a definition: a book is not called a payer because of its label, so a label that disagrees with the charges is a finding, not a tautology.
Verdict thresholds: a row is agrees when declared and measured are exactly equal, disagrees when they differ at all, and the census threshold counts rows off by more than half the measured fee.
the hand-check
Three books, read raw, before any headline
Before any count shipped, three books were hand-checked straight from the frozen fixture — raw declared label vs raw measured fee, no code in between. This is the F2 hand-check, 2026-10-06:
0x007a13fa…d6db31 — declared 10,000 (1.00%); measured 10,990 (1.099%) across 169 sampled swaps. Disagrees by 990, about 9.01% of measured. No hook.
0x14f8cf47…9e044ad — declared 8,388,608 (about 838.86% of the scale — a garbage-scale label); measured 100 (0.01%) across 577 sampled swaps. The label is about 83,886 times the measured fee. Hook mask 0x2088.
Sample two is why the honest headline is a count and not a universal: 19 of the 276 books agree exactly, and two independent sources agreeing exactly rules out the divergence being definitional. An earlier census lens reported the divergence count as 276; the fixture says 257 — the census's recompute defaulted missing labels to zero, which manufactured divergences the fixture does not carry. The row count (276, every PAYS-LPS book) and the disagreement count (257) are different numbers, and this page states both.
Everything here is MIT — fork it, mirror it, and replay every figure from the frozen fixture on chain 4663.