{
  "license": "CC-BY-4.0",
  "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "ChainChoice (https://chainchoice.io)",
  "url": "https://chainchoice.io/data/methodology/2026.09.4.json",
  "version": "2026.09.4",
  "status": "archived",
  "publishedAt": "2026-09-09",
  "title": "A tie is no longer broken by comparing one currency against another",
  "supersededBy": "2026.09.5",
  "previous": "2026.09.3",
  "changelog": {
    "url": "https://chainchoice.io/methodology/changelog/archive#v-2026.09.4",
    "entry": {
      "version": "2026.09.4",
      "publishedAt": "2026-09-09",
      "title": "A tie is no longer broken by comparing one currency against another",
      "summary": "The engine breaks a genuine score tie by relative advantage on the category’s one comparable pricing basis. That basis was already barred from deciding a tie when it is a derived ladder floor (`entryAnnualUsd`), and the rule gave two reasons: the floor rewards a cheap starter tier, AND it is \"quoted in whatever currency the vendor publishes, so a tie could turn on an unconverted €39 beating a $49\". The second reason is not special to that field, and the guard never checked it. hardware_wallet publishes twelve prices in USD and one in EUR — BitBox at 149, in a field named `oneTimeUsd` — so the tie-break read €149 and $149 as the same number. tax_software is mixed too and never moved, because its basis is `entryAnnualUsd`, which the older half of the same rule had already barred — the two halves were written for one reason and only one of them was being asked. The basis already carried a `currencies` list computed for exactly this question; the guard now asks it. A mixed-currency basis may still inform and display, and may no longer decide. Converting is deliberately NOT the fix: a rate converted at today’s mid-market is a number the vendor never published.",
      "rationale": "A published order must not turn on a unit mismatch. €149 and $149 are not the same price, and a reader cannot see which of two tied rows was put first because one of them quotes in a weaker currency. The alternative — converting — would replace a published figure with an invented one and make the order depend on the day it was built.",
      "affectedCategories": [
        "hardware_wallet"
      ],
      "changes": [
        {
          "type": "changed",
          "description": "basisMayDecideRank now returns false when the basis carries more than one currency, alongside the existing entryAnnualUsd rule."
        },
        {
          "type": "changed",
          "description": "Measured over all 119 categories by regenerating rankings.json: one category moves. hardware_wallet swaps two pairs, both TIED on score — ledger/coldcard at 67 and tangem/cypherock at 62. No score changed anywhere, and BitBox itself does not move: it is not tied with anyone."
        },
        {
          "type": "changed",
          "description": "The golden wizard suite moves in 10 of its 2,217 personalised cases, all in hardware_wallet, and every one is a pair on an identical score (67/67, 62/62, 80/80)."
        },
        {
          "type": "added",
          "description": "tests/economic-semantics.test.ts asserts that a mixed-currency basis cannot decide rank, and pins the two categories that are mixed — so a future record that quietly adds a second currency to a third category is caught rather than silently reordering it."
        }
      ],
      "approvedBy": "mathias-siemonsmeier"
    }
  },
  "rules": {
    "source": {
      "src": "git:8567fdfa0b53b5011d6b5d4470b03a4a933f1a34",
      "at": "2026-09-10T11:45:41+02:00",
      "note": "The category specs as committed at the last commit before the next version was recorded."
    },
    "introduced": {
      "commit": "58cc13142070da45e2c443d7afb0edaf57f147cb",
      "at": "2026-09-09T13:21:51+02:00"
    },
    "specCommitsAfterIntroduction": 1,
    "categories": {
      "account_abstraction_infra": {
        "specVersion": "2026.08",
        "sha256": "9cdcdf58fadb7bc41cfe9ac980c1db4a3c9ed428c0e12b8a8dc8c926e4e31f84",
        "url": "https://chainchoice.io/data/methodology/category/account_abstraction_infra.9cdcdf58fadb7bc4.json"
      },
      "appchains_l3s": {
        "specVersion": "2026.08",
        "sha256": "2f8a94fd3b5da1a24d344febf8b8f0184412231850aeaeb07ef82ceba6cc3e27",
        "url": "https://chainchoice.io/data/methodology/category/appchains_l3s.2f8a94fd3b5da1a2.json"
      },
      "attestations": {
        "specVersion": "2026.08",
        "sha256": "297a415d026f857d227c6ff475d675adfe403708d71e54a12196093c711ea88d",
        "url": "https://chainchoice.io/data/methodology/category/attestations.297a415d026f857d.json"
      },
      "automation_keepers": {
        "specVersion": "2026.08",
        "sha256": "b854bec377b1f31a3871d0ba22a6e14c06c8618f720e79c07a71eb96b94e8524",
        "url": "https://chainchoice.io/data/methodology/category/automation_keepers.b854bec377b1f31a.json"
      },
      "bill_pay": {
        "specVersion": "2026.08",
        "sha256": "ea094ff6f7b53443910f564899608e764cee4f86e3346b8b922ffb05698f886c",
        "url": "https://chainchoice.io/data/methodology/category/bill_pay.ea094ff6f7b53443.json"
      },
      "block_explorers": {
        "specVersion": "2026.08",
        "sha256": "7b3bf49770256c2287a72c7a8475b88ce38c52f4c64e836780350b8823b3d5ba",
        "url": "https://chainchoice.io/data/methodology/category/block_explorers.7b3bf49770256c22.json"
      },
      "bridges": {
        "specVersion": "2026.04",
        "sha256": "d8c71dccaae9e436c354851b283cb58e5121cb6b4344288cec5603e1a42cfe14",
        "url": "https://chainchoice.io/data/methodology/category/bridges.d8c71dccaae9e436.json"
      },
      "bug_bounties": {
        "specVersion": "2026.08",
        "sha256": "c72991a94e0d400e8c162ce4db594f393f01489d1a9aefc939b158181651b359",
        "url": "https://chainchoice.io/data/methodology/category/bug_bounties.c72991a94e0d400e.json"
      },
      "business_banking": {
        "specVersion": "2026.08",
        "sha256": "a0c3c55f0107f6bcab29c2a19a72874d2f502bd17423c049fa084540ce98543e",
        "url": "https://chainchoice.io/data/methodology/category/business_banking.a0c3c55f0107f6bc.json"
      },
      "carbon_credits": {
        "specVersion": "2026.08",
        "sha256": "0d1ab77a90ae8d1a092616e7ba4db6b001236d0cd46126f45a74114afcd19a6d",
        "url": "https://chainchoice.io/data/methodology/category/carbon_credits.0d1ab77a90ae8d1a.json"
      },
      "cdp_stablecoins": {
        "specVersion": "2026.08",
        "sha256": "f8612e8a8109fd917af8b7a916c73fe481024a9e7c91760aa8df889e6c554deb",
        "url": "https://chainchoice.io/data/methodology/category/cdp_stablecoins.f8612e8a8109fd91.json"
      },
      "creator_mint_platforms": {
        "specVersion": "2026.08",
        "sha256": "c34d053e70a89202ac553a2acb8b2f7b38c0bfbde1f61b41a1ed51d2344b44d3",
        "url": "https://chainchoice.io/data/methodology/category/creator_mint_platforms.c34d053e70a89202.json"
      },
      "cross_chain_messaging": {
        "specVersion": "2026.08",
        "sha256": "1bd3e838a72dac9c486af26267ae47ee6e0580f585e50e9753fa1127a5b87e0d",
        "url": "https://chainchoice.io/data/methodology/category/cross_chain_messaging.1bd3e838a72dac9c.json"
      },
      "cross_chain_swaps": {
        "specVersion": "2026.08",
        "sha256": "9c4f01b988ac0e515afee660bc127cf460f4aa75822ee94ac919245595675aa7",
        "url": "https://chainchoice.io/data/methodology/category/cross_chain_swaps.9c4f01b988ac0e51.json"
      },
      "crypto_backed_loans": {
        "specVersion": "2026.08",
        "sha256": "cde0767f32a620d49a3426d875d5742052767b6877e5f795bfe99fbeb9d9ac38",
        "url": "https://chainchoice.io/data/methodology/category/crypto_backed_loans.cde0767f32a620d4.json"
      },
      "crypto_card": {
        "specVersion": "2026.08",
        "sha256": "2bed09e4cb9717420e0539d285eae53c4add05c5b89307b597a3573cc9508006",
        "url": "https://chainchoice.io/data/methodology/category/crypto_card.2bed09e4cb971742.json"
      },
      "crypto_neobanks": {
        "specVersion": "2026.08",
        "sha256": "99911df3de17e85780118d782d7fa5477822dc5f6b3ef8ed3b19c3e5212e88dc",
        "url": "https://chainchoice.io/data/methodology/category/crypto_neobanks.99911df3de17e857.json"
      },
      "crypto_payroll": {
        "specVersion": "2026.08",
        "sha256": "d61a07d6b6fbb93b864d175fa44c178307d12538fdc9b3e2b7f206d8b2dd3192",
        "url": "https://chainchoice.io/data/methodology/category/crypto_payroll.d61a07d6b6fbb93b.json"
      },
      "data_availability": {
        "specVersion": "2026.08",
        "sha256": "00ba702a59aa9a2e1795b3b73d45832f024c58c65f003881928d961bf5238db2",
        "url": "https://chainchoice.io/data/methodology/category/data_availability.00ba702a59aa9a2e.json"
      },
      "decentralised_compute": {
        "specVersion": "2026.08",
        "sha256": "c282786584f7331e62c4d89d6e51945619674296a2ff0ffd8ffd89fe4b57c9ac",
        "url": "https://chainchoice.io/data/methodology/category/decentralised_compute.c282786584f7331e.json"
      },
      "decentralised_id": {
        "specVersion": "2026.08",
        "sha256": "061498198a489cb3c3716d92b61c03866cf605f1a5ad01762661294466291519",
        "url": "https://chainchoice.io/data/methodology/category/decentralised_id.061498198a489cb3.json"
      },
      "decentralised_storage": {
        "specVersion": "2026.08",
        "sha256": "1cb2b237dc9dc64bd39b6a35bbc76709f11491504716a3ea139a32779ef207c0",
        "url": "https://chainchoice.io/data/methodology/category/decentralised_storage.1cb2b237dc9dc64b.json"
      },
      "defi_dashboards": {
        "specVersion": "2026.08",
        "sha256": "00cd269fc3ee7b1256de7cc676d97001b543fe59517d01ca4089814ff549853a",
        "url": "https://chainchoice.io/data/methodology/category/defi_dashboards.00cd269fc3ee7b12.json"
      },
      "defi_insurance": {
        "specVersion": "2026.08",
        "sha256": "08ad5055430127f8c1e95e87b1e500226fefe6e54ba3d29c0c2a0b4432911d0e",
        "url": "https://chainchoice.io/data/methodology/category/defi_insurance.08ad5055430127f8.json"
      },
      "depin_networks": {
        "specVersion": "2026.08",
        "sha256": "90a63ce4ea132d6a0fb0851982f5cc0dad8bfb9b73278edd2fb1ccb6ad7ed258",
        "url": "https://chainchoice.io/data/methodology/category/depin_networks.90a63ce4ea132d6a.json"
      },
      "dev_frameworks": {
        "specVersion": "2026.08",
        "sha256": "aa2bb3bf770594eaea0f20ec615431240d2357e99a004530524c570f3dda5717",
        "url": "https://chainchoice.io/data/methodology/category/dev_frameworks.aa2bb3bf770594ea.json"
      },
      "dex": {
        "specVersion": "2026.07",
        "sha256": "7d7eba66c52cb6a9c595bafc1224414bef58e9a471c2e5d50188572da198e749",
        "url": "https://chainchoice.io/data/methodology/category/dex.7d7eba66c52cb6a9.json"
      },
      "dex_aggregator": {
        "specVersion": "2026.07",
        "sha256": "9463ba6b06d101cda2ae6aeb2bb293fb1d9ee7e35afdf1040ecdd06ba5483929",
        "url": "https://chainchoice.io/data/methodology/category/dex_aggregator.9463ba6b06d101cd.json"
      },
      "enterprise_accounting": {
        "specVersion": "2026.08",
        "sha256": "fc15105199a788aaf0a2bdbcf5972bd332766a135bc171612ff5b1a7b092909e",
        "url": "https://chainchoice.io/data/methodology/category/enterprise_accounting.fc15105199a788aa.json"
      },
      "exchange": {
        "specVersion": "2026.08",
        "sha256": "3fde85604e9b64247512012bbe7f5a7a97c6fd6d30901bdd933531a5c29ecbea",
        "url": "https://chainchoice.io/data/methodology/category/exchange.3fde85604e9b6424.json"
      },
      "fixed_rate_yield": {
        "specVersion": "2026.08",
        "sha256": "a658d642567cb2bfd4274af84a3142ae32e7f1183c834751427401cf2c678070",
        "url": "https://chainchoice.io/data/methodology/category/fixed_rate_yield.a658d642567cb2bf.json"
      },
      "flash_loans": {
        "specVersion": "2026.08",
        "sha256": "d158664aca9a2812fa0fdbbd350c83a74d22c7388fe7fea8b462df3a78cdd8a2",
        "url": "https://chainchoice.io/data/methodology/category/flash_loans.d158664aca9a2812.json"
      },
      "gift_cards": {
        "specVersion": "2026.08",
        "sha256": "98ce1e8efda2aa51cc1720e62a1d39ac849db8a02b91d2562f9d2e64afad4646",
        "url": "https://chainchoice.io/data/methodology/category/gift_cards.98ce1e8efda2aa51.json"
      },
      "governance_tools": {
        "specVersion": "2026.08",
        "sha256": "580f8f0509f91e836866b665d5580621a8d73cb0648e32fc7dd78d9204b537fe",
        "url": "https://chainchoice.io/data/methodology/category/governance_tools.580f8f0509f91e83.json"
      },
      "hardware_wallet": {
        "specVersion": "2026.07",
        "sha256": "48d758f1b21bfacab53742e3cb78d1e8da37008739aa457e78d28b0f0781158e",
        "url": "https://chainchoice.io/data/methodology/category/hardware_wallet.48d758f1b21bfaca.json"
      },
      "incentive_distribution": {
        "specVersion": "2026.08",
        "sha256": "c7e7e79089181dfd3827316d2afdcc8e886854d8579673eb3f82707a76a7b2f5",
        "url": "https://chainchoice.io/data/methodology/category/incentive_distribution.c7e7e79089181dfd.json"
      },
      "indexers": {
        "specVersion": "2026.08",
        "sha256": "eae2dc8ce714e6dac987db17eef24218e2020b4ec5b10ec41faa74ae260a9c97",
        "url": "https://chainchoice.io/data/methodology/category/indexers.eae2dc8ce714e6da.json"
      },
      "institutional_custody": {
        "specVersion": "2026.08",
        "sha256": "af9bb794fe0acff7389ed989901d49c68c03cfa55a1d9c18a2cf852e48f28a8e",
        "url": "https://chainchoice.io/data/methodology/category/institutional_custody.af9bb794fe0acff7.json"
      },
      "institutional_execution": {
        "specVersion": "2026.08",
        "sha256": "0bf372c2c903a31c5a3652b9edbce592e5b3dd99d2c2f321a286afee59278972",
        "url": "https://chainchoice.io/data/methodology/category/institutional_execution.0bf372c2c903a31c.json"
      },
      "intents": {
        "specVersion": "2026.08",
        "sha256": "5a750fecaedbca0d07f09821792300a4d413928aeff3e56a6b761f85c2e06b2f",
        "url": "https://chainchoice.io/data/methodology/category/intents.5a750fecaedbca0d.json"
      },
      "key_recovery": {
        "specVersion": "2026.08",
        "sha256": "81246023b8f611db99eec60610d5ad16a7c77835892ad4dbc0f4f29d94c1f661",
        "url": "https://chainchoice.io/data/methodology/category/key_recovery.81246023b8f611db.json"
      },
      "kyc_compliance": {
        "specVersion": "2026.08",
        "sha256": "4901f1c55c969586b86518c50420bad2ee43dc633a3861158fc3bf8a75893d4c",
        "url": "https://chainchoice.io/data/methodology/category/kyc_compliance.4901f1c55c969586.json"
      },
      "l2_chains": {
        "specVersion": "2026.07",
        "sha256": "c2c804058032d20c09d1f579c09e0049d53961b581493cb38aafb28a239e887d",
        "url": "https://chainchoice.io/data/methodology/category/l2_chains.c2c804058032d20c.json"
      },
      "launchpads": {
        "specVersion": "2026.08",
        "sha256": "4879aca33f17fbe9bc99a31c2001faebd735332806dafce447cf695797e4cddf",
        "url": "https://chainchoice.io/data/methodology/category/launchpads.4879aca33f17fbe9.json"
      },
      "layer1_chains": {
        "specVersion": "2026.08",
        "sha256": "a15c9a129e9ae2df4700ae8bfc3b5ee36e70572e93df5fbc97cfeaac1b5afc4b",
        "url": "https://chainchoice.io/data/methodology/category/layer1_chains.a15c9a129e9ae2df.json"
      },
      "lending_borrowing": {
        "specVersion": "2026.08",
        "sha256": "f408af2c207fedf00013626c5b376e6a7565dc0917cb4ba58c3f26d82e815efb",
        "url": "https://chainchoice.io/data/methodology/category/lending_borrowing.f408af2c207fedf0.json"
      },
      "lightning_payment_infrastructure": {
        "specVersion": "2026.08",
        "sha256": "1bb7f2300e1edf9196f7ea14a561f3f998d9cde0d7c1aa80c01e174f31b66ddd",
        "url": "https://chainchoice.io/data/methodology/category/lightning_payment_infrastructure.1bb7f2300e1edf91.json"
      },
      "lightning_wallets": {
        "specVersion": "2026.08",
        "sha256": "4d0cfcb4f91110362df413f5c4d4fd7803f664df29126964bf10cb5a2c771703",
        "url": "https://chainchoice.io/data/methodology/category/lightning_wallets.4d0cfcb4f9111036.json"
      },
      "liquid_lockers": {
        "specVersion": "2026.08",
        "sha256": "d0ba4b6f05602ffee4ecbe4bea24d1a13b005a2e87b2076d0dc969c6efeea935",
        "url": "https://chainchoice.io/data/methodology/category/liquid_lockers.d0ba4b6f05602ffe.json"
      },
      "liquid_staking": {
        "specVersion": "2026.08",
        "sha256": "8a246c66a5585b3ef6829d7a99f18e50ad22802ed03605168c4fae6136feb564",
        "url": "https://chainchoice.io/data/methodology/category/liquid_staking.8a246c66a5585b3e.json"
      },
      "liquidity_management": {
        "specVersion": "2026.08",
        "sha256": "3ffdf123f4412e7e173fe9d9e929a2124eabe51fa510ec5bbb6a39a929f47dab",
        "url": "https://chainchoice.io/data/methodology/category/liquidity_management.3ffdf123f4412e7e.json"
      },
      "market_data_apis": {
        "specVersion": "2026.08",
        "sha256": "887ecde39e1680436493cce3c73ed2ad2910beb53dd8325df8b7990aa6d1ed82",
        "url": "https://chainchoice.io/data/methodology/category/market_data_apis.887ecde39e168043.json"
      },
      "mev_protection": {
        "specVersion": "2026.08",
        "sha256": "978395b9a6dcd0511b8d6aaaf63517267147d2e42317300f59d69549843ca31a",
        "url": "https://chainchoice.io/data/methodology/category/mev_protection.978395b9a6dcd051.json"
      },
      "mining_pools": {
        "specVersion": "2026.08",
        "sha256": "5ee713b6f06c656e135ca63f0ff968ba348813eb745f32853796dcde32e8c1d8",
        "url": "https://chainchoice.io/data/methodology/category/mining_pools.5ee713b6f06c656e.json"
      },
      "money_market_funds": {
        "specVersion": "2026.08",
        "sha256": "ecd7b4abf6b361b21f0bef41b389c079c95fef26954fd9ad82489ed9af82bffe",
        "url": "https://chainchoice.io/data/methodology/category/money_market_funds.ecd7b4abf6b361b2.json"
      },
      "mpc_wallets": {
        "specVersion": "2026.08",
        "sha256": "13c4cdc3db3c4bfc59cd099c74bfd1e11334174166bdec48d207d1a937e138bd",
        "url": "https://chainchoice.io/data/methodology/category/mpc_wallets.13c4cdc3db3c4bfc.json"
      },
      "naming_services": {
        "specVersion": "2026.08",
        "sha256": "b6b0542596292bfef5a84e7b7f58c3a73e9a06f2c726913c51e068fe1c64c2a8",
        "url": "https://chainchoice.io/data/methodology/category/naming_services.b6b0542596292bfe.json"
      },
      "nft_analytics": {
        "specVersion": "2026.08",
        "sha256": "289847ca262c0e99769b1db11c6537f4e6f7810f782688c3134e98d21fd1692e",
        "url": "https://chainchoice.io/data/methodology/category/nft_analytics.289847ca262c0e99.json"
      },
      "nft_lending": {
        "specVersion": "2026.08",
        "sha256": "feb030793a85356caf66a9725719286a8a7da0c4e272678eca090735b6fed05f",
        "url": "https://chainchoice.io/data/methodology/category/nft_lending.feb030793a85356c.json"
      },
      "nft_marketplace": {
        "specVersion": "2026.08",
        "sha256": "c2bf4a8442711a67321a5e585d057705cc512394336a179659469ebeb9b86260",
        "url": "https://chainchoice.io/data/methodology/category/nft_marketplace.c2bf4a8442711a67.json"
      },
      "offramps": {
        "specVersion": "2026.08",
        "sha256": "ccf29c20ba97487e50a82d5f42c0ba803338b7e9c4d001aa1d7a230e1b239d81",
        "url": "https://chainchoice.io/data/methodology/category/offramps.ccf29c20ba97487e.json"
      },
      "onchain_analytics": {
        "specVersion": "2026.08",
        "sha256": "111232fe3ccd29af9341793bf4f98ac84cc0375d25b791313770104e7989a809",
        "url": "https://chainchoice.io/data/methodology/category/onchain_analytics.111232fe3ccd29af.json"
      },
      "onchain_monitoring": {
        "specVersion": "2026.08",
        "sha256": "d8e76bac94dd0d3a30ac553b4b78e7000657a01ef6652abbc24c14e3af03bb82",
        "url": "https://chainchoice.io/data/methodology/category/onchain_monitoring.d8e76bac94dd0d3a.json"
      },
      "onramp": {
        "specVersion": "2026.08",
        "sha256": "2cc027b1cc0133d4c8519caf069abff0a90fd87e4acfb9ced7103af596c11485",
        "url": "https://chainchoice.io/data/methodology/category/onramp.2cc027b1cc0133d4.json"
      },
      "options_vaults": {
        "specVersion": "2026.08",
        "sha256": "63e01831f4560de7f7669d210dbcf939cf747a795a87ec141826187a6e9f169e",
        "url": "https://chainchoice.io/data/methodology/category/options_vaults.63e01831f4560de7.json"
      },
      "oracles": {
        "specVersion": "2026.08",
        "sha256": "1dcb405187547dc70d55a2331e9842df9b2e63ebacdef3f87ea5bcf7895147f7",
        "url": "https://chainchoice.io/data/methodology/category/oracles.1dcb405187547dc7.json"
      },
      "otc_desks": {
        "specVersion": "2026.08",
        "sha256": "344c995fc932610e7ee566e72081aeac1a5978f09d272ddd8725c8c0dc6e9bc1",
        "url": "https://chainchoice.io/data/methodology/category/otc_desks.344c995fc932610e.json"
      },
      "p2p_exchanges": {
        "specVersion": "2026.08",
        "sha256": "8d4881936fd3f127ad07878cdc45c62c410c0551ccacce598285529c00b06335",
        "url": "https://chainchoice.io/data/methodology/category/p2p_exchanges.8d4881936fd3f127.json"
      },
      "paid_research_seats": {
        "specVersion": "2026.08",
        "sha256": "bbf05076b987735213046e8656bdfcb627d45a6048a09b351b6b1d708eb7a6d1",
        "url": "https://chainchoice.io/data/methodology/category/paid_research_seats.bbf05076b9877352.json"
      },
      "payment_gateway": {
        "specVersion": "2026.04",
        "sha256": "0a6f8bd0c60246c524686e21f2d9de15f630e2cc880aa3a37572511c03fbdcfe",
        "url": "https://chainchoice.io/data/methodology/category/payment_gateway.0a6f8bd0c60246c5.json"
      },
      "perp_dex": {
        "specVersion": "2026.07",
        "sha256": "2b45734e126b4fb63d3a8f07ce48cb247db997a88424a18dd3467676425c2318",
        "url": "https://chainchoice.io/data/methodology/category/perp_dex.2b45734e126b4fb6.json"
      },
      "perp_house_vaults": {
        "specVersion": "2026.08",
        "sha256": "bdf16bb940bcd2495a442d9ab2774278671529b39b32f6e1dd808eb404343d86",
        "url": "https://chainchoice.io/data/methodology/category/perp_house_vaults.bdf16bb940bcd249.json"
      },
      "portfolio_tracking": {
        "specVersion": "2026.08",
        "sha256": "acb1106dd2505da325008479ae8e24b86197ccb9cee9ea554a4eb497d1956acb",
        "url": "https://chainchoice.io/data/methodology/category/portfolio_tracking.acb1106dd2505da3.json"
      },
      "prediction_markets": {
        "specVersion": "2026.08",
        "sha256": "a4cbba024e632f7706afbe696d06588ac6d2e2c918ee8fa9e869ba8512a087ab",
        "url": "https://chainchoice.io/data/methodology/category/prediction_markets.a4cbba024e632f77.json"
      },
      "privacy_tools": {
        "specVersion": "2026.08",
        "sha256": "a445a1b6ef7591ad196ceb7b14b02f6a180e9c910bcd3b443c16e253698a7d2c",
        "url": "https://chainchoice.io/data/methodology/category/privacy_tools.a445a1b6ef7591ad.json"
      },
      "private_credit": {
        "specVersion": "2026.08",
        "sha256": "4ddd3bd3755208e0e37502f8430bf72cb48ec086281fe30d890c6c3e7f953e83",
        "url": "https://chainchoice.io/data/methodology/category/private_credit.4ddd3bd3755208e0.json"
      },
      "proof_of_personhood": {
        "specVersion": "2026.08",
        "sha256": "3be5b341cea036a2be8dac583e4393f21e58f783754268bcedc48b9ff2b2c193",
        "url": "https://chainchoice.io/data/methodology/category/proof_of_personhood.3be5b341cea036a2.json"
      },
      "relayers": {
        "specVersion": "2026.08",
        "sha256": "8a93435672db95ad062b675c244e0d368c4ad288234172dcf3701482865a3d31",
        "url": "https://chainchoice.io/data/methodology/category/relayers.8a93435672db95ad.json"
      },
      "remittances": {
        "specVersion": "2026.08",
        "sha256": "3716f52457aea76adf8a0801c7558bfbd22d94425c14e5d74f679beca80d1cec",
        "url": "https://chainchoice.io/data/methodology/category/remittances.3716f52457aea76a.json"
      },
      "restaking": {
        "specVersion": "2026.08",
        "sha256": "5fe7a650362ac0662d8fa582db7c7a8dd8ecd5f18fa92d9e73e688a7fd695748",
        "url": "https://chainchoice.io/data/methodology/category/restaking.5fe7a650362ac066.json"
      },
      "revoke_tools": {
        "specVersion": "2026.08",
        "sha256": "5bb62eee1441c37c7d4b268c88353b383f415fa7fe241f5310979dc8cd5a80eb",
        "url": "https://chainchoice.io/data/methodology/category/revoke_tools.5bb62eee1441c37c.json"
      },
      "rollup_as_a_service": {
        "specVersion": "2026.08",
        "sha256": "a9777e957623d6c8e91a2819dc608eec30e980fa18c46f752ac2ef5e34c871e2",
        "url": "https://chainchoice.io/data/methodology/category/rollup_as_a_service.a9777e957623d6c8.json"
      },
      "rpc_nodes": {
        "specVersion": "2026.08",
        "sha256": "c421d22a271bdcd12e12fa114a5a39e806c78fe8041baa0fc531ca894c05b5df",
        "url": "https://chainchoice.io/data/methodology/category/rpc_nodes.c421d22a271bdcd1.json"
      },
      "screeners": {
        "specVersion": "2026.08",
        "sha256": "0dc4517be64edc3bc26f39844533fd032590978cba62bde1fb760af0bd9d28da",
        "url": "https://chainchoice.io/data/methodology/category/screeners.0dc4517be64edc3b.json"
      },
      "seed_backup": {
        "specVersion": "2026.08",
        "sha256": "f8acd99c42b2bd0a5fbfb14ce5c9451831045f2e08c7229f4770386486465943",
        "url": "https://chainchoice.io/data/methodology/category/seed_backup.f8acd99c42b2bd0a.json"
      },
      "sentiment_analytics": {
        "specVersion": "2026.08",
        "sha256": "f252ba214f4f5be0d0d071b54e89ddf63fcab6ea3656299db89fee3eacedc112",
        "url": "https://chainchoice.io/data/methodology/category/sentiment_analytics.f252ba214f4f5be0.json"
      },
      "shared_sequencers": {
        "specVersion": "2026.08",
        "sha256": "66d08fdaf18ad29512f7947e96bf378932ba9d7d90638067f59ec6f5a3797812",
        "url": "https://chainchoice.io/data/methodology/category/shared_sequencers.66d08fdaf18ad295.json"
      },
      "sidechains": {
        "specVersion": "2026.08",
        "sha256": "e1d7f0813e8662db1e21db7949595d8e68750dcbc99c2c2f28ccd3dda00f81eb",
        "url": "https://chainchoice.io/data/methodology/category/sidechains.e1d7f0813e8662db.json"
      },
      "simple_buy": {
        "specVersion": "2026.08",
        "sha256": "8c2d6ee31fab71b50cc5627671597f85817bc7c0c46b02abb2aff3fade2c7960",
        "url": "https://chainchoice.io/data/methodology/category/simple_buy.8c2d6ee31fab71b5.json"
      },
      "smart_accounts": {
        "specVersion": "2026.08",
        "sha256": "644a1283282c11ffe317610ea8b92a776a63d4422d84642de564728593f1d8b6",
        "url": "https://chainchoice.io/data/methodology/category/smart_accounts.644a1283282c11ff.json"
      },
      "smart_contract_audits": {
        "specVersion": "2026.08",
        "sha256": "8f12879f19d63ae19d0317fc903616aa77b7a4c731ddb9bc30df84b6a677ab21",
        "url": "https://chainchoice.io/data/methodology/category/smart_contract_audits.8f12879f19d63ae1.json"
      },
      "socialfi": {
        "specVersion": "2026.08",
        "sha256": "738efba80a5816352723460070876a8a886116d6c27687f86fd9b34f536ec5ab",
        "url": "https://chainchoice.io/data/methodology/category/socialfi.738efba80a581635.json"
      },
      "stablecoin_issuance": {
        "specVersion": "2026.08",
        "sha256": "1bb229709263a059ce19fec7df96850cf33c61a23201387c0c7f2c7820c9bb9b",
        "url": "https://chainchoice.io/data/methodology/category/stablecoin_issuance.1bb229709263a059.json"
      },
      "stablecoin_settlement": {
        "specVersion": "2026.08",
        "sha256": "0222b74aa2725db7aea503f20a724109f8057b4a3154bcfb7bf8fc32dec6344f",
        "url": "https://chainchoice.io/data/methodology/category/stablecoin_settlement.0222b74aa2725db7.json"
      },
      "stablecoin_yield": {
        "specVersion": "2026.08",
        "sha256": "86813e3020f45ccc0f2c69c3eff756944147a51bd999d821cc9f740c29463fb0",
        "url": "https://chainchoice.io/data/methodology/category/stablecoin_yield.86813e3020f45ccc.json"
      },
      "stablecoins": {
        "specVersion": "2026.08",
        "sha256": "931622433310404456c6bec038619fc47658f2f5ab5e09d828c6e062d3f35252",
        "url": "https://chainchoice.io/data/methodology/category/stablecoins.9316224333104044.json"
      },
      "staking": {
        "specVersion": "2026.08",
        "sha256": "861d8dfa88d6b5e0e4109ee452c2dfc37c4bd79c7a9c698e9d8a0f2601bebabf",
        "url": "https://chainchoice.io/data/methodology/category/staking.861d8dfa88d6b5e0.json"
      },
      "structured_products": {
        "specVersion": "2026.08",
        "sha256": "a47ce6fd531a721a1c4d8611609f77e90bd1c5f7cc01485a9b15771a7c6517cb",
        "url": "https://chainchoice.io/data/methodology/category/structured_products.a47ce6fd531a721a.json"
      },
      "subscriptions": {
        "specVersion": "2026.08",
        "sha256": "85983f23dc56b536a8243eb8481d26976586151b0f6121797cee86460f4b8645",
        "url": "https://chainchoice.io/data/methodology/category/subscriptions.85983f23dc56b536.json"
      },
      "tax_software": {
        "specVersion": "2026.08",
        "sha256": "5071928ba01ec28badf2b46ce4d30cb6abe416ba3ce539e1d5b5a41a64a4e043",
        "url": "https://chainchoice.io/data/methodology/category/tax_software.5071928ba01ec28b.json"
      },
      "token_launch_platforms": {
        "specVersion": "2026.08",
        "sha256": "66e09f8f99a2cbb1cbe7ccfc515ff43cd868dce6fc66548ac3122d2985487765",
        "url": "https://chainchoice.io/data/methodology/category/token_launch_platforms.66e09f8f99a2cbb1.json"
      },
      "token_standards": {
        "specVersion": "2026.08",
        "sha256": "ba764cfdd947bd8674fa0a2dab3cb5622651e6c2e251c56f530413e430feab21",
        "url": "https://chainchoice.io/data/methodology/category/token_standards.ba764cfdd947bd86.json"
      },
      "tokenisation_platforms": {
        "specVersion": "2026.08",
        "sha256": "d936c28630c97e5fc65150f204fdc8d071bbb17dff33a474bafa847e59197985",
        "url": "https://chainchoice.io/data/methodology/category/tokenisation_platforms.d936c28630c97e5f.json"
      },
      "tokenised_bonds": {
        "specVersion": "2026.08",
        "sha256": "03e8dee6fec0bcd23a3ac16073cb48a90de2d867688c0c396c6ce5fe0113921d",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_bonds.03e8dee6fec0bcd2.json"
      },
      "tokenised_commodities": {
        "specVersion": "2026.08",
        "sha256": "04d27f664dd0519aef9f62f25b17cbdc81dcad1be4ed00bc4127e22deba38872",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_commodities.04d27f664dd0519a.json"
      },
      "tokenised_equities": {
        "specVersion": "2026.08",
        "sha256": "33cc5958d7644944a37521c360d34d1dd082f2031828a53bb71b7814f58debd1",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_equities.33cc5958d7644944.json"
      },
      "tokenised_funds": {
        "specVersion": "2026.08",
        "sha256": "d75d430c7d4c99cd97a9949067cd829ede67dfb814ed0451c1d641efc053cabc",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_funds.d75d430c7d4c99cd.json"
      },
      "tokenised_realestate": {
        "specVersion": "2026.08",
        "sha256": "5059f64669f200a13812ce1ca248b36a08abbc97f4ddbd56a9cc3d9d16092e93",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_realestate.5059f64669f200a1.json"
      },
      "tokenised_tbills": {
        "specVersion": "2026.08",
        "sha256": "d25992df2473863e778ba1f2f3095326cd5bc4c64ba3294eafeb288e548a1cc5",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_tbills.d25992df2473863e.json"
      },
      "trading_bots": {
        "specVersion": "2026.08",
        "sha256": "afa752ad4748b279e8fd376584c7205d0ef964faa8c79242edf2b3f7e2e05867",
        "url": "https://chainchoice.io/data/methodology/category/trading_bots.afa752ad4748b279.json"
      },
      "trading_tools": {
        "specVersion": "2026.08",
        "sha256": "af8ae198772fefe3abab2dab1d2b6cf67f39d48e51438ac37de7bd4f4f15eeca",
        "url": "https://chainchoice.io/data/methodology/category/trading_tools.af8ae198772fefe3.json"
      },
      "transaction_simulation": {
        "specVersion": "2026.08",
        "sha256": "0a1159054ad1455b4507946b910db01c4f67276fb0297ba45e98668ac0fa2d30",
        "url": "https://chainchoice.io/data/methodology/category/transaction_simulation.0a1159054ad1455b.json"
      },
      "travel_rule_compliance": {
        "specVersion": "2026.08",
        "sha256": "526fac4a777418f9a1a3b8d3c8a0ae3a9ef72038449c6b35cbd2e1db3a782e4d",
        "url": "https://chainchoice.io/data/methodology/category/travel_rule_compliance.526fac4a777418f9.json"
      },
      "wallet": {
        "specVersion": "2026.08",
        "sha256": "1bf9952c9423ffd1c0986c744ba951805feb5dddfc3b5a3edf621afe153a8ea6",
        "url": "https://chainchoice.io/data/methodology/category/wallet.1bf9952c9423ffd1.json"
      },
      "wallet_screening": {
        "specVersion": "2026.08",
        "sha256": "0452c535581f72ce17903e5b6dee69dd59dc7ae0120441547da7fb4cb17eecdf",
        "url": "https://chainchoice.io/data/methodology/category/wallet_screening.0452c535581f72ce.json"
      },
      "web3_apps": {
        "specVersion": "2026.04",
        "sha256": "e2e45c5a3a593a6893cc2c6bbcffd4041c075d30a87a59f1f52aa94f89be58dd",
        "url": "https://chainchoice.io/data/methodology/category/web3_apps.e2e45c5a3a593a68.json"
      },
      "wrapped_assets": {
        "specVersion": "2026.08",
        "sha256": "a417791a50b6827922793e293a8241594a6a6c8176592c195a348fe8e2e3e799",
        "url": "https://chainchoice.io/data/methodology/category/wrapped_assets.a417791a50b68279.json"
      },
      "yield_aggregators": {
        "specVersion": "2026.08",
        "sha256": "9ea23079baa8aa79034f947fa380718a632f69dbdc8cd24d8a62ae260c49a8fc",
        "url": "https://chainchoice.io/data/methodology/category/yield_aggregators.9ea23079baa8aa79.json"
      },
      "yield_vaults": {
        "specVersion": "2026.08",
        "sha256": "f64425c9b177552fbe83d8e5b591bf2a3ba07a32fe2b79c3bce9fcba79d4be92",
        "url": "https://chainchoice.io/data/methodology/category/yield_vaults.f64425c9b177552f.json"
      }
    },
    "formula": {
      "step1_weightedTotal": "weightedTotal = (SUM over dimensions of (breakdown[d] / baseWeight[d]) * weight[d]) / (SUM of weight[d]) * 86",
      "step2_absoluteScore": "absolute = weightedTotal <= 20 ? round(40 + weightedTotal) : round(60 + (weightedTotal / 86) * 38), clamped to [40, 99]",
      "step3_poolRelative": "score = round(min(min(99, max(41, leaderScore - (leaderWeighted - weightedTotal) * 2.6)), scoreOfRowAbove))",
      "note": "boundBy names which limit decided the number when one did: floor, ceiling, row-above, or none. Rows marked floor sit at 41 and the multiplication alone gives a lower figure.",
      "baseWeights": {
        "availability": 20,
        "objectiveFit": 30,
        "frictionFit": 10,
        "trustBonus": 8,
        "quantitative": 18
      },
      "unweightedDimensions": [
        "profileFit"
      ],
      "unweightedNote": "These dimensions are computed and published in every breakdown but carry no weight in the total. profileFit left the composite in methodology 2026.09.2: it was constant inside all 114 categories, so its 20 points moved every product in a pool identically and ordered nothing. Sum the breakdown against baseWeights and the unweighted terms are simply absent from the arithmetic — that is the intended reading, not an omission.",
      "weightVersusInfluence": "A base weight is how much a dimension COULD move a score, not how much it did. Each category publishes dimensionSpread: the range that dimension actually covered across its pool. A spread of 0 means the dimension was constant there and decided nothing, however large its weight.",
      "objectiveBasis": "Each product names where its objectiveFit points came from. \"criteria\": the block is the weighted sum of the published criterion cells, round(min(30, 0.75 × Σ weight × cell/10 × 32)), and a pairwise ledger can itemise it per criterion. \"whole\": the category scores the block from structural facts or capability flags rather than per-criterion cells, so it enters a ledger as one term. \"sunset\": the product no longer operates (sunsetAt gives the date) and the block is zeroed regardless of its cells.",
      "totalBaseWeight": 86,
      "spreadPerWeightedPoint": 2.6,
      "scoreFloor": 41,
      "scoreCeiling": 99,
      "leaderRobustnessNote": "leaderSurvivesOnePointChange: whether this category keeps its #1 when any single criterion score moves by one point on the 0-10 scale — the smallest difference two competent raters can hold. False in 39 of 118 categories. A false does not mean the ranking is wrong; it means the evidence separates the top two by less than the width of a judgement call, and the file says so rather than letting the displayed gap imply otherwise. null means the sweep could not run — too few criteria or too small a pool — and is deliberately not reported as robust."
    },
    "recipe": "sha256 is the SHA-256 of the category spec (the file's \"spec\" field) written as compact JSON: every object's keys sorted, no spaces or line breaks, non-ASCII characters as UTF-8 (not escaped), no trailing newline. That is the serialisation of the rankings digest."
  },
  "rankings": {
    "ledger": "https://chainchoice.io/data/rankings-ledger.jsonl",
    "produced": [
      {
        "seq": 2267,
        "rankingsDigest": "9cd16e92c259d4c6792853fd24f95ad4bc1eb1ec978332c0ce8234f57de1b9fb",
        "ob": "2026-09-09",
        "src": "git:58cc13142070da45e2c443d7afb0edaf57f147cb",
        "engine": "2026.09.4"
      },
      {
        "seq": 2273,
        "rankingsDigest": "4cc01c5a73737e6327397cf9b9151e042678ecb3aff5eada6e08412b823db518",
        "ob": "2026-09-09",
        "src": "git:8f882ae78329149d9b981561096c12c460b43076",
        "engine": "2026.09.4"
      }
    ],
    "whenIntroduced": "9cd16e92c259d4c6792853fd24f95ad4bc1eb1ec978332c0ce8234f57de1b9fb",
    "whenSuperseded": "4cc01c5a73737e6327397cf9b9151e042678ecb3aff5eada6e08412b823db518",
    "newest": null,
    "note": "produced lists the ledger's digest entries whose rankings.json was generated while this version was the newest changelog entry (seq is the entry's place in the ledger). whenIntroduced and whenSuperseded are the digests of the rankings.json committed with the first and the last commit of this version."
  },
  "gaps": [],
  "notes": [
    "The category specs changed in 1 commit(s) after this version was recorded and before it was superseded, without a new changelog version. This archive holds the last of those states, the one the next version changed."
  ]
}
