Corrections
What was wrong here, and what now stands.
A corrected statement is not overwritten, it gets an entry. Every entry names the place, the old wording, the new one and the basis for the correction.
This register has been kept since Sep 21, 2026. Changes made before that are not in it: they could only be reconstructed from the version history, and a list assembled after the fact would be a claim about the past that nobody has checked.
- Statement went too farCOR-2026-0023
Methodology page, validation status: “Backtest” step
- Before
- “The input figures could be reconstructed for some pools from the history endpoint already in use.”
- Now
- “Of the time-dependent inputs, only TVL could be reconstructed from the history endpoint already in use; this site knows the others only as they stand today.” (all five languages)
- Basis
- Methodology audit of 26 September 2026, criterion B3: the history endpoint returns only APY and TVL per day.
- In the repository
- types/api.ts
- tests/unit/audit/text-corrections.test.ts
- Statement went too farCOR-2026-0024
Explorer, detail view of a lending market: header figure and “Liquidity & utilization” card
- Before
- “Available liquidity” as the label of the TVL reported by DeFiLlama; below it “Available liquidity as reported by DeFiLlama”.
- Now
- “TVL” and “TVL (as reported by DeFiLlama)”, with the sentence that, depending on the protocol, it is either the total supply or the supply minus borrows and not the withdrawable liquidity (all five languages). The withdrawable liquidity is shown beside it, unchanged.
- Basis
- Methodology audit of 26 September 2026, criterion D5, and the comparison of /pools against /lendBorrow on 27 September 2026: for Morpho Blue and Fluid the reported TVL is the total supply, so the label overstated what can be withdrawn.
- In the repository
- components/defi-explorer/DetailAnalysisCards.tsx
- components/defi-explorer/MarketDetail.tsx
- tests/unit/defi-explorer/detail-analysis-cards.test.tsx
- Figure or statementCOR-2026-0025
Explorer methodology, answer to the question about the metrics
- Before
- “For lending markets, TVL refers to the currently available, non-lent-out liquidity.”
- Now
- “What TVL denotes for a lending market depends on the protocol: for some it is the total supply, for others the supply minus borrows. This page therefore computes withdrawable liquidity itself, from supply and borrows.” (all five languages)
- Basis
- Methodology audit of 26 September 2026, criterion D2, with the comparison of /pools against /lendBorrow on 27 September 2026 (see COR-2026-0024).
- In the repository
- messages/de.json
- tests/unit/audit/text-corrections.test.ts
- Statement went too farCOR-2026-0008
Academy lesson “Where Does Yield Come From?”, liquidity pool section (messages/*.json, AcademyLessons.yield-sources.lpText)
- Before
- “… You earn the trading fees. Risk: medium to high (impermanent loss).” — a risk level for an entire category of markets, in all five languages.
- Now
- The sentence now names what the additional risk consists of — impermanent loss when the prices of the two tokens move against each other — instead of grading it.
- Basis
- Internal review during a language review of all five locales. Since AP1 (21 September 2026) the platform assigns no risk classes; the neighboring lending sentence had already been corrected for the same reason (COR-2026-0006), this one had been left standing.
- In the repository
- messages/de.json
- messages/en.json
- messages/es.json
- messages/hi.json
- messages/zh.json
- Statement about this siteCOR-2026-0009
Academy lesson L2-07 “Reading a risk assessment — including this platform’s own”
- Before
- The lesson spoke of “six factors” in eight places, and its figure merged the outlier marking and data completeness into one step. A retrieval question read “A pool is assessed as “Niedrig” (low). What does that evidence?”, and the exercise, the application question and the institutional prompt treated the bucket as still existing.
- Now
- The lesson now names seven factors throughout, the figure shows seven steps, and the flag-point scale (at most 13) is stated alongside. Questions and exercises refer to flags and flag points; the former bucket appears only in the example that explains why it was dropped.
- Basis
- Internal review against the model’s code, prompted by the language review of 26 September 2026. Since AP1 (21 September 2026) the platform forms no risk bucket; the model evaluates seven factors. The checklist meant to tie the lesson to the model counted only six itself and is now derived from the model.
- In the repository
- content/academy/analyst.ts
- lib/risk/score.ts
- lib/risk/dataFlags.ts
- lib/academy/riskModelFacts.ts
- Figure or statementCOR-2026-0010
Academy lesson L4-02 “The same data, read as a bank”, heading of the worked example
- Before
- “One finding, seven lines” — the example lists one finding and four sub-findings, five lines in all.
- Now
- “One finding, four sub-findings”, as the example’s own calculation counts them (“Three of the four sub-findings …”).
- Basis
- Internal review during the language review of 26 September 2026: the heading did not match the example’s own entries.
- In the repository
- content/academy/institutional.ts
- tests/unit/academy/stated-figures.test.ts
- Figure or statementCOR-2026-0011
Academy lesson L4-04 “The insurance view: defining the event”, result of the example “Twenty policies, one cause”
- Before
- “The same twenty policies, two orders of magnitude apart in maximum simultaneous exposure.” — the example compares USD 10m (largest single position by protocol) with USD 80m (the stablecoin as common cause), a factor of 8; two orders of magnitude would be a factor of 100.
- Now
- Counted by cause, the largest simultaneous exposure is eight times what it is when counted by protocol.
- Basis
- Internal recalculation of the figures given in the example, prompted by the language review of 26 September 2026.
- In the repository
- content/academy/institutional.ts
- tests/unit/academy/stated-figures.test.ts
- Figure or statementCOR-2026-0012
Academy lesson L3-07 “Governance risk: who can change the rules”, calculation of the example “Formally open, factually decided”
- Before
- “Four addresses hold 31 %, exceeding the quorum sevenfold.” — with a quorum of 4 %, 31 % is 7.75 times the quorum; “exceeding sevenfold” could also be read as eight times.
- Now
- “Four addresses hold 31 % — almost eight times the quorum.”
- Basis
- Internal recalculation of the figures given in the example, prompted by the language review of 26 September 2026.
- In the repository
- content/academy/risk.ts
- tests/unit/academy/stated-figures.test.ts
- Figure or statementCOR-2026-0013
Academy lesson L3-09 “Measuring leverage, including the hidden kind”, key takeaways
- Before
- “Leverage grows linearly with the return and shortens the price buffer.” — the lesson itself teaches the opposite direction: the return grows with leverage.
- Now
- “The return grows linearly with leverage while the price buffer shrinks.” — as in the section “Leverage shortens the price buffer” of the same lesson.
- Basis
- Internal review during the language review of 26 September 2026: the key takeaway contradicted the lesson text.
- In the repository
- content/academy/risk.ts
- tests/unit/academy/stated-figures.test.ts
- Statement went too farCOR-2026-0014
Notice below the compound-interest calculator of the former dashboard (visible until 25 September 2026)
- Before
- “Crypto often offers higher yields but carries smart contract risk. RWAs offer lower yields backed by TradFi assets. …” — a statement about the backing of yields with no source on file; tokenized RWAs carry smart contract risk too.
- Now
- Only the sentence that can be backed remains: “Both figures are projections based on the current APY — not a guaranteed future return.” In all five languages. The calculator itself was replaced by the Strategy Intelligence Report on 25 September 2026; after that the text only remained in the catalog.
- Basis
- Internal review during the language review of 26 September 2026, measured against guardrail 1 (claim nothing that is not evidenced).
- In the repository
- messages/de.json
- messages/en.json
- messages/es.json
- messages/hi.json
- messages/zh.json
- tests/unit/catalogue-claims.test.ts
- Statement went too farCOR-2026-0015
Academy lesson “Stablecoins”, labels of the two real comparison pools
- Before
- “Example: lower risk” and “Example: higher risk” above two real, named pools — a risk comparison of two products, although the pools are selected by two DeFiLlama fields only.
- Now
- The label names the selection criterion: “single exposure, no IL risk per DeFiLlama” and “multi-exposure or IL risk per DeFiLlama”. In all five languages.
- Basis
- Internal review during the language review of 26 September 2026. Since AP1 (21 September 2026) the platform assigns no risk levels; the same rule as COR-2026-0006 and COR-2026-0008.
- In the repository
- messages/de.json
- messages/en.json
- messages/es.json
- messages/hi.json
- messages/zh.json
- tests/unit/catalogue-claims.test.ts
- Statement about this siteCOR-2026-0016
Flag-point scale on the methodology page and in the Academy lesson on flag points; scale labels
- Before
- The scale ran from 0 to “9+” and put 10 to 13 points on one tile — right below the sentence “at most 13 points”. Its note named a “narrow selection on the dashboard” that no longer exists as a switch. The risk/reward scale labeled the pool above the filter threshold “several flags triggered”, although three points can come from a single flag.
- Now
- The scale runs to the maximum derived from the point rules (13), one tile per point value. The note names the curated universe of the Strategy Intelligence Report; the risk/reward scale says “more than 2 flag points”. In all five languages.
- Basis
- Methodology audit of 26 September 2026, criteria A4 and A2.
- In the repository
- components/academy/RiskScoreScale.tsx
- components/academy/RiskRewardScale.tsx
- tests/unit/risk-score-scale.test.tsx
- Statement about this siteCOR-2026-0017
Methodology page, “Data source” section, and about page, data section
- Before
- “All figures come from the public DeFiLlama API … fifteen minutes … Every figure states when it was retrieved.” The report’s RWA pools come from a separate retrieval cached for up to twelve hours, a few not from DeFiLlama, and carried the crypto pools’ timestamp. If that retrieval failed, labeled sample data could enter the report’s median and TVL.
- Now
- Both texts name the separate RWA retrieval, its cache duration, and that the retrieval time shown applies to the crypto pools. Sample data is no longer part of the report’s universe. In all five languages.
- Basis
- Methodology audit of 26 September 2026, criteria D4 and E3: the statement checked against the cache durations in the code.
- In the repository
- lib/services/rwaDataService.ts
- lib/report/data.ts
- tests/unit/report/methodology-consistency.test.ts
- tests/unit/report/data.test.ts
- Figure or statementCOR-2026-0018
Explorer: table, detail view, comparison and both CSV exports, “IL risk” field
- Before
- Where DeFiLlama reported no IL value, the field said “No” — while the flag points count the same gap as IL risk. One page could show “IL risk: No” next to the IL flag.
- Now
- Without a value the field shows “–”, and the export an empty field. The IL flag text now says “per DeFiLlama — or not reported by DeFiLlama” (all five languages).
- Basis
- Methodology audit of 26 September 2026, criteria D2 and A6.
- In the repository
- lib/defi-explorer/rows.ts
- tests/unit/defi-explorer/rows.test.ts
- tests/unit/defi-explorer/csv.test.ts
- Statement about this siteCOR-2026-0019
Explorer detail view and Navigator, “Flags by dimension” section
- Before
- The dimensions recomputed the points themselves and diverged: two points instead of one at exactly 50 % reward share, RWA issuers graded on the suspended protocol factor, completeness measured over different fields. The chain factor belonged to no dimension, so the sum was lower than the total the text beside it calls their sum; “custody” was missing.
- Now
- The dimensions show the flags of the point calculation, and their sum is the total. New: “chain maturity” (assessed) and “custody” (not assessed); the protocol factor counts as not assessed for RWA issuers.
- Basis
- Methodology audit of 26 September 2026, criterion C1.
- In the repository
- lib/risk/dimensions.ts
- tests/unit/risk-dimensions.test.ts
- Statement went too farCOR-2026-0020
Methodology page (points section, validation status), Academy quiz on flag points, analyst lesson on reading the risk assessment
- Before
- The validation conclusion said the assessment “orders pools”, the points section of the same page “They do not order pools”; the points were said to state “how many of the seven factors” reported something. The lesson called the weighting “equal”, the quiz called the assessment “not an opinion”.
- Now
- The assessment “describes” pools; the figure is a sum of points, not a count; the factors carry fixed, different point values (at most 3, 2, 2, 2, 1, 2 and 1); the thresholds are set, not calibrated.
- Basis
- Methodology audit of 26 September 2026, criteria B1 and B2.
- In the repository
- content/academy/analyst.ts
- messages/de.json
- messages/en.json
- tests/unit/audit/text-corrections.test.ts
- Figure or statementCOR-2026-0021
Academy: lesson on DEX mechanics, worked example “A year of providing liquidity”; market-risk lesson, worked example; impermanent-loss lesson, explanation
- Before
- Impermanent loss at an 80 % price move: −4.3 %; result “5.2 % against simply holding” by adding percentages on different bases. The market-risk example assumed 6 % price impact without saying that the model below computes about 18 % from the same figures. The loss was said to reverse “if prices converge again”.
- Now
- −4.2 % of the hold value; about +3.7 % of the deposit against holding, computed on one base. The market-risk example names the assumption behind the 6 % and the model’s 18 %. The loss reverses once the price ratio returns to where it stood at deposit.
- Basis
- Methodology audit of 26 September 2026, criterion E1: recomputed with the IL formula 2√r/(1+r) − 1.
- In the repository
- content/academy/analyst.ts
- content/academy/risk.ts
- tests/unit/academy/worked-examples-audit.test.ts
- Statement went too farCOR-2026-0022
Strategy Intelligence Report: sentence on pools with 0 % APY, text of the section below, reference to the Academy; metric catalog, APY
- Before
- Pools with APY 0 were called “pure collateral markets that pay no interest”, although the data only says “APY 0”. The Academy reference promised lessons on tokenized securities that do not exist. The catalog said the displayed APY was computed here from a rate and a missing total APY was rebuilt here.
- Now
- “Often pure collateral markets; the data itself only says the APY is 0” (all five languages; since methodology 2.2 the sentence names the criterion by which a market is counted as a collateral market instead); the promise is removed; the catalog says DeFiLlama’s value is displayed and a missing total APY is shown as “–”.
- Basis
- Methodology audit of 26 September 2026, criteria E3 and D2.
- In the repository
- lib/academy/metrics.ts
- tests/unit/audit/text-corrections.test.ts
- Statement went too farCOR-2026-0006
Academy lesson “Where Does Yield Come From?”, lending section (messages/*.json, AcademyLessons.yield-sources.lendingText)
- Before
- “You lend your tokens to others, who post collateral. Risk: lower, yield: usually stable.” — a blanket classification with no mention of collateral value, liquidation or oracle dependency.
- Now
- The sentence now names what the comparative stability depends on: the collateral holding its value, the liquidation mechanism working as intended, and the price oracle the protocol relies on.
- Basis
- Internal review. The Analysis Academy's deeper lending lesson and the methodology page itself explicitly state that oracle, governance and counterparty risk are not covered by the scoring system — the beginner lesson's blanket “risk: lower” classification contradicted that.
- In the repository
- messages/de.json
- messages/en.json
- content/academy/analyst.ts
- lib/config/methodology.ts
- Statement went too farCOR-2026-0007
Academy lesson “Understanding TVL” (messages/*.json, AcademyLessons.tvl.explanationBody)
- Before
- “A high TVL … often signals trust and liquidity” — the one place in the repository that tied TVL to “trust” rather than to size/liquidity.
- Now
- “… often signals scale and liquidity”, matching the wording already used in the glossary (Glossary.tvl) and every other place that explains TVL.
- Basis
- Internal review during a consistency audit of every place that explains TVL (Glossary, Academy, DeFi Explorer chart, Methodology, /defi-analysis/standards). The other five locations avoid “trust” consistently; this one didn't, even though the same sentence already denies the safety claim.
- In the repository
- messages/de.json
- messages/en.json
- lib/config/glossary.ts
- Figure or statementCOR-2026-0002
The compound-interest calculator on /StrategyIntelligenceReport and the compound-growth control in the Academy
- Before
- The dropdown offered seven fixed example values, each attributed to a named product: Ethereum staking (Lido) 3.2%, USDC lending (Aave V3) 5.1%, Solana staking (Jito) 7.4%, WBTC liquidity (Curve) 1.8%, Ondo OUSG 4.9%, Mountain Protocol USDM 5.0%, RealT 9.5%. They sat under the heading “example values (as of 09/2026)” next to live figures on the same page.
- Now
- The fixed values are gone. The dropdown now offers this application's retrieved figures — with their source and retrieval time stated below — and a manual input. When no retrieved figure is available the manual input remains; no number steps in any more.
- Basis
- Internal review. None of the seven values had a source or a retrieval date on file, and the “as of 09/2026” label was maintained by hand. Whether the values still hold could not be checked at the time of the correction; the question is on file for the operator and still open.
- In the repository
- lib/config/yieldPresets.ts
- components/calculator/YieldCalculator.tsx
- docs/umbau/OWNER_TODO.md
- Statement about this siteCOR-2026-0003
Methodology (“data source”), About (“where does the data come from?”) and the Explorer methodology
- Before
- All three places stated that the data is refreshed “on load and every 15 minutes”.
- Now
- The statement now names the actual cache lifetimes — five minutes for the pool data, ten minutes for the Navigator and the Explorer — and says there is no fixed refresh interval: a fetch happens on the first page request after the cache expires, and not at all without one.
- Basis
- Internal review against the code. Neither the number nor the schedule held: the cache lifetimes are in the code, and this application has no scheduler at all. The locations are listed below.
- In the repository
- lib/cache/index.ts
- lib/defi-explorer/marketsCache.ts
- Figure or statementCOR-2026-0004
Internal Ondo Finance data service
- Before
- The service carried a fixed 3.6% yield for USDY and a fixed fallback TVL of USD 3.5bn for Ondo Finance. The success path returned the fixed yield labeled “live”.
- Now
- The fixed yield has been removed. If the TVL fetch fails, the service reports no value rather than an invented one. Neither figure was ever displayed — the component that would have rendered them is switched off.
- Basis
- Internal review. The repository held no source for either figure; the comment named a date on which it was read off, but no citable location.
- In the repository
- lib/services/ondoService.ts
- Statement about this siteCOR-2026-0005
Evidence register, the “verification status” box above the list of entries
- Before
- The box stated that “no URL was fetched” and that “seven entries” sat at the “details checked” rung. Neither was true any more: by then twenty entries sat at that rung, and for four of them the URL had been fetched and checked against the identity probes declared in advance. The same box also explained the network conditions of the environment the entries were written in.
- Now
- The counts now sit as their own list above the text and are taken from the entries themselves — a number written into prose is maintained by hand and eventually drifts. The text now only describes what the three rungs mean, and no longer names the working environment's conditions; they are no concern of anyone trying to assess a source.
- Basis
- Internal review against the data. The statement contradicted the very entries it described — the same error as COR-2026-0003, this time in the statement about the checking itself.
- In the repository
- lib/evidence/types.ts
- app/[locale]/research/evidence/page.tsx
- Statement went too farCOR-2026-0001
Every pool card, the detail view, the Explorer, the Navigator, the CSV export and the structured data (JSON-LD)
- Before
- Every pool carried a risk class of “low”, “medium” or “high”; RWA pools additionally carried a “counterparty risk: …” rating. The default sort ordered the list by that class.
- Now
- Both were dropped without replacement. Every view now names the triggered data flags individually and their sum in points, alongside the areas this platform does not assess. The default sort is now TVL.
- Basis
- Internal review. The class was derived from a heuristic that the methodology page itself declares unvalidated; for the “counterparty risk” rating no source was on file in the repository — the evidence trail consisted of code comments.
- In the repository
- lib/risk/dataFlags.ts
- lib/risk/score.ts
- lib/config/methodology.ts
- docs/umbau/AUDIT.md
How the data flags are derived, and what this platform explicitly does not assess, is set out in the methodology.