{
  "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.3.json",
  "version": "2026.09.3",
  "status": "archived",
  "publishedAt": "2026-09-06",
  "title": "The country gate reaches every country the questionnaire offers",
  "supersededBy": "2026.09.4",
  "previous": "2026.09.2",
  "changelog": {
    "url": "https://chainchoice.io/methodology/changelog/archive#v-2026.09.3",
    "entry": {
      "version": "2026.09.3",
      "publishedAt": "2026-09-06",
      "title": "The country gate reaches every country the questionnaire offers",
      "summary": "The eligibility gate now reads the decision layer's country verdict for every row before anything is scored. Until now the engine excluded a row only when the visitor's country was one of the 27 the region table maps; a visitor from any of the other 33 questionnaire countries — India, Nigeria, New Zealand, Hungary among them — was ranked against providers whose own market list omits their region, labelled \"verify availability\" as if it were unknown. The verdict is the same test on the 27 mapped countries (identical on all 26,217 country-by-row pairs) and resolves the other 33 through the wizard's own region at region resolution, which the verdict says. Only an ineligible verdict excludes; unknown is kept and labelled, exactly as before.",
      "rationale": "The wizard tells the visitor it filters to providers they can sign up for. For 33 of the 60 countries it offers, it did not — the gate silently treated \"not mapped\" as \"eligible\", which is the conversion this platform's rules forbid in both directions. The verdict already existed, was published on every result as a label, and disagreed with the ranking it sat beside. A label that says \"does not list your region\" above a row ranked #1 for you is a ranking that contradicts its own evidence.",
      "affectedCategories": [
        "bill_pay",
        "business_banking",
        "crypto_card",
        "crypto_neobanks",
        "crypto_payroll",
        "defi_insurance",
        "depin_networks",
        "exchange",
        "gift_cards",
        "institutional_custody",
        "institutional_execution",
        "key_recovery",
        "lightning_wallets",
        "money_market_funds",
        "offramps",
        "onramp",
        "paid_research_seats",
        "payment_gateway",
        "perp_house_vaults",
        "remittances",
        "restaking",
        "simple_buy",
        "stablecoin_yield",
        "subscriptions",
        "tokenised_bonds",
        "tokenised_equities",
        "tokenised_funds",
        "tokenised_realestate",
        "tokenised_tbills"
      ],
      "changes": [
        {
          "type": "changed",
          "description": "The gate moved from scoreAvailability to collectProducts and reads assessCountry from the decision layer. It runs for all 60 questionnaire countries: the 27 mapped ones at country resolution, the other 33 at the wizard's region resolution (an EU member the table does not map is credited with an \"eu\" tag; Ukraine is not)."
        },
        {
          "type": "changed",
          "description": "Measured effect over every category by every questionnaire country (6,959 runs): 807 runs change, in 29 categories and 48 countries; 2,182 rows leave ranked lists and 73 runs change leader — none of them a published, no-answer ranking, which are untouched by construction. Survivors keep their relative order in every run."
        },
        {
          "type": "changed",
          "description": "19 further runs — bill_pay in 18 countries, crypto_card in New Zealand — now leave nothing eligible and show the pool for reference. Those rows had been ranked as recommendations with a \"not confirmed\" label; each is now labelled with its own verdict (\"names Hungary as a restricted market\", \"lists its markets and your region is not among them\") and the result says nothing is available rather than \"limited availability\"."
        },
        {
          "type": "fixed",
          "description": "A restriction sentence is now matched word-bounded (\"Niger\" no longer matches \"Nigeria\"; \"US\" matches \"US persons\", not \"industrial\"). Previously a substring test."
        },
        {
          "type": "changed",
          "description": "payment_gateway keeps its merchant-region test and applies the country verdict on top, so the one placement the default merchant-region signal turns away (coinbase, US-only) stays out of the published order for the same reason it always was."
        },
        {
          "type": "changed",
          "description": "Explicitly NOT excluded: a row whose liveness verdict is \"discontinued\". Six categories rank a sunset row at score 0, kept for reference, and dropping it would change a published order. That is a separate decision and will carry its own entry."
        },
        {
          "type": "added",
          "description": "check-wizard-country-excludes gains a second clause for the unmapped countries (NG, IN, NZ, HU): no row the verdict calls ineligible may rank in a normal run, and a fallback run may only exist when nothing was eligible or unknown. Verified to fail with the gate disabled: 526 violations."
        }
      ],
      "approvedBy": "mathias-siemonsmeier"
    }
  },
  "rules": {
    "source": {
      "src": "git:9dc90313821eda1a9ab1b979b01e31ba95e44099",
      "at": "2026-09-09T12:12:35+02:00",
      "note": "The category specs as committed at the last commit before the next version was recorded."
    },
    "introduced": {
      "commit": "b6d82f1b536b76530e09ea97d6369f9ce0e4ac59",
      "at": "2026-09-06T15:51:58+02:00"
    },
    "specCommitsAfterIntroduction": 4,
    "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": "a596be78dc594256028891e8955d7afd26dbce71e963a3297eaadb27c2ec77bb",
        "url": "https://chainchoice.io/data/methodology/category/bridges.a596be78dc594256.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": "c7ebcbe5a68a26e3c3abc49d22f671f6f1ef7d41b87925b01662be700a189121",
        "url": "https://chainchoice.io/data/methodology/category/defi_insurance.c7ebcbe5a68a26e3.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": "0cffc493a57a5a0ba3849c778dc0bb7e25455a55c1d8c4986e6928cf4f2ba4cd",
        "url": "https://chainchoice.io/data/methodology/category/liquid_staking.0cffc493a57a5a0b.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": "0bacb6bd9f5af2cffa3c8bea537772cc23868db423f779e596a6d6887b92266f",
        "url": "https://chainchoice.io/data/methodology/category/nft_marketplace.0bacb6bd9f5af2cf.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": "bafdc94f0fd381cde1258c5a704dce50f00cea453fa29e125055e88fd5280e6c",
        "url": "https://chainchoice.io/data/methodology/category/oracles.bafdc94f0fd381cd.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": "61aeee1d20ba35a660b2498db9d51ba67c1442e687c4cc1d757b1983fdb92b73",
        "url": "https://chainchoice.io/data/methodology/category/prediction_markets.61aeee1d20ba35a6.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": "4f1386af7ff0f4f56d5f8f7d1798d79b978c37613d73270b6f39080c76fc20f9",
        "url": "https://chainchoice.io/data/methodology/category/simple_buy.4f1386af7ff0f4f5.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": "800466cc8d7be5647f4506755ccbf4d25a21db904dccdd60acf88f0756fbe2e5",
        "url": "https://chainchoice.io/data/methodology/category/stablecoin_yield.800466cc8d7be564.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": "cf16d8acda2017a03120df1ee63f8718f1b50273b145006fabbf9b3deda0473f",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_tbills.cf16d8acda2017a0.json"
      },
      "trading_bots": {
        "specVersion": "2026.08",
        "sha256": "232f750da9965dd679daf956cc88d3d494162697b885f08f7bfd04b1149ea75c",
        "url": "https://chainchoice.io/data/methodology/category/trading_bots.232f750da9965dd6.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": "acefad32c22c5fbd7ff15d73f976f7da8ea20840f63b45ce57204a013d350654",
        "url": "https://chainchoice.io/data/methodology/category/wallet_screening.acefad32c22c5fbd.json"
      },
      "web3_apps": {
        "specVersion": "2026.04",
        "sha256": "b6abd537a0591a2db8758733adb14a99c6c611ba91813c84052cc1d08090a4c7",
        "url": "https://chainchoice.io/data/methodology/category/web3_apps.b6abd537a0591a2d.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": "fe047e74ce88f2ee96ef544f2380179c1d53ebf6c1e4b529a5647a705ba95f65",
        "url": "https://chainchoice.io/data/methodology/category/yield_vaults.fe047e74ce88f2ee.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": 2258,
        "rankingsDigest": "b2537fe178b0c0ebaef84c79b5dbc87015b78495cf41f1332b65e3dda8a3687e",
        "ob": "2026-09-07",
        "src": "git:0526f19a6ed370a8a93fe5ea8a708a7aefb679c7",
        "engine": "2026.09.3"
      },
      {
        "seq": 2259,
        "rankingsDigest": "3de2631e0e8c696e72cebf41e77b5ea5a9ef8ff31ef6ac77d39e69b7af41feb6",
        "ob": "2026-09-09",
        "src": "git:e2983261cab67f47e44857f5792fe41111e66467",
        "engine": "2026.09.3"
      },
      {
        "seq": 2260,
        "rankingsDigest": "7c4859bb93d71e22fc8bae9ed8355af95ad0f2ed381faa12cb2b2d31e0a81f96",
        "ob": "2026-09-09",
        "src": "git:8ce09f75af930eeb627bd3cd1ed5ba4432b170b5",
        "engine": "2026.09.3"
      }
    ],
    "whenIntroduced": "0d5f48e44916eea8910a68559d4de4c73407ffbb6cd1939dd691cb3d2c7e4ad6",
    "whenSuperseded": "7c4859bb93d71e22fc8bae9ed8355af95ad0f2ed381faa12cb2b2d31e0a81f96",
    "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 4 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."
  ]
}
