{
  "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.14.json",
  "version": "2026.10.14",
  "status": "archived",
  "publishedAt": "2026-10-28",
  "title": "An exchange's fee is scored at the rate the entity serving the reader's country charges",
  "supersededBy": "2026.10.15",
  "previous": "2026.10.13",
  "changelog": {
    "url": "https://chainchoice.io/methodology/changelog#v-2026.10.14",
    "entry": {
      "version": "2026.10.14",
      "publishedAt": "2026-10-28",
      "title": "An exchange's fee is scored at the rate the entity serving the reader's country charges",
      "summary": "Owner ruling, 28 October 2026: each reader's ranking uses the rate charged by the entity that serves their country, replacing the dearest-entity rule of 2026.10.13 before it reached the live site. A reader with no country is scored on the record's base rate. Where a venue's entity for the reader's region was not read, the base rate applies and the row says \"regional rate not read\".",
      "rationale": "The dearest-entity rule scored a Singapore reader's Bybit at the 0.25% only Bybit EU GmbH charges, and an EEA reader's OKX at the 0.35% only OKX Inc. charges in the US: every reader was ranked on a price some other reader pays. Each venue's EU, US and UK rates were read from its own fee pages on 28 October (Kraken's US page from the Internet Archive's copy of 21 October), and a rate that could not be read is named as unread rather than assumed.",
      "affectedCategories": [
        "exchange",
        "onramp"
      ],
      "changes": [
        {
          "type": "changed",
          "description": "Exchanges and onramps: the fee term of the score reads the rate of the entity that serves the reader's country (taker fee, spread); with no country, the record's base rate. Replaces 2026.10.13's dearest rate."
        },
        {
          "type": "added",
          "description": "A country whose rates differ from the base records has its own order, the questionnaire run for that country: /best with the country set, Find my best, compare and the country landing print it. 22 questionnaire countries (the EEA ones and the United States) have one for exchanges."
        },
        {
          "type": "added",
          "description": "A row whose serving entity's rate was not read carries \"regional rate not read\" (Coinbase for EEA, UK and US readers: its retail fee table is behind sign-in; Kraken and Bybit for UK readers; OKX outside the EEA and the US, whose global page could not be loaded)."
        },
        {
          "type": "changed",
          "description": "OKX: the 0.20% / 0.10% spot-only rate is the EEA entity's and applies to EEA readers only; OKX has no base rate, so its published fee term is neutral."
        },
        {
          "type": "changed",
          "description": "Exchange scores, before (2026.10.13) and after: Bybit 78 to 81 (#2 to #1), Bitstamp 81 (#1 to #2), Upbit 78 to 77, Binance 76 to 75, Coinbase 71 to 70 (#6 to #5), Luno 70 to 69 (#7 to #6), OKX 73 to 68 (#5 to #7), Bitvavo 69 to 64, Kraken 62 to 60 (#10 to #9), VALR 62 to 60 (#9 to #10), Gemini 49 to 48 (#12 to #11), CoinDCX 51 to 47 (#11 to #12), Mercado Bitcoin 44 to 43. Bitso is unchanged at 41 (#14)."
        },
        {
          "type": "changed",
          "description": "Exchange scores against the order published before 2026.10.13 (2026.10.12), as both versions ship together: Bitstamp 79 to 81 (#3 to #2), Upbit 76 to 77 (#4 to #3), Binance 75 (#5 to #4), Coinbase 69 to 70 (#6 to #5), Luno 69 (#7 to #6), OKX 80 to 68 (#2 to #7), Bitvavo 62 to 64, VALR 58 to 60, CoinDCX 45 to 47, Mercado Bitcoin 42 to 43. Bybit stays #1 at 81; Kraken (60), Gemini (48) and Bitso (41) are unchanged."
        },
        {
          "type": "changed",
          "description": "check-regional-pricing recognises every licensed MiCA entity, not only the \"through X under\" wording: a priced venue with one states its EEA rate or names it unread."
        }
      ],
      "approvedBy": "mathias-siemonsmeier"
    }
  },
  "rules": {
    "source": {
      "src": "git:69cd5d0f06924077866869628fc5bf5307415698",
      "at": "2026-10-28T22:53:55+01:00",
      "note": "The category specs as committed at the last commit before the next version was recorded."
    },
    "introduced": {
      "commit": "f2166c7e9f55e896b095557e29e6c415f6d73bc6",
      "at": "2026-10-28T22:04:42+01:00"
    },
    "specCommitsAfterIntroduction": 1,
    "categories": {
      "account_abstraction_infra": {
        "specVersion": "2026.08",
        "sha256": "58ad2f3f8fa44ef71414d7a1f3977684999701b1b15ad2e7e274dcaa7b19a1e4",
        "url": "https://chainchoice.io/data/methodology/category/account_abstraction_infra.58ad2f3f8fa44ef7.json"
      },
      "appchains_l3s": {
        "specVersion": "2026.08",
        "sha256": "f33254e49312065d8ed76706ffd02b02b91c167a13841494215fe0a93d694ea1",
        "url": "https://chainchoice.io/data/methodology/category/appchains_l3s.f33254e49312065d.json"
      },
      "attestations": {
        "specVersion": "2026.08",
        "sha256": "6f57d08a3b11ddef9f19864bb5c14561169d90fd548873cec0da180aaabb7927",
        "url": "https://chainchoice.io/data/methodology/category/attestations.6f57d08a3b11ddef.json"
      },
      "automation_keepers": {
        "specVersion": "2026.08",
        "sha256": "8b549f1bcb261d7bcbf6ceb9d799bc501c95b940f799afb5e1028c2ed4623875",
        "url": "https://chainchoice.io/data/methodology/category/automation_keepers.8b549f1bcb261d7b.json"
      },
      "bill_pay": {
        "specVersion": "2026.08",
        "sha256": "b89b683b8fcf97536461acb1569a51a3627eb1c0e01ab134f6c0825e29b4a71e",
        "url": "https://chainchoice.io/data/methodology/category/bill_pay.b89b683b8fcf9753.json"
      },
      "block_explorers": {
        "specVersion": "2026.08",
        "sha256": "8ae646a4b18d7c1905e14d938d91f31c76c97201a76721024c49cfbe1e5fc839",
        "url": "https://chainchoice.io/data/methodology/category/block_explorers.8ae646a4b18d7c19.json"
      },
      "bridges": {
        "specVersion": "2026.04",
        "sha256": "733d4c178fe740e461b9ab7366a8b81dcbd1572e8000b56e1b68895cdbd9ab4a",
        "url": "https://chainchoice.io/data/methodology/category/bridges.733d4c178fe740e4.json"
      },
      "bug_bounties": {
        "specVersion": "2026.08",
        "sha256": "8ebfd4e205ed3889126452969cbeb3f8276ff621ea71a70f2e91ebe2de587a4c",
        "url": "https://chainchoice.io/data/methodology/category/bug_bounties.8ebfd4e205ed3889.json"
      },
      "business_banking": {
        "specVersion": "2026.08",
        "sha256": "a34fedc73dc16e8dafef3e21a997aa565bef8ee821aea3ab39d54b9da29296c1",
        "url": "https://chainchoice.io/data/methodology/category/business_banking.a34fedc73dc16e8d.json"
      },
      "carbon_credits": {
        "specVersion": "2026.08",
        "sha256": "6bbe74961a2cdf243038a147e14fce027ad597ca8f84d021441b5bc4dc7b9897",
        "url": "https://chainchoice.io/data/methodology/category/carbon_credits.6bbe74961a2cdf24.json"
      },
      "cdp_stablecoins": {
        "specVersion": "2026.08",
        "sha256": "a865bd6524b40f97cf3d129bd9cc9b4eb6dbe82532298db7033fcf655e3f0b1c",
        "url": "https://chainchoice.io/data/methodology/category/cdp_stablecoins.a865bd6524b40f97.json"
      },
      "creator_mint_platforms": {
        "specVersion": "2026.08",
        "sha256": "047c23e28f65715a236e751aca0196472405326264c3407553cdd64d67e7aa36",
        "url": "https://chainchoice.io/data/methodology/category/creator_mint_platforms.047c23e28f65715a.json"
      },
      "cross_chain_messaging": {
        "specVersion": "2026.08",
        "sha256": "85b853475f5054400a90f62a92eab4e395b886adfb3efc87cac7345be22b6784",
        "url": "https://chainchoice.io/data/methodology/category/cross_chain_messaging.85b853475f505440.json"
      },
      "cross_chain_swaps": {
        "specVersion": "2026.08",
        "sha256": "2892811404caeafc8286b9c98f9d3cb3c7b93dcb70ccd1a8ccc821fb77be3a6e",
        "url": "https://chainchoice.io/data/methodology/category/cross_chain_swaps.2892811404caeafc.json"
      },
      "crypto_backed_loans": {
        "specVersion": "2026.08",
        "sha256": "b0f7de045c7830a89334e3d8773e7d941507b642b10c93a3198906c14a27e512",
        "url": "https://chainchoice.io/data/methodology/category/crypto_backed_loans.b0f7de045c7830a8.json"
      },
      "crypto_card": {
        "specVersion": "2026.08",
        "sha256": "1bf31b62fa9d3933b3a2bcdd30d5de03ac2fc4232885d8895c86024769bd346b",
        "url": "https://chainchoice.io/data/methodology/category/crypto_card.1bf31b62fa9d3933.json"
      },
      "crypto_neobanks": {
        "specVersion": "2026.08",
        "sha256": "57f5bdbfdc3d6d9e01b7db980bfd3b91f2f800539b2e39debb0a42edd2781409",
        "url": "https://chainchoice.io/data/methodology/category/crypto_neobanks.57f5bdbfdc3d6d9e.json"
      },
      "crypto_payroll": {
        "specVersion": "2026.08",
        "sha256": "02d943c823c105792dbb86f39a645fc52655a39fd2ff303a2801d60622b2a6e4",
        "url": "https://chainchoice.io/data/methodology/category/crypto_payroll.02d943c823c10579.json"
      },
      "data_availability": {
        "specVersion": "2026.08",
        "sha256": "ccd0556d47000353510065f50e5bf0e6cbcbc867df75263d0b566f47120bed76",
        "url": "https://chainchoice.io/data/methodology/category/data_availability.ccd0556d47000353.json"
      },
      "decentralised_compute": {
        "specVersion": "2026.08",
        "sha256": "4b3f205c3f363f439489c6c4a3dee61b97943670bd192b892c81e93ec8b4bdfe",
        "url": "https://chainchoice.io/data/methodology/category/decentralised_compute.4b3f205c3f363f43.json"
      },
      "decentralised_id": {
        "specVersion": "2026.08",
        "sha256": "5eea8b1a95f341f710ea784385a8d43ba1759e09b9670def986fae8bbca3d89c",
        "url": "https://chainchoice.io/data/methodology/category/decentralised_id.5eea8b1a95f341f7.json"
      },
      "decentralised_storage": {
        "specVersion": "2026.08",
        "sha256": "edafd9d5ecc33a3894dfa5efddf2542f4eb98b728fbb1af4ebd0ba79c9f6eb66",
        "url": "https://chainchoice.io/data/methodology/category/decentralised_storage.edafd9d5ecc33a38.json"
      },
      "defi_dashboards": {
        "specVersion": "2026.08",
        "sha256": "2d4781df76f13e99487f551bd1e395e564635e3e138d66aaafd3b74376627212",
        "url": "https://chainchoice.io/data/methodology/category/defi_dashboards.2d4781df76f13e99.json"
      },
      "defi_insurance": {
        "specVersion": "2026.08",
        "sha256": "17f08fc8ac5f966b10d2c4b769d324148d134a2d896e9742b69a768f8a416fe6",
        "url": "https://chainchoice.io/data/methodology/category/defi_insurance.17f08fc8ac5f966b.json"
      },
      "depin_networks": {
        "specVersion": "2026.08",
        "sha256": "d354c6cc8dd967decb5526e6e7b4e80c09fa30862b395985dc9afed2e5b05562",
        "url": "https://chainchoice.io/data/methodology/category/depin_networks.d354c6cc8dd967de.json"
      },
      "dev_frameworks": {
        "specVersion": "2026.08",
        "sha256": "d9dc16de7450a56a9c194e6fede814fcb5038e0ccd0a1b6c6c72ef6388a6fa6e",
        "url": "https://chainchoice.io/data/methodology/category/dev_frameworks.d9dc16de7450a56a.json"
      },
      "dex": {
        "specVersion": "2026.07",
        "sha256": "664510f9469be2b761963563a6ad9fc7e2cedb36a0139b7bc0af89a64e090fb7",
        "url": "https://chainchoice.io/data/methodology/category/dex.664510f9469be2b7.json"
      },
      "dex_aggregator": {
        "specVersion": "2026.07",
        "sha256": "5dc33ad959c4b50dcc963d41afa4cfc12445221270a2d371a61c9b0473cd16f4",
        "url": "https://chainchoice.io/data/methodology/category/dex_aggregator.5dc33ad959c4b50d.json"
      },
      "enterprise_accounting": {
        "specVersion": "2026.08",
        "sha256": "8c51c09bcadeebfe149ac623c05c54d12019312ad2ee6acc8d81f6acb0ff8e45",
        "url": "https://chainchoice.io/data/methodology/category/enterprise_accounting.8c51c09bcadeebfe.json"
      },
      "exchange": {
        "specVersion": "2026.08",
        "sha256": "16e6a15aa28c83f12635a58e171118649c692696c5fd379e61b8ea01aeb7cb5a",
        "url": "https://chainchoice.io/data/methodology/category/exchange.16e6a15aa28c83f1.json"
      },
      "fixed_rate_yield": {
        "specVersion": "2026.08",
        "sha256": "a9801fabcd4319462fdc95a3409c05eb6f2b587d83a5b728568f8f563d4c1e4a",
        "url": "https://chainchoice.io/data/methodology/category/fixed_rate_yield.a9801fabcd431946.json"
      },
      "flash_loans": {
        "specVersion": "2026.08",
        "sha256": "f6d8f522ce2b028bfc346efc289f367b3411a8c4038cdb88887a8e623c631411",
        "url": "https://chainchoice.io/data/methodology/category/flash_loans.f6d8f522ce2b028b.json"
      },
      "gift_cards": {
        "specVersion": "2026.08",
        "sha256": "b32742af565455bae48718f075906e13f16685eb476c90c252866bb4b9585054",
        "url": "https://chainchoice.io/data/methodology/category/gift_cards.b32742af565455ba.json"
      },
      "governance_tools": {
        "specVersion": "2026.08",
        "sha256": "a7ff402431de95a3d5b5f6661b17ec6e90475df6ab604ae87a16d18108bfdf05",
        "url": "https://chainchoice.io/data/methodology/category/governance_tools.a7ff402431de95a3.json"
      },
      "hardware_wallet": {
        "specVersion": "2026.10",
        "sha256": "1f888d1c96426021ec32c361ed06867c0ede9808ffe1098bbc696b67caac7797",
        "url": "https://chainchoice.io/data/methodology/category/hardware_wallet.1f888d1c96426021.json"
      },
      "incentive_distribution": {
        "specVersion": "2026.08",
        "sha256": "8b048846e298ea4760ce9b76d7e23bd87da8761b17972468e5acfce1f58eae84",
        "url": "https://chainchoice.io/data/methodology/category/incentive_distribution.8b048846e298ea47.json"
      },
      "indexers": {
        "specVersion": "2026.08",
        "sha256": "a90ccb05853dfee10509b27ea7aaf776721909fd0c2220381a9ddf23704bed09",
        "url": "https://chainchoice.io/data/methodology/category/indexers.a90ccb05853dfee1.json"
      },
      "institutional_custody": {
        "specVersion": "2026.08",
        "sha256": "6510cce219527b815331da565c5e16172a09cf8fa353c96a0bf8a65fcc6273b2",
        "url": "https://chainchoice.io/data/methodology/category/institutional_custody.6510cce219527b81.json"
      },
      "institutional_execution": {
        "specVersion": "2026.08",
        "sha256": "4fe11bd110f70f9d6ced3969968e373fe66be76a84f150d47321d12748d38472",
        "url": "https://chainchoice.io/data/methodology/category/institutional_execution.4fe11bd110f70f9d.json"
      },
      "intents": {
        "specVersion": "2026.08",
        "sha256": "8abb95def15042ff99024ff3cc2f4c017984e73e6a7e04ced0651d86701a99ac",
        "url": "https://chainchoice.io/data/methodology/category/intents.8abb95def15042ff.json"
      },
      "key_recovery": {
        "specVersion": "2026.08",
        "sha256": "204d20de611a42c9906c44fe3be5555f927ae3f0c9f862f43fea890e6097f14f",
        "url": "https://chainchoice.io/data/methodology/category/key_recovery.204d20de611a42c9.json"
      },
      "kyc_compliance": {
        "specVersion": "2026.08",
        "sha256": "ac107ea62d26c531ea57310ba2432769c390b0ec299249059d21f5c239825394",
        "url": "https://chainchoice.io/data/methodology/category/kyc_compliance.ac107ea62d26c531.json"
      },
      "l2_chains": {
        "specVersion": "2026.10",
        "sha256": "9a81b5b83b173e0621e84c46ac26e4d5785e54d7ad2af5164e4a70d5c228b2ee",
        "url": "https://chainchoice.io/data/methodology/category/l2_chains.9a81b5b83b173e06.json"
      },
      "launchpads": {
        "specVersion": "2026.08",
        "sha256": "b72d4a367361d633c8f019f10a26e2a2c5c2f32662dfc8b723f5e57c41b554f0",
        "url": "https://chainchoice.io/data/methodology/category/launchpads.b72d4a367361d633.json"
      },
      "layer1_chains": {
        "specVersion": "2026.08",
        "sha256": "b6ed8d16056e7316a32e85567ba721b505e9a105e096ada045bb6075ad3292b8",
        "url": "https://chainchoice.io/data/methodology/category/layer1_chains.b6ed8d16056e7316.json"
      },
      "lending_borrowing": {
        "specVersion": "2026.08",
        "sha256": "c76e65e08f01bc5b4b9c8da0fffc138a8a1a9541e5af52fa898c0dc8288bd82c",
        "url": "https://chainchoice.io/data/methodology/category/lending_borrowing.c76e65e08f01bc5b.json"
      },
      "lightning_payment_infrastructure": {
        "specVersion": "2026.08",
        "sha256": "94985ef73ea52dae74819709ddcf9ca83fb9ac579666a999ecce6e71e410a758",
        "url": "https://chainchoice.io/data/methodology/category/lightning_payment_infrastructure.94985ef73ea52dae.json"
      },
      "lightning_wallets": {
        "specVersion": "2026.08",
        "sha256": "f7fd20b04d0fc5b24ee80a4439cc87d17449b1838941f3d8cea53611dc9fb19b",
        "url": "https://chainchoice.io/data/methodology/category/lightning_wallets.f7fd20b04d0fc5b2.json"
      },
      "liquid_lockers": {
        "specVersion": "2026.08",
        "sha256": "4a526d0c853779b266eb60194a96e06863f6d4f0e2283a95a4f6502b8cdde9a9",
        "url": "https://chainchoice.io/data/methodology/category/liquid_lockers.4a526d0c853779b2.json"
      },
      "liquid_staking": {
        "specVersion": "2026.08",
        "sha256": "e6f92adc17cb32f7b12c4f6942cc67a07fbc900a3ec2836d1b04dee4cf88e505",
        "url": "https://chainchoice.io/data/methodology/category/liquid_staking.e6f92adc17cb32f7.json"
      },
      "liquidity_management": {
        "specVersion": "2026.08",
        "sha256": "aad6e6faef0781d634ed6db67a4dbc4e9680692723fef6181adc7eabb9f2563c",
        "url": "https://chainchoice.io/data/methodology/category/liquidity_management.aad6e6faef0781d6.json"
      },
      "market_data_apis": {
        "specVersion": "2026.08",
        "sha256": "5a3326a8fc70b9a2af89edd4142d4182f513afd80546f4024d2dbff6ad9a8071",
        "url": "https://chainchoice.io/data/methodology/category/market_data_apis.5a3326a8fc70b9a2.json"
      },
      "mev_protection": {
        "specVersion": "2026.08",
        "sha256": "8f340f42e63c1c8782a57f9810286b283515534f943ba70c758dbcc687a0dd4e",
        "url": "https://chainchoice.io/data/methodology/category/mev_protection.8f340f42e63c1c87.json"
      },
      "mining_pools": {
        "specVersion": "2026.08",
        "sha256": "e17076a76a567eee1dbbd9c653533044466b8c3c09c67f7ff3817c149ed2eb48",
        "url": "https://chainchoice.io/data/methodology/category/mining_pools.e17076a76a567eee.json"
      },
      "money_market_funds": {
        "specVersion": "2026.08",
        "sha256": "ce40101660541344187f1ccec4bb048fc405876183336ad96af5d5cb3c59b97e",
        "url": "https://chainchoice.io/data/methodology/category/money_market_funds.ce40101660541344.json"
      },
      "mpc_wallets": {
        "specVersion": "2026.08",
        "sha256": "eeb22a44c70533a7a3b7c0098dcc76000154715b6312415176a6bb2b90b92b09",
        "url": "https://chainchoice.io/data/methodology/category/mpc_wallets.eeb22a44c70533a7.json"
      },
      "naming_services": {
        "specVersion": "2026.08",
        "sha256": "55a5dabcd19b8ae0ac3e19133584aa4e071deb45f59f77410279fff7fce9d8ab",
        "url": "https://chainchoice.io/data/methodology/category/naming_services.55a5dabcd19b8ae0.json"
      },
      "nft_analytics": {
        "specVersion": "2026.08",
        "sha256": "1cec13e2b0557752c2bec89b65d8960d154fcbf5a38162a540d52424cf570d02",
        "url": "https://chainchoice.io/data/methodology/category/nft_analytics.1cec13e2b0557752.json"
      },
      "nft_lending": {
        "specVersion": "2026.08",
        "sha256": "5159f2dd26839c99ded832459a2213b1c92aef6ab8186be1173d22c487b52596",
        "url": "https://chainchoice.io/data/methodology/category/nft_lending.5159f2dd26839c99.json"
      },
      "nft_marketplace": {
        "specVersion": "2026.08",
        "sha256": "4ecd2c667aac2aa588b2c718f71066f987561eb30f7069d4b49ae71976bcbbae",
        "url": "https://chainchoice.io/data/methodology/category/nft_marketplace.4ecd2c667aac2aa5.json"
      },
      "offramps": {
        "specVersion": "2026.08",
        "sha256": "84984d6e772f0f92a6ba459849bdf7dd0ace2d3256a367a47cb14f14e0061008",
        "url": "https://chainchoice.io/data/methodology/category/offramps.84984d6e772f0f92.json"
      },
      "onchain_analytics": {
        "specVersion": "2026.08",
        "sha256": "fdc900e2e1fb60376df3fbd9d9befa6386db9c9de54c15baaadf2297741f27ec",
        "url": "https://chainchoice.io/data/methodology/category/onchain_analytics.fdc900e2e1fb6037.json"
      },
      "onchain_monitoring": {
        "specVersion": "2026.08",
        "sha256": "abdb07410717017ca5138e904fca98e477b7de118aa87ae2a4504d2988667c6d",
        "url": "https://chainchoice.io/data/methodology/category/onchain_monitoring.abdb07410717017c.json"
      },
      "onramp": {
        "specVersion": "2026.08",
        "sha256": "0319e84ff1ab41f5687b03463fed1264915ecb429ff6ba066a317edc63e1495d",
        "url": "https://chainchoice.io/data/methodology/category/onramp.0319e84ff1ab41f5.json"
      },
      "options_vaults": {
        "specVersion": "2026.08",
        "sha256": "f71cc0c6147996a9613c55a13c07ea23c8a4112587e889a436c46fbcd2a24f49",
        "url": "https://chainchoice.io/data/methodology/category/options_vaults.f71cc0c6147996a9.json"
      },
      "oracles": {
        "specVersion": "2026.08",
        "sha256": "9e82375fc57e70c8a19a19159206968bea3b22b572a053fa6ad73ebbe6c89cfe",
        "url": "https://chainchoice.io/data/methodology/category/oracles.9e82375fc57e70c8.json"
      },
      "otc_desks": {
        "specVersion": "2026.08",
        "sha256": "eb49f36143805d642b2cad1e94c9d0412795b17c3a3bd3aab48310aaf872ae41",
        "url": "https://chainchoice.io/data/methodology/category/otc_desks.eb49f36143805d64.json"
      },
      "p2p_exchanges": {
        "specVersion": "2026.08",
        "sha256": "c8f66f457a8f67b5ee0e984bb4df3d919bf87c6d987db51dcaebf6f6cd08abdd",
        "url": "https://chainchoice.io/data/methodology/category/p2p_exchanges.c8f66f457a8f67b5.json"
      },
      "paid_research_seats": {
        "specVersion": "2026.08",
        "sha256": "c94959beb43d3564da8987e09051a66a8d48a2fdba49a8155b8e51b8f998953b",
        "url": "https://chainchoice.io/data/methodology/category/paid_research_seats.c94959beb43d3564.json"
      },
      "payment_gateway": {
        "specVersion": "2026.04",
        "sha256": "2dc1139be927f6be259a07d56c0fd05048ae41dfc16868ecf1fac2a8d09a70f1",
        "url": "https://chainchoice.io/data/methodology/category/payment_gateway.2dc1139be927f6be.json"
      },
      "perp_dex": {
        "specVersion": "2026.07",
        "sha256": "c1be8c4b65ce679cf090221bc3981cbdcdf222fdcada3544aa9afa511f228e9c",
        "url": "https://chainchoice.io/data/methodology/category/perp_dex.c1be8c4b65ce679c.json"
      },
      "perp_house_vaults": {
        "specVersion": "2026.08",
        "sha256": "c213dbbc73b619fb7a5c76739a8cf7b5469f1356efcb6bca083740bf79871c22",
        "url": "https://chainchoice.io/data/methodology/category/perp_house_vaults.c213dbbc73b619fb.json"
      },
      "portfolio_tracking": {
        "specVersion": "2026.08",
        "sha256": "09e78545d808a387796a9953801cfb77576ad29565cfdf912ef10e426bc9773c",
        "url": "https://chainchoice.io/data/methodology/category/portfolio_tracking.09e78545d808a387.json"
      },
      "prediction_markets": {
        "specVersion": "2026.08",
        "sha256": "36b51b2b1226f217f65b594de55b383d7983ebe9a4173f2cb652c970dc779d14",
        "url": "https://chainchoice.io/data/methodology/category/prediction_markets.36b51b2b1226f217.json"
      },
      "privacy_tools": {
        "specVersion": "2026.08",
        "sha256": "eefd1f51429c6a6ba50e21a303003c9b447d09bdb4455fb5ab10be38aa84c9c7",
        "url": "https://chainchoice.io/data/methodology/category/privacy_tools.eefd1f51429c6a6b.json"
      },
      "private_credit": {
        "specVersion": "2026.08",
        "sha256": "5512dd63ce2c3e79d1fca1b5e1c877afce84f902201f0c4c5db7107b43e36321",
        "url": "https://chainchoice.io/data/methodology/category/private_credit.5512dd63ce2c3e79.json"
      },
      "proof_of_personhood": {
        "specVersion": "2026.08",
        "sha256": "c96b11a00b6e5d3e9ecc8f230f75d571882aa5ef754b543c42148a19bbaa8308",
        "url": "https://chainchoice.io/data/methodology/category/proof_of_personhood.c96b11a00b6e5d3e.json"
      },
      "relayers": {
        "specVersion": "2026.08",
        "sha256": "ce007cbd1a4c2a15a2a379a0decd56532ab51f335165a6dac8fed1036e9ac6ab",
        "url": "https://chainchoice.io/data/methodology/category/relayers.ce007cbd1a4c2a15.json"
      },
      "remittances": {
        "specVersion": "2026.08",
        "sha256": "3a0c8eaa396a72f65fa5724ceb57f1da06b630005e2bf6a069f6ce90b4453ae9",
        "url": "https://chainchoice.io/data/methodology/category/remittances.3a0c8eaa396a72f6.json"
      },
      "restaking": {
        "specVersion": "2026.08",
        "sha256": "6aa74e9ac915561c7e289068315fa0f2a5df0640c8c0c7e4114e984e1f4d2eba",
        "url": "https://chainchoice.io/data/methodology/category/restaking.6aa74e9ac915561c.json"
      },
      "revoke_tools": {
        "specVersion": "2026.08",
        "sha256": "97c46860388fce90700a33245d965f3bdb98a268213f9f57db6b45085cbd8dba",
        "url": "https://chainchoice.io/data/methodology/category/revoke_tools.97c46860388fce90.json"
      },
      "rollup_as_a_service": {
        "specVersion": "2026.08",
        "sha256": "2a5b740118546cd7a5d07800c9376e71dd650f39e030b299e5e4bb923851e397",
        "url": "https://chainchoice.io/data/methodology/category/rollup_as_a_service.2a5b740118546cd7.json"
      },
      "rpc_nodes": {
        "specVersion": "2026.08",
        "sha256": "13d93854b2d6a804d326cc464f64faf996e17377f5ab330db6e9d8ae8129db77",
        "url": "https://chainchoice.io/data/methodology/category/rpc_nodes.13d93854b2d6a804.json"
      },
      "screeners": {
        "specVersion": "2026.08",
        "sha256": "18d7fed538fadf92e7ec655325714a9e1a994125851b8998cb6375cfb7a1a54b",
        "url": "https://chainchoice.io/data/methodology/category/screeners.18d7fed538fadf92.json"
      },
      "seed_backup": {
        "specVersion": "2026.08",
        "sha256": "0c4f33a0170be38b4224d5a25400c7d6cb7cc08cb405fe6a72700c90388bb3ad",
        "url": "https://chainchoice.io/data/methodology/category/seed_backup.0c4f33a0170be38b.json"
      },
      "sentiment_analytics": {
        "specVersion": "2026.08",
        "sha256": "97161c225480b8a261b93b6cc4ace49453d203dbba8c9c1aef15a09b53f1ab2e",
        "url": "https://chainchoice.io/data/methodology/category/sentiment_analytics.97161c225480b8a2.json"
      },
      "shared_sequencers": {
        "specVersion": "2026.08",
        "sha256": "16d65542ac877ac42635bb9b000f4c1bf96ae2edfaf99c97c12fad97972e44c8",
        "url": "https://chainchoice.io/data/methodology/category/shared_sequencers.16d65542ac877ac4.json"
      },
      "sidechains": {
        "specVersion": "2026.08",
        "sha256": "f3727d2c4e193135797b8a89d0b1337c5f8ccfa8967206a23bd5c90eee494465",
        "url": "https://chainchoice.io/data/methodology/category/sidechains.f3727d2c4e193135.json"
      },
      "simple_buy": {
        "specVersion": "2026.08",
        "sha256": "237d0b952c423a404b8fe28f3a18cc62a88af5610ed50acbffe08fbd3f721d26",
        "url": "https://chainchoice.io/data/methodology/category/simple_buy.237d0b952c423a40.json"
      },
      "smart_accounts": {
        "specVersion": "2026.08",
        "sha256": "06ab05930946086c08726908cdae6e81fc172984f5faa5a2855320cb3694c33a",
        "url": "https://chainchoice.io/data/methodology/category/smart_accounts.06ab05930946086c.json"
      },
      "smart_contract_audits": {
        "specVersion": "2026.08",
        "sha256": "f277123827c7c83ec991eb8507fb0c83ba5e405028ec2de5d3670c571ee21aa3",
        "url": "https://chainchoice.io/data/methodology/category/smart_contract_audits.f277123827c7c83e.json"
      },
      "socialfi": {
        "specVersion": "2026.08",
        "sha256": "e7009daa4f71fdd8bb54d45c0309c83f9235d28a821323000ee2b2a3cf287747",
        "url": "https://chainchoice.io/data/methodology/category/socialfi.e7009daa4f71fdd8.json"
      },
      "stablecoin_issuance": {
        "specVersion": "2026.08",
        "sha256": "6d7bea6d9769ff8009cb9981be3b483b5c97271f6f12967e3e3c3edaa2683829",
        "url": "https://chainchoice.io/data/methodology/category/stablecoin_issuance.6d7bea6d9769ff80.json"
      },
      "stablecoin_settlement": {
        "specVersion": "2026.08",
        "sha256": "45b9a595ec256522d77c5d8e23a2330906017ad2f6a810652f15e96def82a173",
        "url": "https://chainchoice.io/data/methodology/category/stablecoin_settlement.45b9a595ec256522.json"
      },
      "stablecoin_yield": {
        "specVersion": "2026.08",
        "sha256": "e804599ce282eaa568f8c9741408df637b36427e5a1430ad70e00e3f1bc889ff",
        "url": "https://chainchoice.io/data/methodology/category/stablecoin_yield.e804599ce282eaa5.json"
      },
      "stablecoins": {
        "specVersion": "2026.08",
        "sha256": "1548c4750888d10e11299e9bcc8fbae239d5d9f8304016efddd08a713489f1fa",
        "url": "https://chainchoice.io/data/methodology/category/stablecoins.1548c4750888d10e.json"
      },
      "staking": {
        "specVersion": "2026.08",
        "sha256": "c5f913299ce09f34fa77a6b65e80796a8b9a7a016219a00fcf18f010977c3101",
        "url": "https://chainchoice.io/data/methodology/category/staking.c5f913299ce09f34.json"
      },
      "structured_products": {
        "specVersion": "2026.08",
        "sha256": "834c05a6d24a7487a8fdf399319aec2dd04d962acb8e11738174742a78e28dbe",
        "url": "https://chainchoice.io/data/methodology/category/structured_products.834c05a6d24a7487.json"
      },
      "subscriptions": {
        "specVersion": "2026.08",
        "sha256": "d6bc50a9199b97fb1def3fd7ba4c5d59180861cbe8946300aff9654fd2a76097",
        "url": "https://chainchoice.io/data/methodology/category/subscriptions.d6bc50a9199b97fb.json"
      },
      "tax_software": {
        "specVersion": "2026.08",
        "sha256": "37a1914aea513e28b19e10b33df7563c979098573c935307fcccf4afbd629e0d",
        "url": "https://chainchoice.io/data/methodology/category/tax_software.37a1914aea513e28.json"
      },
      "token_launch_platforms": {
        "specVersion": "2026.08",
        "sha256": "2f869809acfaf16d48bb222b59f5c2b1911f6683aa98ae57a7597d3f5dee11db",
        "url": "https://chainchoice.io/data/methodology/category/token_launch_platforms.2f869809acfaf16d.json"
      },
      "token_standards": {
        "specVersion": "2026.08",
        "sha256": "08fbb0fa5a232717daa643e2815db548210707cdbb9c2a0f8143052ec3b5082f",
        "url": "https://chainchoice.io/data/methodology/category/token_standards.08fbb0fa5a232717.json"
      },
      "tokenisation_platforms": {
        "specVersion": "2026.08",
        "sha256": "6a237022c05a15ef60fff44fb32075dce41631370b68ca26829b4e8f834e1f78",
        "url": "https://chainchoice.io/data/methodology/category/tokenisation_platforms.6a237022c05a15ef.json"
      },
      "tokenised_bonds": {
        "specVersion": "2026.08",
        "sha256": "664aa23e6ede1733f9687ecfb1741c8b6a7efc5bce7c6d5b184f69396dafc9a9",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_bonds.664aa23e6ede1733.json"
      },
      "tokenised_commodities": {
        "specVersion": "2026.08",
        "sha256": "77e0e218aa8a49dc76fb702aa34179d3263251439f132db1fcdb61167c09575d",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_commodities.77e0e218aa8a49dc.json"
      },
      "tokenised_equities": {
        "specVersion": "2026.08",
        "sha256": "c3ecbc2b49b9978b5ba59937d39e2646fdbd86d15043f7b79a46f9657ca3b77e",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_equities.c3ecbc2b49b9978b.json"
      },
      "tokenised_funds": {
        "specVersion": "2026.08",
        "sha256": "a4f8612284c5a8e0015f3937452fe07259994ea8634b15de78c3b9128a2db6ae",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_funds.a4f8612284c5a8e0.json"
      },
      "tokenised_realestate": {
        "specVersion": "2026.08",
        "sha256": "057db7cd7dbbb673b0c8361882faddbce0bd925dddcf350f7d08a7a070c63531",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_realestate.057db7cd7dbbb673.json"
      },
      "tokenised_tbills": {
        "specVersion": "2026.08",
        "sha256": "0d0990b14ddb376fe9312e1087072106d31a3133f5b43ac90c692f5dcec8b14c",
        "url": "https://chainchoice.io/data/methodology/category/tokenised_tbills.0d0990b14ddb376f.json"
      },
      "trading_bots": {
        "specVersion": "2026.08",
        "sha256": "9e768ab9ef3705b15d7c8a4d99fc686659457e327703fa34c633aabf3d2cd87c",
        "url": "https://chainchoice.io/data/methodology/category/trading_bots.9e768ab9ef3705b1.json"
      },
      "trading_tools": {
        "specVersion": "2026.08",
        "sha256": "2e299ffb20201e661c77b4b12e34cba11c8afa0c956bb4f036af6af3ef1354da",
        "url": "https://chainchoice.io/data/methodology/category/trading_tools.2e299ffb20201e66.json"
      },
      "transaction_simulation": {
        "specVersion": "2026.08",
        "sha256": "58dd556dbd407f5f85ab06367488f8d7a86c4f8cc98ce629383a67f497124729",
        "url": "https://chainchoice.io/data/methodology/category/transaction_simulation.58dd556dbd407f5f.json"
      },
      "travel_rule_compliance": {
        "specVersion": "2026.08",
        "sha256": "3e7809cb78df8f0a9732e56d32bc370700ccffe72ef8f184104de8e76af7e453",
        "url": "https://chainchoice.io/data/methodology/category/travel_rule_compliance.3e7809cb78df8f0a.json"
      },
      "wallet": {
        "specVersion": "2026.08",
        "sha256": "995829226974b554a54657c4b1fb15788c216dc1a5cd4eab366efd44cdebe58c",
        "url": "https://chainchoice.io/data/methodology/category/wallet.995829226974b554.json"
      },
      "wallet_screening": {
        "specVersion": "2026.08",
        "sha256": "3f825f55be80948d1a8143220349e0c50ed1896d5e1379d68659bf924a660ad8",
        "url": "https://chainchoice.io/data/methodology/category/wallet_screening.3f825f55be80948d.json"
      },
      "web3_apps": {
        "specVersion": "2026.04",
        "sha256": "e8d50d4b250528527c865af8dc467a70e7da18db3c4e734f4ecee38e503c760d",
        "url": "https://chainchoice.io/data/methodology/category/web3_apps.e8d50d4b25052852.json"
      },
      "wrapped_assets": {
        "specVersion": "2026.08",
        "sha256": "7ba951d27fbfb170508aede43b1ef3114285a268bb3889133631f097bc1c005c",
        "url": "https://chainchoice.io/data/methodology/category/wrapped_assets.7ba951d27fbfb170.json"
      },
      "yield_aggregators": {
        "specVersion": "2026.08",
        "sha256": "ef82a9d638956932e207391d4e0f4f1e5048b91897ab40eb0f2b3f6d76fbc217",
        "url": "https://chainchoice.io/data/methodology/category/yield_aggregators.ef82a9d638956932.json"
      },
      "yield_vaults": {
        "specVersion": "2026.08",
        "sha256": "2dd14ec1be13c04ba43614d6fcf798623761ab12b73aa61a1bde02df57dd67d2",
        "url": "https://chainchoice.io/data/methodology/category/yield_vaults.2dd14ec1be13c04b.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.",
      "constantHereNote": "Each category publishes constantHere beside its weights: true for a weighted dimension whose value is identical for every ranked product of that category. Its weight still counts in step 1 and no score moves; it ordered nothing there, and every page that prints that category's weights prints \"constant here\" beside it.",
      "attestationNote": "Each category publishes attestations: of its ranked rows' criterion cells, how many rest on a provider officer's signed, dated and hashed attestation alone (labelled attested-by-provider), and that share in percent. An attestation lifts its criterion by at most 1 rung (one band of 0-2, 3-4, 5-6, 7-8, 9-10) over the public evidence, and a score that rests on one reads \"Attested by provider\", never \"Verified\".",
      "ccssNote": "Custody categories in scope publish ccss: each ranked row's CryptoCurrency Security Standard level read off the C4 register on readAt. A current, entity-matched certificate (at most 365 days old) corroborates a band of the named criterion — Level 1 3-4, Level 2 5-6, Level 3 7-8 — and moves no score. not-listed means absent from that register page on that day, not that no audit exists.",
      "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 35 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": 4209,
        "rankingsDigest": "93eb6e473ef4eb2f1af31aad4067ee7018a04ce576baf5c8f41b97edf50abdef",
        "ob": "2026-10-28",
        "src": "git:f2166c7e9f55e896b095557e29e6c415f6d73bc6",
        "engine": "2026.10.14"
      },
      {
        "seq": 4210,
        "rankingsDigest": "cb550b6ad671c79c75f778293551d8bed72e0426aafa51271e42ab262350de98",
        "ob": "2026-10-28",
        "src": "git:69cd5d0f06924077866869628fc5bf5307415698",
        "engine": "2026.10.14"
      }
    ],
    "whenIntroduced": "93eb6e473ef4eb2f1af31aad4067ee7018a04ce576baf5c8f41b97edf50abdef",
    "whenSuperseded": "cb550b6ad671c79c75f778293551d8bed72e0426aafa51271e42ab262350de98",
    "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."
  ]
}
