Corrections
Last updated: 2026-10-17
Whenever a public data or formula error is found, we record what changed and why here.
- 2026-10-18 · data · affects public figures
The exchange board and DEX directory now follow CoinMarketCap rank; the wallet directory follows the existing product source rank because CMC does not publish an official wallet ranking. Our data score remains a reference column and no longer determines exchange display order.
The product owner asked for CMC order consistently. Display order is separated from our data score so collection completeness is not mistaken for product quality; CMC ranks come from the exchange directory and DEX data, and products without a rank are placed last.
- 2026-10-17 · data · affects public figures
The stability dimension no longer treats 26,294 withdrawal-rule diffs (withdraw_change) as incidents; those rows came from per-rule collector comparisons, not outages or maintenance events.
The legacy data counted rule changes as stability incidents, which severely depressed some exchanges’ stability scores and produced a false signal. The static site excludes these rows from ranking and discloses the stability dimension as missing until real incident data is collected.
- 2026-10-14 · code
Menu dedupe plus removal of two duplicated blocks on the home page: ① the nav and footer each listed the site separately — 20 entries pointing at only 12 URLs (four with identical labels, and the two wallet entries both landing on /wallets, differing only by an anchor); it is now 7 nav + 3 footer = 10 unique URLs, with the footer carrying only what the nav does not (ranking changes / corrections / deposit rescue). ② the home page no longer renders the whole "other 45" directory table; it states the reason in one line and links to /exchanges, which is where the table belongs. ③ the home data-sources table no longer repeats an "affiliate relationship" column already shown row by row as "commercial relationship" in the composite board above — a "Partner" badge in the name cell plus one disclosure line replace it; a paragraph in the "Match first, then compare" section that repeated the third conversion cell was removed
All three were the same thing said twice: the same five exchanges appeared twice on the home page (composite board + data-sources table), affiliate disclosure appeared as two columns, the 45-row directory existed both on the home page and on /exchanges, and the Finder was described twice above the fold. **No published figure or methodology changed**: affiliate disclosure is still present row by row (a "Partner" badge plus one line), no directory content was deleted — it moved back to its own page — and the ranking formula, weights and sample threshold are untouched
- 2026-10-14 · code
The 12 per-country pages (/best-crypto-exchange/{cc}) are now indexed by data: while fewer than two exchanges have a measured record (available or restricted) for that country, the page is noindex, follow, stays out of the sitemap, and says so plainly under "Limitations"; once two are measured, indexing turns itself on
Measured and confirmed: these 12 pages render **byte-identical rows** to the home-page board (/ranking vs /ranking?country=in|ng|br|de|zz — same scores, same missing items, same sources; only the timestamp differs), because regional availability still has zero measurements. Indexing a set of pages that differ only by label degrades a site's overall quality assessment. **No published figure changed**: scores, ranks, missing items and sources are untouched; these pages simply are not submitted to search engines until the data lands, at which point indexing returns automatically with no code change
- 2026-10-14 · code
The ranking entry point changed shape: the nav used to point at `/best-crypto-exchange/in` (a "by country" page) and now points at the new `/best-crypto-exchange` — the composite board with no country. Country became a filter dropdown on that page (first option: worldwide), and `/best-crypto-exchange/{cc}` shrank to a filtered view of the same board. The legacy `/fees*` 301 targets follow the board, every in-site "rankings" link (review breadcrumbs and JSON-LD, directory page, comparison pages, home page, `llms.txt`) now points at the board, and the global `X-Robots-Tag: all` header was removed because it contradicted the filtered views' noindex
Two reasons: ① product-wise, country is a **filter**, so it should not own a menu entry named "rankings (by country)" nor suggest there are two boards; ② after the previous round made the 12 country views noindex until measurements land, the nav was pointing at one of those 12 — meaning **the board itself was not indexable**, and redirects were feeding link equity into pages we exclude. The board (no country) is now always indexable and the filtered views stay data-gated. **No published figure changed**: scores, ranks, missing items, sources, formula and weights are untouched — only the entry shape and indexing submission
- 2026-10-14 · code
Site navigation was restructured: the exchange line went from three entries (Exchange rankings / Exchange directory (top 50) / Head-to-head) down to a single "Exchanges" entry pointing at the country-free composite board at `/best-crypto-exchange`; the directory and the head-to-head pages are now entered from an entry row at the bottom of that page. A new "DEX" entry is shown greyed out and labelled "Coming soon" and is not clickable (there is no `/dex` route and no on-chain data has been collected yet). Groups that contain exactly one link no longer render a dropdown (Wallets and Learn previously asked for an extra click to reach a single page), and menu text now uses short group names.
Two reasons: 1) three menu slots for one decision made it look like three unrelated boards, when they are three steps of the same "which exchange" path; 2) a caret that opens a one-item panel asks for an extra click and promises a submenu that does not exist. **No published figure changed** — scores, ranks, missing-dimension labels, sources, fetch times, formula and weights are untouched; only the entry structure moved. The head-to-head pages were not taken down and did not lose their entry: they were previously linked back only by their own detail pages, so pulling them from the menu without an on-page entry would have left 10 comparison pages with a single sitemap link. That is why they are now placed at the bottom of the ranking page, together with the directory.
- 2026-10-14 · data · affects public figures
The measurement basis behind the top-50 exchange directory (/exchanges) changed wholesale: the ordering and the displayed 24h volume moved from **CoinLore's self-reported volume** to **CoinMarketCap's spot_volume_usd from /v1/exchange/info** (still self-reported, still not wash-filtered — the disclosure on the page is unchanged). Three things changed with it: 1) ranks and volume figures shift in bulk, because two third parties routinely disagree about a venue's self-reported volume; 2) active trading pairs went from "a number" to "not collected" — neither CMC map nor CMC info returns that field and the only endpoint that did is retired, and we will not substitute a figure from somewhere else; 3) rows are keyed anew by official domain / CMC slug, the stated region now uses the API's own value, and venues flagged is_redistributable=0 are excluded (the free tier does not licence redistributing their data). The five exchanges we have deeply profiled are still linked via exchangeId to their /reviews pages and composite-board scores.
The proximate cause: our CoinMarketCap key had been wired to the wrong endpoint. The engine called /v1/exchange/quotes/latest, which **is no longer on the free Basic plan** (measured: HTTP 403, error_code 1006), so CMC only ever contributed identity checks for 5 venues while CoinLore kept supplying the 50 directory rows. The path is now map for the full registry plus batched info for volume, so the directory is finally built on the source we actually configured (5 credits per run — one map call plus four batched info calls, counted from the API’s own credit_count). **Why this is filed as a correction**: published ranks and volumes changed together with the basis, so readers will see a venue in a different place with a different number from last week — that is a source change, not a data fix, and we have to say so first. A new guard was added as well: if any detail batch fails or coverage falls below 90%, the run emits no directory and the page keeps the previous complete top 50 with its earlier fetch timestamp — a partial response must never produce a ranking. No composite-board figure changed: not scores, weights, missing dimensions, nor reputation.
- 2026-10-12 · data · affects public figures
Corrected the locale tag on the Chinese article manifest: 10 Chinese articles had been tagged as en; they are now zh, with English as separate entries
A metadata error found during the bilingual work. A wrong tag makes content resolution pick the wrong language. User-visible effect: which articles appear when switching language on the Learn pages
- 2026-10-12 · data · affects public figures
Source labels and affiliate notes on English pages still showed Chinese (for example the official KYC page label); they are now translated from a controlled vocabulary
Those labels are data written by the collector, not UI copy, so localization was missed. User-visible effect: Chinese source names appearing on English pages
- 2026-10-12 · formula · affects public figures
Normalisation rule made explicit: when a dimension has the same value across all exchanges (or no data at all), it counts as a neutral 50, not full marks
Previously an undifferentiated dimension scored everyone at the maximum, treating a non-signal as an advantage. This changes composite scores and ranks. User-visible effect: composite scores, ranks, missing-dimension disclosure
- 2026-10-12 · data · affects public figures
Each ranking row now discloses data completeness and missing dimensions
Without it, users could read whoever has more collected data ranks higher as whoever is better. User-visible effect: ranking rows and the disclosure block on review pages
- 2026-10-12 · content · affects public figures
Literal markdown rendered as plain text on content pages (bold markers and a link to the local admin) was fixed into real bold text and a real link, and the dead link to the local-only admin was removed
Asterisks and bracket syntax were showing on the page and were not clickable. User-visible effect: education pages and country pages
- 2026-10-12 · formula · affects public figures
The ranking-history page returned half-English dimension names in Chinese: snapshot rows are now re-labelled in the requested language on read
Snapshots store the language of the day they were written. Numbers never changed — only label language. User-visible effect: ranking-history page