{
  "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.10.0.json",
  "version": "2026.10.0",
  "status": "archived",
  "publishedAt": "2026-10-01",
  "title": "Layer-2 chains are ranked on whether you can leave with your funds",
  "supersededBy": "2026.10.1",
  "previous": "2026.09.16",
  "changelog": {
    "url": "https://chainchoice.io/methodology/changelog/archive#v-2026.10.0",
    "entry": {
      "version": "2026.10.0",
      "publishedAt": "2026-10-01",
      "title": "Layer-2 chains are ranked on whether you can leave with your funds",
      "summary": "Layer-2 chains move from three criteria to seven. Four new ones read L2BEAT's own risk entries: rollup stage, proof system, the exit window before an upgrade, and whether withdrawals keep working if the operator stops proposing. Together they carry 56 of 100 points. The category now ranks through the same published-criteria engine as the other criterion-ranked categories, every score carries a quote and a source, and Taiko and Ink join the comparison. In the same version, situational adjustments are published and the one adjustment no published fact supported is removed.",
      "rationale": "The three-criterion model ranked a chain whose operator can freeze withdrawals level with one anyone can exit. Blast, whose proof system L2BEAT reads as None, sat at #8 of 13, above Unichain and zkSync Era. The safety facts were already public and dated on L2BEAT, so the model was choosing not to read them. Separately, five quiz answers added points to products through rules the methodology page never showed, and one of them was keyed to a product id rather than to any fact (BC-METH-009).",
      "affectedCategories": [
        "l2_chains",
        "dex_aggregator",
        "dex",
        "hardware_wallet",
        "exchange",
        "wallet",
        "crypto_card",
        "staking",
        "onramp",
        "stablecoins",
        "tax_software",
        "portfolio_tracking",
        "lending_borrowing",
        "bridges",
        "web3_apps",
        "trading_tools"
      ],
      "changes": [
        {
          "type": "added",
          "description": "Four l2_chains criteria with published band ladders: proof system (18), withdrawals if the operator stops (18), rollup stage (14) and exit window before an upgrade (6). EVM equivalence moves 40 to 17, Ethereum data availability 25 to 15 and maturity 35 to 12. Every chain's emergency exit window reads None, so the exit-window ladder also reads L2BEAT's regular, non-emergency upgrade path (Arbitrum One 10 days, Starknet and Arbitrum Nova 7, zkSync Era 4 days 3 hours); data availability separates full transaction data (10) from state diffs only (9, L2BEAT: Onchain (SD)). A stage L2BEAT marks Under review keeps its last score for at most one 45-day cycle and is never interpolated."
        },
        {
          "type": "changed",
          "description": "l2_chains ranks through scoreCriterionObjective on fitStrength, like the other criterion-ranked categories; the hand-written structural scorer is deleted. All 105 criterion scores across 15 rows carry a quote and source in research-pending/rereads/2026-10-01-l2_chains.json; 131 of 135 quotes re-fetched verbatim on the read date, and the four behind a bot wall or a JavaScript shell were read by the adversarial model run."
        },
        {
          "type": "fixed",
          "description": "Four facts corrected on the read: Scroll, Mantle and Blast are EVM-compatible, not equivalent (their own documentation, and for Blast live RPC probes); Starknet's public mainnet opened to users in 2022, not 2021. Arbitrum Nova's data has gone to Ethereum as blobs since 31 August 2026, and the row now leads with the Arbitrum DAO's decision to minimise it."
        },
        {
          "type": "fixed",
          "description": "The old scorer credited Ethereum data availability whenever the data-availability text contained the word \"ethereum\", so Arbitrum Nova's committee (\"…Ethereum L1 rollup fallback\") and Polygon zkEVM's off-chain data (\"…Ethereum L1 before the sunset\") both scored full marks. Data availability is now a quoted L2BEAT reading."
        },
        {
          "type": "changed",
          "description": "Published l2_chains order: Arbitrum One stays #1 and is no longer tied (81 to OP Mainnet's 80): its regular upgrade path leaves users 10 days to exit, where every OP Mainnet upgrade is instant. Until now the published tie order put it first. Base rises to #3, Ink enters at #4, Unichain rises from #9 to #5, Arbitrum Nova falls from #3 to #6, Mantle from #6 to #12 and Blast from #8 to #13. No other category's published order or score moves."
        },
        {
          "type": "added",
          "description": "Taiko (Stage 0, validity proofs, proposing whitelisted with no fallback) and Ink (Stage 1, permissionless fraud proofs) are ranked. World Chain is refused on scope: L2BEAT records 90.7% of the value it secures as WLD, and its protocol gives World ID holders top-of-block priority."
        },
        {
          "type": "added",
          "description": "Situational adjustments are published on every methodology page that has one (situationalAdjustments.ts): six rules across l2_chains, dex and hardware_wallet, each naming the answer, the fact it reads and the points. They now also apply on the criterion path, inside the same 40-point cap. check-no-shadow-adjustments fails the build on any id-keyed or unpublished signal bonus."
        },
        {
          "type": "removed",
          "description": "The +3 Solana bonus keyed on the product id jupiter-ag: no published fact supported it. Replaying the 2,217 golden cases, one order changes (dex_aggregator, Solana chain answer: Jupiter falls behind KyberSwap) and no winner changes in any case; the four l2_chains cases keep Arbitrum One as the pick."
        },
        {
          "type": "fixed",
          "description": "The fallback list shown when no product serves the visitor's country used its own copy of the scorer dispatch, which never learned about the criterion-ranked categories: twelve categories ranked there on attribute maps their methodology no longer publishes. It now uses the same objective as the ranking."
        },
        {
          "type": "changed",
          "description": "Corrected 2026-10-14: the lines above named eight of the l2_chains rows this version moved and left out Linea, Manta Pacific, zkSync Era, Starknet and Polygon zkEVM. Every published l2_chains row it moved, rank and score before and after: Arbitrum One #1 84 → #1 81; OP Mainnet #2 84 → #2 80; Base #4 73 → #3 77; Ink enters at #4 (76); Unichain #9 62 → #5 74; Arbitrum Nova #3 79 → #6 72; Scroll #7 73 → #7 70; zkSync Era #10 61 → #8 63; Linea #5 73 → #9 63; Starknet #12 53 → #10 63; Taiko Alethia enters at #11 (61); Mantle #6 73 → #12 58; Blast #8 68 → #13 43; Manta Pacific #11 54 → #14 41; Polygon zkEVM #13 41 → #15 41."
        }
      ],
      "approvedBy": "mathias-siemonsmeier"
    }
  },
  "rules": {
    "source": {
      "src": "git:40f832ae2b64b3ecc2e8a957524d6e0146e758a7",
      "at": "2026-10-01T11:13:40+02:00",
      "note": "The category specs as committed at the last commit before the next version was recorded."
    },
    "introduced": {
      "commit": "40f832ae2b64b3ecc2e8a957524d6e0146e758a7",
      "at": "2026-10-01T11:13:40+02:00"
    },
    "specCommitsAfterIntroduction": 0,
    "categories": {
      "account_abstraction_infra": {
        "specVersion": "2026.08",
        "sha256": "6eda95185b718a1d682ca8c6b2d94c81efb26333d578086f77cc96ee467a904a",
        "url": "https://chainchoice.io/data/methodology/category/account_abstraction_infra.6eda95185b718a1d.json"
      },
      "appchains_l3s": {
        "specVersion": "2026.08",
        "sha256": "de43de80e8d9aad460726938235e8c57e825f627b0dfa1918a77d9af7a685868",
        "url": "https://chainchoice.io/data/methodology/category/appchains_l3s.de43de80e8d9aad4.json"
      },
      "attestations": {
        "specVersion": "2026.08",
        "sha256": "9bc0867a39f01f1bbe49029ddf1977d6e8816664d70cf708177397f8ce047f69",
        "url": "https://chainchoice.io/data/methodology/category/attestations.9bc0867a39f01f1b.json"
      },
      "automation_keepers": {
        "specVersion": "2026.08",
        "sha256": "6425ec6c7d90b65ae3fed196dfc0c61b7ac79fadae4f2acbeddef29a25af84ad",
        "url": "https://chainchoice.io/data/methodology/category/automation_keepers.6425ec6c7d90b65a.json"
      },
      "bill_pay": {
        "specVersion": "2026.08",
        "sha256": "fe36fb83aaea404403f628279507d4ea025187adc269229f296ac242a6d8a09b",
        "url": "https://chainchoice.io/data/methodology/category/bill_pay.fe36fb83aaea4044.json"
      },
      "block_explorers": {
        "specVersion": "2026.08",
        "sha256": "946b16f6a04fceb09740b18f187be41131638e94a1fd364a2fdd85683c18d0d9",
        "url": "https://chainchoice.io/data/methodology/category/block_explorers.946b16f6a04fceb0.json"
      },
      "bridges": {
        "specVersion": "2026.04",
        "sha256": "22e080dca6625a8c7551f885dce07b41639e541a3180cb41f90292b7e7eacae4",
        "url": "https://chainchoice.io/data/methodology/category/bridges.22e080dca6625a8c.json"
      },
      "bug_bounties": {
        "specVersion": "2026.08",
        "sha256": "1a9abe536df0e54f614310957001624262649ad1d60f339d039ee5e7ca02ea5f",
        "url": "https://chainchoice.io/data/methodology/category/bug_bounties.1a9abe536df0e54f.json"
      },
      "business_banking": {
        "specVersion": "2026.08",
        "sha256": "33099f30102e7dbb4f2797fabe0ecdd76393429d80c8923fdef1bcb491d81fd1",
        "url": "https://chainchoice.io/data/methodology/category/business_banking.33099f30102e7dbb.json"
      },
      "carbon_credits": {
        "specVersion": "2026.08",
        "sha256": "b09a0a461b6e5758194c04433c7e17b7a640221b30a06126f5ad3008c3beda47",
        "url": "https://chainchoice.io/data/methodology/category/carbon_credits.b09a0a461b6e5758.json"
      },
      "cdp_stablecoins": {
        "specVersion": "2026.08",
        "sha256": "c36938655a6b24c4c9d7fbd3654c0c6d40ea40bee2535a7a79fa1af3f54adf9c",
        "url": "https://chainchoice.io/data/methodology/category/cdp_stablecoins.c36938655a6b24c4.json"
      },
      "creator_mint_platforms": {
        "specVersion": "2026.08",
        "sha256": "9ec0a1a1844eaa04ea8e5cafa917b9b459f37c381b0cc97fa24f20b0c114c628",
        "url": "https://chainchoice.io/data/methodology/category/creator_mint_platforms.9ec0a1a1844eaa04.json"
      },
      "cross_chain_messaging": {
        "specVersion": "2026.08",
        "sha256": "0b7babb4d310e69d03363321d338ce77270e5445afe8a15fbe6277251da89d10",
        "url": "https://chainchoice.io/data/methodology/category/cross_chain_messaging.0b7babb4d310e69d.json"
      },
      "cross_chain_swaps": {
        "specVersion": "2026.08",
        "sha256": "0522f80d327e9dd4031c5053311ba04c8968f7669e5f4f17a86597839947ebee",
        "url": "https://chainchoice.io/data/methodology/category/cross_chain_swaps.0522f80d327e9dd4.json"
      },
      "crypto_backed_loans": {
        "specVersion": "2026.08",
        "sha256": "9376c6b5bf4a4c817313994b1a70f614612698b5ca3619431f631ba3c7a773f2",
        "url": "https://chainchoice.io/data/methodology/category/crypto_backed_loans.9376c6b5bf4a4c81.json"
      },
      "crypto_card": {
        "specVersion": "2026.08",
        "sha256": "1eeb72b3817235a5fa7c782c310738cbeec17e0577ae159a15f41b05f4732a2a",
        "url": "https://chainchoice.io/data/methodology/category/crypto_card.1eeb72b3817235a5.json"
      },
      "crypto_neobanks": {
        "specVersion": "2026.08",
        "sha256": "09de13cba4c3cd8125fef61f6d949d76d6b2042cebb62a2d82e3fb7e8765067e",
        "url": "https://chainchoice.io/data/methodology/category/crypto_neobanks.09de13cba4c3cd81.json"
      },
      "crypto_payroll": {
        "specVersion": "2026.08",
        "sha256": "986fa330cc5e9ad2eb258cbbc1f130a56493608a5cab35e19ebca24dada4915d",
        "url": "https://chainchoice.io/data/methodology/category/crypto_payroll.986fa330cc5e9ad2.json"
      },
      "data_availability": {
        "specVersion": "2026.08",
        "sha256": "d00794349a619d055f663b2cdf96fe772c1065a82be38a0327cc1acf4841134a",
        "url": "https://chainchoice.io/data/methodology/category/data_availability.d00794349a619d05.json"
      },
      "decentralised_compute": {
        "specVersion": "2026.08",
        "sha256": "9ffb1adce89bb05fcbf488150a28e041fc2a51d91d3ccec817a9456c2cbbc148",
        "url": "https://chainchoice.io/data/methodology/category/decentralised_compute.9ffb1adce89bb05f.json"
      },
      "decentralised_id": {
        "specVersion": "2026.08",
        "sha256": "16fb84e811443890bd89a6f575388deb256cca4097f30bab3394e6c8da0884bc",
        "url": "https://chainchoice.io/data/methodology/category/decentralised_id.16fb84e811443890.json"
      },
      "decentralised_storage": {
        "specVersion": "2026.08",
        "sha256": "4ff33dc5b045959d6035364d63b2aa8daf05bf7ab32dc17da83b6e8e89b45a27",
        "url": "https://chainchoice.io/data/methodology/category/decentralised_storage.4ff33dc5b045959d.json"
      },
      "defi_dashboards": {
        "specVersion": "2026.08",
        "sha256": "5da840a2fd3354ad884bec9f60d84cd2581839b23eb9fd5b30c03561df1f020f",
        "url": "https://chainchoice.io/data/methodology/category/defi_dashboards.5da840a2fd3354ad.json"
      },
      "defi_insurance": {
        "specVersion": "2026.08",
        "sha256": "6d5c771fe55af9adb1b91dc073cf7f7bec44b6e250278fe344bb73b686895d22",
        "url": "https://chainchoice.io/data/methodology/category/defi_insurance.6d5c771fe55af9ad.json"
      },
      "depin_networks": {
        "specVersion": "2026.08",
        "sha256": "2c2f15b30828052ebe9ae3bcf08625677a32ab61b906dec0bc603da2ec8e231b",
        "url": "https://chainchoice.io/data/methodology/category/depin_networks.2c2f15b30828052e.json"
      },
      "dev_frameworks": {
        "specVersion": "2026.08",
        "sha256": "fc19e46512ccfbbc4a95fa1de6753f096d8840129d965e1fb59be627ce9be5b4",
        "url": "https://chainchoice.io/data/methodology/category/dev_frameworks.fc19e46512ccfbbc.json"
      },
      "dex": {
        "specVersion": "2026.07",
        "sha256": "309020c8067e06767bbc2be68ce2caea64e5ab80f4e3a0b178d626b710114f34",
        "url": "https://chainchoice.io/data/methodology/category/dex.309020c8067e0676.json"
      },
      "dex_aggregator": {
        "specVersion": "2026.07",
        "sha256": "1c6ed2254c4c1ef35b6f016ccd23d56abbb8e2764cd1cc334462f58514eed53a",
        "url": "https://chainchoice.io/data/methodology/category/dex_aggregator.1c6ed2254c4c1ef3.json"
      },
      "enterprise_accounting": {
        "specVersion": "2026.08",
        "sha256": "efb862fa840f11090d2a22988798f1f754903948431a0a818ea33496e0ff80db",
        "url": "https://chainchoice.io/data/methodology/category/enterprise_accounting.efb862fa840f1109.json"
      },
      "exchange": {
        "specVersion": "2026.08",
        "sha256": "f3e84d3382e9009b7e7e055f548a01c92fe98c8236859925f06c0c91623b7aa7",
        "url": "https://chainchoice.io/data/methodology/category/exchange.f3e84d3382e9009b.json"
      },
      "fixed_rate_yield": {
        "specVersion": "2026.08",
        "sha256": "d3052d24cb72ff01199f39e094438b72e2fcca368e9b5534ac029824b456691c",
        "url": "https://chainchoice.io/data/methodology/category/fixed_rate_yield.d3052d24cb72ff01.json"
      },
      "flash_loans": {
        "specVersion": "2026.08",
        "sha256": "0da8a8db13cd8b0cd5116af314ad900104bee2b8956feec6f8163fdaf818b7d6",
        "url": "https://chainchoice.io/data/methodology/category/flash_loans.0da8a8db13cd8b0c.json"
      },
      "gift_cards": {
        "specVersion": "2026.08",
        "sha256": "212bb4e8ba6731e2d0f5cfd2d717f1e9aff89ec6a129d61095d60decdff0bee4",
        "url": "https://chainchoice.io/data/methodology/category/gift_cards.212bb4e8ba6731e2.json"
      },
      "governance_tools": {
        "specVersion": "2026.08",
        "sha256": "dc628165b32b3ccacdb47bbf814f86d84bb01693dcfff82c24dfe76bead5f05a",
        "url": "https://chainchoice.io/data/methodology/category/governance_tools.dc628165b32b3cca.json"
      },
      "hardware_wallet": {
        "specVersion": "2026.07",
        "sha256": "7f0b46de0ae3db460ce2bab8fc29ce2ccdb61c0cb2b62574b48f534f322d2d22",
        "url": "https://chainchoice.io/data/methodology/category/hardware_wallet.7f0b46de0ae3db46.json"
      },
      "incentive_distribution": {
        "specVersion": "2026.08",
        "sha256": "f18274c77ded03695696b93a1b1df48c6af6e38270d6cf99fc4e0a0b77ab9bb6",
        "url": "https://chainchoice.io/data/methodology/category/incentive_distribution.f18274c77ded0369.json"
      },
      "indexers": {
        "specVersion": "2026.08",
        "sha256": "cabb29a7b5dc1da34d06c67429f9585ebf83784fc1eb337d823f3d09811bd6e4",
        "url": "https://chainchoice.io/data/methodology/category/indexers.cabb29a7b5dc1da3.json"
      },
      "institutional_custody": {
        "specVersion": "2026.08",
        "sha256": "e58a91507ff759bedca58b36d9c575082dacdb55072aae25e947a21828a1d1e1",
        "url": "https://chainchoice.io/data/methodology/category/institutional_custody.e58a91507ff759be.json"
      },
      "institutional_execution": {
        "specVersion": "2026.08",
        "sha256": "f2218db82249d671de1d7961732fb4eae1d3a3ff7275e9d1ffe7e21cf58e8306",
        "url": "https://chainchoice.io/data/methodology/category/institutional_execution.f2218db82249d671.json"
      },
      "intents": {
        "specVersion": "2026.08",
        "sha256": "5c2d29d8c36808e77384a31d8f4ac6d4e3e8355a98c049bbc3fdf49214084d0c",
        "url": "https://chainchoice.io/data/methodology/category/intents.5c2d29d8c36808e7.json"
      },
      "key_recovery": {
        "specVersion": "2026.08",
        "sha256": "f1d96e0763945904fcc89464f718a422b8432651a26f200cdeb56d4c1f73fb7a",
        "url": "https://chainchoice.io/data/methodology/category/key_recovery.f1d96e0763945904.json"
      },
      "kyc_compliance": {
        "specVersion": "2026.08",
        "sha256": "992b501ecaff42b3b2a70ec757914974bc25a478c8781a4e6434ea66eb1fb7f9",
        "url": "https://chainchoice.io/data/methodology/category/kyc_compliance.992b501ecaff42b3.json"
      },
      "l2_chains": {
        "specVersion": "2026.10",
        "sha256": "f2d85fc399257b85653ad93d740b4dcfc66d2646cf56f610846be2fdef42547d",
        "url": "https://chainchoice.io/data/methodology/category/l2_chains.f2d85fc399257b85.json"
      },
      "launchpads": {
        "specVersion": "2026.08",
        "sha256": "38e80fac5d52b300ca9ef4693064be791543c23e8eb3dd1a573ea4f721b96d0d",
        "url": "https://chainchoice.io/data/methodology/category/launchpads.38e80fac5d52b300.json"
      },
      "layer1_chains": {
        "specVersion": "2026.08",
        "sha256": "95087308dbb9ab635a0cec45e90b795865a8ddcae46f3779c59bee41829c000a",
        "url": "https://chainchoice.io/data/methodology/category/layer1_chains.95087308dbb9ab63.json"
      },
      "lending_borrowing": {
        "specVersion": "2026.08",
        "sha256": "17a8bdc17ce4752c1d8c587fdf2ed750871a2dffad38d78b9689cdf74a15f408",
        "url": "https://chainchoice.io/data/methodology/category/lending_borrowing.17a8bdc17ce4752c.json"
      },
      "lightning_payment_infrastructure": {
        "specVersion": "2026.08",
        "sha256": "6da517b50d35fd55fe7c4e404bfab514b3c06a627ea9689406db13eb691ec7e8",
        "url": "https://chainchoice.io/data/methodology/category/lightning_payment_infrastructure.6da517b50d35fd55.json"
      },
      "lightning_wallets": {
        "specVersion": "2026.08",
        "sha256": "55fa6b8f1afdcd0e0dd43eefe74969ee386797a01d573668d4bd363aec645ad3",
        "url": "https://chainchoice.io/data/methodology/category/lightning_wallets.55fa6b8f1afdcd0e.json"
      },
      "liquid_lockers": {
        "specVersion": "2026.08",
        "sha256": "7d2a3d0ca93552ad117769838364fea63a49b1bcf79a8bea29cf057d751a0bc7",
        "url": "https://chainchoice.io/data/methodology/category/liquid_lockers.7d2a3d0ca93552ad.json"
      },
      "liquid_staking": {
        "specVersion": "2026.08",
        "sha256": "05ed27a309fe48ee08976558501c81c85eb18d912e661eed920a330e3c1a2aa5",
        "url": "https://chainchoice.io/data/methodology/category/liquid_staking.05ed27a309fe48ee.json"
      },
      "liquidity_management": {
        "specVersion": "2026.08",
        "sha256": "c1a5366d41d909aeb8252c6fe1da32eebfc36e8f897cd88c1968931627ebe1cf",
        "url": "https://chainchoice.io/data/methodology/category/liquidity_management.c1a5366d41d909ae.json"
      },
      "market_data_apis": {
        "specVersion": "2026.08",
        "sha256": "dcbb7c5626b55a6e3062c1accb6df79de80c210adc358f50679b60aae1769379",
        "url": "https://chainchoice.io/data/methodology/category/market_data_apis.dcbb7c5626b55a6e.json"
      },
      "mev_protection": {
        "specVersion": "2026.08",
        "sha256": "bd079958d56d1221bf87f8c67b8d30436c82e898dcd0423ab3eabb8c76f5c476",
        "url": "https://chainchoice.io/data/methodology/category/mev_protection.bd079958d56d1221.json"
      },
      "mining_pools": {
        "specVersion": "2026.08",
        "sha256": "3a96501af5b4e25b37236b5f2e9250e451ca31e32d5d8682aec87b3bb509ae20",
        "url": "https://chainchoice.io/data/methodology/category/mining_pools.3a96501af5b4e25b.json"
      },
      "money_market_funds": {
        "specVersion": "2026.08",
        "sha256": "248fc8ba62c050bc9bd23c7eb7806b491b4361b344fb262f0dc6aa9e24aeeb78",
        "url": "https://chainchoice.io/data/methodology/category/money_market_funds.248fc8ba62c050bc.json"
      },
      "mpc_wallets": {
        "specVersion": "2026.08",
        "sha256": "bbf8b96f2965fb5a0d172da9d3a2b8a934690a6e4c83bfbf31caa3c3aadb655a",
        "url": "https://chainchoice.io/data/methodology/category/mpc_wallets.bbf8b96f2965fb5a.json"
      },
      "naming_services": {
        "specVersion": "2026.08",
        "sha256": "d1e016a479b828fb43435f4003bb6374af9fb39c435d923a6b344c0e980fb1f0",
        "url": "https://chainchoice.io/data/methodology/category/naming_services.d1e016a479b828fb.json"
      },
      "nft_analytics": {
        "specVersion": "2026.08",
        "sha256": "b4b2221b5d4c847e08a9d0fde8b1b1fd0b0bdeb990998dcfd9f4812519fadd07",
        "url": "https://chainchoice.io/data/methodology/category/nft_analytics.b4b2221b5d4c847e.json"
      },
      "nft_lending": {
        "specVersion": "2026.08",
        "sha256": "3a8e876fd1560705d6971ae44b32ba337bb57ba7327c8a1bb004481f0a99f2e4",
        "url": "https://chainchoice.io/data/methodology/category/nft_lending.3a8e876fd1560705.json"
      },
      "nft_marketplace": {
        "specVersion": "2026.08",
        "sha256": "9de7e5e4204a7d2fe72af2bcb0f5fec86ee1da5d2ff310a2670888c3aed4d7e1",
        "url": "https://chainchoice.io/data/methodology/category/nft_marketplace.9de7e5e4204a7d2f.json"
      },
      "offramps": {
        "specVersion": "2026.08",
        "sha256": "60677c4df3276fdeefdb13af87a903a7edf8d4703e9a3b525ec0879892df4c51",
        "url": "https://chainchoice.io/data/methodology/category/offramps.60677c4df3276fde.json"
      },
      "onchain_analytics": {
        "specVersion": "2026.08",
        "sha256": "fd0075ef3cea1730b8d0867ac6a2cd78d5a07424a6b5e8e0d38d7c0b823f6b64",
        "url": "https://chainchoice.io/data/methodology/category/onchain_analytics.fd0075ef3cea1730.json"
      },
      "onchain_monitoring": {
        "specVersion": "2026.08",
        "sha256": "ccd27cddf387102be1af5576b14467ca238befec1a6764eb95b41f10cbd5f14c",
        "url": "https://chainchoice.io/data/methodology/category/onchain_monitoring.ccd27cddf387102b.json"
      },
      "onramp": {
        "specVersion": "2026.08",
        "sha256": "3e35b5dcc507c96f59448e3c20567e11d8601842b6ad86cd553d316e082e2bf8",
        "url": "https://chainchoice.io/data/methodology/category/onramp.3e35b5dcc507c96f.json"
      },
      "options_vaults": {
        "specVersion": "2026.08",
        "sha256": "a6edc251c246ccae2a5a42e4f12d7f1a4093f0032f5a41ca55fd5d0809a4db93",
        "url": "https://chainchoice.io/data/methodology/category/options_vaults.a6edc251c246ccae.json"
      },
      "oracles": {
        "specVersion": "2026.08",
        "sha256": "2f8e4600cdbf28f8d998c7045e794771f6e692146ae7dee63a14373f058bc341",
        "url": "https://chainchoice.io/data/methodology/category/oracles.2f8e4600cdbf28f8.json"
      },
      "otc_desks": {
        "specVersion": "2026.08",
        "sha256": "ea16920cd6476d866b5a3dfde89a9ec270b264d2e335169ce9ac5169750e8c0e",
        "url": "https://chainchoice.io/data/methodology/category/otc_desks.ea16920cd6476d86.json"
      },
      "p2p_exchanges": {
        "specVersion": "2026.08",
        "sha256": "e1e112edc24088987ca14b1e058b7d801e615a0acd96b9cdfbe9ade884e48d53",
        "url": "https://chainchoice.io/data/methodology/category/p2p_exchanges.e1e112edc2408898.json"
      },
      "paid_research_seats": {
        "specVersion": "2026.08",
        "sha256": "3732125d9029e2627b2c52cc23a6acd0c7403f5efe262ebe3c54740f5f3a41a7",
        "url": "https://chainchoice.io/data/methodology/category/paid_research_seats.3732125d9029e262.json"
      },
      "payment_gateway": {
        "specVersion": "2026.04",
        "sha256": "ad2c0a6adf4d3598adf613d29039ed91bdd0be0c6c9610b2c78020a139fde984",
        "url": "https://chainchoice.io/data/methodology/category/payment_gateway.ad2c0a6adf4d3598.json"
      },
      "perp_dex": {
        "specVersion": "2026.07",
        "sha256": "b1678982d2f4caa1ae53045a1094472881e2bc54590f200648a5711738b0bebc",
        "url": "https://chainchoice.io/data/methodology/category/perp_dex.b1678982d2f4caa1.json"
      },
      "perp_house_vaults": {
        "specVersion": "2026.08",
        "sha256": "283a35af567d539e9499515b7e146621c3be6ef1f452000e675de06b6f6b1343",
        "url": "https://chainchoice.io/data/methodology/category/perp_house_vaults.283a35af567d539e.json"
      },
      "portfolio_tracking": {
        "specVersion": "2026.08",
        "sha256": "722f9b6b27e238c999c74b70d916d4d7e1c8f0496cd85d69e744c1b03e2e0c09",
        "url": "https://chainchoice.io/data/methodology/category/portfolio_tracking.722f9b6b27e238c9.json"
      },
      "prediction_markets": {
        "specVersion": "2026.08",
        "sha256": "7ea3a0a02229cf4df692b7ee51a0d52b7103bdf341d2b7aa470f082e77a9bd46",
        "url": "https://chainchoice.io/data/methodology/category/prediction_markets.7ea3a0a02229cf4d.json"
      },
      "privacy_tools": {
        "specVersion": "2026.08",
        "sha256": "223742e39da199b487c07ab89d25d6f9d51ae11c8b2ac34d7326adaa33434602",
        "url": "https://chainchoice.io/data/methodology/category/privacy_tools.223742e39da199b4.json"
      },
      "private_credit": {
        "specVersion": "2026.08",
        "sha256": "e7f03ace73f0709c619a5e9a3908ef99b3c268000a8c911d6ad8f9516aef2531",
        "url": "https://chainchoice.io/data/methodology/category/private_credit.e7f03ace73f0709c.json"
      },
      "proof_of_personhood": {
        "specVersion": "2026.08",
        "sha256": "1583ed4fb33282f35c8339e2439864d58236ac9e3639b11c18cf4dabfd933b26",
        "url": "https://chainchoice.io/data/methodology/category/proof_of_personhood.1583ed4fb33282f3.json"
      },
      "relayers": {
        "specVersion": "2026.08",
        "sha256": "4aa815af9ac015fffd70718046c960df6a2b9c72fe385d6d0886699516aa4953",
        "url": "https://chainchoice.io/data/methodology/category/relayers.4aa815af9ac015ff.json"
      },
      "remittances": {
        "specVersion": "2026.08",
        "sha256": "abad116e45b814b7928b39d3ce755ac103686ab98864fa7912b4f5606c7b34f5",
        "url": "https://chainchoice.io/data/methodology/category/remittances.abad116e45b814b7.json"
      },
      "restaking": {
        "specVersion": "2026.08",
        "sha256": "fe906c0fa33b8365a7b7216a826698e0ca477b688c20399e6938f6cf017d49bf",
        "url": "https://chainchoice.io/data/methodology/category/restaking.fe906c0fa33b8365.json"
      },
      "revoke_tools": {
        "specVersion": "2026.08",
        "sha256": "772b7a5a35692ff432fdc09700e0708abe21c7aba4e383b6a59616c2fbd2de92",
        "url": "https://chainchoice.io/data/methodology/category/revoke_tools.772b7a5a35692ff4.json"
      },
      "rollup_as_a_service": {
        "specVersion": "2026.08",
        "sha256": "809f717d9b248eea46d199f7456e2a5e2ab04eba200be4e5b2d8cdffe4f15ca4",
        "url": "https://chainchoice.io/data/methodology/category/rollup_as_a_service.809f717d9b248eea.json"
      },
      "rpc_nodes": {
        "specVersion": "2026.08",
        "sha256": "526f7e579c05df0f3cc060bd8088e4da379b046087c94c43d142b43361afbb09",
        "url": "https://chainchoice.io/data/methodology/category/rpc_nodes.526f7e579c05df0f.json"
      },
      "screeners": {
        "specVersion": "2026.08",
        "sha256": "e576a8fb1975de88ac2f059840291e6d245daa0edf29533900bac1724ac62df0",
        "url": "https://chainchoice.io/data/methodology/category/screeners.e576a8fb1975de88.json"
      },
      "seed_backup": {
        "specVersion": "2026.08",
        "sha256": "0918413f7ccebfc4e2be39cdab1f1084e8603fc3ab711e18cf57ec1de0f7099a",
        "url": "https://chainchoice.io/data/methodology/category/seed_backup.0918413f7ccebfc4.json"
      },
      "sentiment_analytics": {
        "specVersion": "2026.08",
        "sha256": "f602615c517f310f05874d8be1cb21ee5f390c67a8b5145c0e57fd10eb65690b",
        "url": "https://chainchoice.io/data/methodology/category/sentiment_analytics.f602615c517f310f.json"
      },
      "shared_sequencers": {
        "specVersion": "2026.08",
        "sha256": "d522c602491969fa212ed97a909e791f658ce1cbecb808e77de62a932f175532",
        "url": "https://chainchoice.io/data/methodology/category/shared_sequencers.d522c602491969fa.json"
      },
      "sidechains": {
        "specVersion": "2026.08",
        "sha256": "e83baf49c0ae2584219ea258ef45a451f5cbf0b0a509ba89a555f0accdd4ee3a",
        "url": "https://chainchoice.io/data/methodology/category/sidechains.e83baf49c0ae2584.json"
      },
      "simple_buy": {
        "specVersion": "2026.08",
        "sha256": "87d3f5a0e7eaf8c7ee0f0769b6c0025140e153988e50b7f1ab60b1afa05aa500",
        "url": "https://chainchoice.io/data/methodology/category/simple_buy.87d3f5a0e7eaf8c7.json"
      },
      "smart_accounts": {
        "specVersion": "2026.08",
        "sha256": "72625d4a2d926e5f3dabeb762812e8bc080865329a70e6f76f7c41745967089a",
        "url": "https://chainchoice.io/data/methodology/category/smart_accounts.72625d4a2d926e5f.json"
      },
      "smart_contract_audits": {
        "specVersion": "2026.08",
        "sha256": "2083f1a40821f8949d423966910278cab518fb45791b54b891b1f6815d5b77ac",
        "url": "https://chainchoice.io/data/methodology/category/smart_contract_audits.2083f1a40821f894.json"
      },
      "socialfi": {
        "specVersion": "2026.08",
        "sha256": "d586a4dbbc98079c9ef6a8288554b410f7f92313f8637490ad978f49c85699f5",
        "url": "https://chainchoice.io/data/methodology/category/socialfi.d586a4dbbc98079c.json"
      },
      "stablecoin_issuance": {
        "specVersion": "2026.08",
        "sha256": "e1690df5b1b728676bbd4ba0d305be81ab15d83143fd58783c098e58d09304f0",
        "url": "https://chainchoice.io/data/methodology/category/stablecoin_issuance.e1690df5b1b72867.json"
      },
      "stablecoin_settlement": {
        "specVersion": "2026.08",
        "sha256": "2c9e7fc52fe9e7a8005e66f4b70346b143a8e636847c9fa8388a28b1d038d68b",
        "url": "https://chainchoice.io/data/methodology/category/stablecoin_settlement.2c9e7fc52fe9e7a8.json"
      },
      "stablecoin_yield": {
        "specVersion": "2026.08",
        "sha256": "1a16e861f3a754a703f47fb774a93327cc08eff0f3052c7a02502001ed7824b7",
        "url": "https://chainchoice.io/data/methodology/category/stablecoin_yield.1a16e861f3a754a7.json"
      },
      "stablecoins": {
        "specVersion": "2026.08",
        "sha256": "dd1fa4b50485f0d2524a01f61da473bb97027e2cd1b6f63ca01fa859cb4aff75",
        "url": "https://chainchoice.io/data/methodology/category/stablecoins.dd1fa4b50485f0d2.json"
      },
      "staking": {
        "specVersion": "2026.08",
        "sha256": "7fff108b8da2f05f0f376b5e7c23f7e09aad2c3fac744a22c51af355e1e3192c",
        "url": "https://chainchoice.io/data/methodology/category/staking.7fff108b8da2f05f.json"
      },
      "structured_products": {
        "specVersion": "2026.08",
        "sha256": "9b05765a4139171d2fe5b283e7a97a0cc65191badb673b8c93d7ef1cd35f99bd",
        "url": "https://chainchoice.io/data/methodology/category/structured_products.9b05765a4139171d.json"
      },
      "subscriptions": {
        "specVersion": "2026.08",
        "sha256": "b314b3fdc0cc6033429dda2ec3abb5137ece58094e3a84276b1cea3bbb6e8b83",
        "url": "https://chainchoice.io/data/methodology/category/subscriptions.b314b3fdc0cc6033.json"
      },
      "tax_software": {
        "specVersion": "2026.08",
        "sha256": "f6b25eb8b0cf453c0219977bb37a5556b39664b2c496dea2ace71a81767435cd",
        "url": "https://chainchoice.io/data/methodology/category/tax_software.f6b25eb8b0cf453c.json"
      },
      "token_launch_platforms": {
        "specVersion": "2026.08",
        "sha256": "475bf4b1d60d701dbe1818778842a211a95c2dfe51a6a939c395e5049e6a387e",
        "url": "https://chainchoice.io/data/methodology/category/token_launch_platforms.475bf4b1d60d701d.json"
      },
      "token_standards": {
        "specVersion": "2026.08",
        "sha256": "c656afc947660782e05ed69fbdd5c6d997be01445ade914724c3968a91aa217b",
        "url": "https://chainchoice.io/data/methodology/category/token_standards.c656afc947660782.json"
      },
      "tokenisation_platforms": {
        "specVersion": "2026.08",
        "sha256": "2d08625c03372a57924a4188221c9cee49f087e391258f774b6b8bdd9c262b6a",
        "url": "https://chainchoice.io/data/methodology/category/tokenisation_platforms.2d08625c03372a57.json"
      },
      "tokenised_bonds": {
        "specVersion": "2026.08",
        "sha256": "a75909802498788cf0df714c8faaea1af2f29a1f3442f46c829617026dd84ddb",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_bonds.a75909802498788c.json"
      },
      "tokenised_commodities": {
        "specVersion": "2026.08",
        "sha256": "f776a1a62adf5fb7a2e53691dc35843ccbf508a91f39a2ca92e04c5a5c643adc",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_commodities.f776a1a62adf5fb7.json"
      },
      "tokenised_equities": {
        "specVersion": "2026.08",
        "sha256": "e59f17c3c6050adb75c8d7e11fe2b5cc1f44fb1615aae9010e4c3bd081523f5e",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_equities.e59f17c3c6050adb.json"
      },
      "tokenised_funds": {
        "specVersion": "2026.08",
        "sha256": "01b94d0ec45262f126413ac7071c5fa1fd165107b03c6b4dd446980d76989020",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_funds.01b94d0ec45262f1.json"
      },
      "tokenised_realestate": {
        "specVersion": "2026.08",
        "sha256": "33057991a2d382b20b0a3a02787bc73aac6071a2c601f4b0719ed37ae8d4ac30",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_realestate.33057991a2d382b2.json"
      },
      "tokenised_tbills": {
        "specVersion": "2026.08",
        "sha256": "ce70bd7ada66a305bd3909b6de8f082490c81c348b55a3b3c9d9f8729f5281e3",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_tbills.ce70bd7ada66a305.json"
      },
      "trading_bots": {
        "specVersion": "2026.08",
        "sha256": "796dc798321fd46c431d99471d1047be434a4208ec5f816d7daa510caf44ffa6",
        "url": "https://chainchoice.io/data/methodology/category/trading_bots.796dc798321fd46c.json"
      },
      "trading_tools": {
        "specVersion": "2026.08",
        "sha256": "90723c470dd26c29570a806202e73a2ef032602338d942c98501a4c514442fe7",
        "url": "https://chainchoice.io/data/methodology/category/trading_tools.90723c470dd26c29.json"
      },
      "transaction_simulation": {
        "specVersion": "2026.08",
        "sha256": "0c64054486715df93806e8101be41d4cfa4397631671d8140036ec2875407466",
        "url": "https://chainchoice.io/data/methodology/category/transaction_simulation.0c64054486715df9.json"
      },
      "travel_rule_compliance": {
        "specVersion": "2026.08",
        "sha256": "d7847a6c8b3fb39947868fd2c31978af216898427127a7e07ae3d9091d9d6ebb",
        "url": "https://chainchoice.io/data/methodology/category/travel_rule_compliance.d7847a6c8b3fb399.json"
      },
      "wallet": {
        "specVersion": "2026.08",
        "sha256": "5d3c3db6fb31e9883ad3fb699ac70c5aac22eae3df009e3253da17242606ae01",
        "url": "https://chainchoice.io/data/methodology/category/wallet.5d3c3db6fb31e988.json"
      },
      "wallet_screening": {
        "specVersion": "2026.08",
        "sha256": "5127ae5ba6779ffbf9e6cf9bcd5d85e0ecdb50210a415c161113597224554c01",
        "url": "https://chainchoice.io/data/methodology/category/wallet_screening.5127ae5ba6779ffb.json"
      },
      "web3_apps": {
        "specVersion": "2026.04",
        "sha256": "17c4b2ec1128628d7ac853b31206630e1e9e71d928342811fbc53e09418c53c7",
        "url": "https://chainchoice.io/data/methodology/category/web3_apps.17c4b2ec1128628d.json"
      },
      "wrapped_assets": {
        "specVersion": "2026.08",
        "sha256": "f3fad21723fd154b6c6762aa003c0e52809c8a3aa8c0678207ac33cd82549dd8",
        "url": "https://chainchoice.io/data/methodology/category/wrapped_assets.f3fad21723fd154b.json"
      },
      "yield_aggregators": {
        "specVersion": "2026.08",
        "sha256": "5f929dd0ebc40f84d17b6731550efcc10dbdae7cafd71ce0e8cd1abaea61d302",
        "url": "https://chainchoice.io/data/methodology/category/yield_aggregators.5f929dd0ebc40f84.json"
      },
      "yield_vaults": {
        "specVersion": "2026.08",
        "sha256": "14dc93f329c5af144155592d8ce86000140c5d7fea736e46b2345bae250a283a",
        "url": "https://chainchoice.io/data/methodology/category/yield_vaults.14dc93f329c5af14.json"
      }
    },
    "formula": {
      "step1_weightedTotal": "weightedTotal = round((SUM over dimensions of (breakdown[d] / baseWeight[d]) * weight[d]) / (SUM of weight[d]) * 86, 6 decimal places), where every breakdown[d] is a multiple of 0.1",
      "step2_absoluteScore": "absolute = min(99, max(40, round(weightedTotal <= 20 ? 40 + weightedTotal * ((60 + (20 / 86) * 38 - 40) / 20) : 60 + (weightedTotal / 86) * 38)))",
      "step3_poolRelative": "score = round(min(min(99, max(41, leaderScore - (leaderWeighted - weightedTotal) * 2.6)), scoreOfRowAbove))",
      "tieBreakChain": [
        "availabilitySource, for a reader who states a country only: in perp_dex, perp_house_vaults, options_vaults, prediction_markets, a row whose availability in that country rests on a region tag its record gives no source for (no availability note quoting the provider's terms, and no dated country entry) sorts below every row whose availability is sourced. No row carries it in the orders published in this file, which state no country.",
        "weightedTotal as step 1 states it, higher first. Only rows whose weighted totals are exactly equal reach the keys below.",
        "unroundedWeightedTotal, higher first: step 1 over the dimension points before they are kept to a tenth of a point, published per product. Since methodology v2 a shared weighted total from different unrounded points is ordered by those points, so only rows equal on both reach the keys below.",
        "criteriaAverage, higher first: the row's unrounded weighted average of its published criterion scores (0 to 10) under the weights in use. Applied only when both rows are scored on their category's criteria and the averages differ; otherwise the keys below decide. Since methodology 2026.09.12.",
        "tiebreakDelta, higher first: the sum of three factors. (1) Price: when the category has one comparable pricing basis that may decide rank (priced for at least two of its catalog rows, not an entry-plan figure derived from a price ladder, and quoted in a single currency), a priced row earns 0 to 2 points in proportion to where its price sits between the highest and the lowest in the pool, or 1 point when every published price on that basis is equal; a row with no price on that basis, and every row of a category without such a basis, earns 0. (2) Strength: 1 point when at least three of the row's catalog fitStrength values are 9 or above; those values are its published criterion scores, plus further strength keys on some rows. (3) Dimension: 1 point when the row scores at least 85% of the maximum on the highest-weighted dimension of the weights in use (the first in weights order when two are equal). A row outside the alternate product catalog (every payment_gateway row) carries 0. It orders rows and is never added to a score.",
        "objectiveFit points, higher first.",
        "product name, alphabetical."
      ],
      "tieBreakNote": "The published per-category tieBreakRules are not yet applied by the engine; where two rows share a weighted total and an unrounded weighted total, the chain above decides. Since methodology 2026.09.12 the first key after the totals is the two rows' unrounded weighted criterion averages, so a tie between rows scored on the published criteria is ordered by those criteria; the generic factors decide only where the averages are equal or a row has no criterion scores. tieBreakDecisions counts only pairs equal on both totals, and againstCriteria lists any of them still ordered against the criteria.",
      "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, min(30, 0.75 × Σ weight × cell/10 × 32) kept to a tenth of a point, 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,
      "dimensionResolution": 0.1,
      "weightedTotalDecimals": 6,
      "resolutionNote": "Since methodology v2 every breakdown value is kept to dimensionResolution (a tenth of a point) before it is weighted, and each product also publishes unroundedWeightedTotal: step 1 over its points before that rounding. Two products that share a weightedTotal are ordered by unroundedWeightedTotal before any key of tieBreakChain after it.",
      "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 34 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": 4044,
        "rankingsDigest": "cd6a80d7f482af3c2588b80bdcf43977e1e13aa62ce5aebeedf2b7726d7d28c7",
        "ob": "2026-10-01",
        "src": "git:40f832ae2b64b3ecc2e8a957524d6e0146e758a7",
        "engine": "2026.10.0"
      }
    ],
    "whenIntroduced": "cd6a80d7f482af3c2588b80bdcf43977e1e13aa62ce5aebeedf2b7726d7d28c7",
    "whenSuperseded": "cd6a80d7f482af3c2588b80bdcf43977e1e13aa62ce5aebeedf2b7726d7d28c7",
    "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": []
}
