{
  "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.17.json",
  "version": "2026.10.17",
  "status": "archived",
  "publishedAt": "2026-10-28",
  "title": "Crypto savings plans are ranked on what a year of your plan costs, and an unpublished spread stays unknown",
  "supersededBy": "2026.10.18",
  "previous": "2026.10.16",
  "changelog": {
    "url": "https://chainchoice.io/methodology/changelog#v-2026.10.17",
    "entry": {
      "version": "2026.10.17",
      "publishedAt": "2026-10-28",
      "title": "Crypto savings plans are ranked on what a year of your plan costs, and an unpublished spread stays unknown",
      "summary": "A new category ranks recurring crypto buys on five published criteria: cost per year at €100 a month (35), custody and the route to your own wallet (25), licence and asset protection (15), minimum and schedule (15) and execution price transparency (10). Cost is a year of executions at the reader's monthly amount; a plan whose provider publishes no spread or bound on it shows \"Spread unpublished\" beside its fee instead of a total and cannot score above 5 of 10 on cost. Find my best adds the answer \"Never held by the provider\", which removes every plan that holds the coins itself.",
      "rationale": "Recurring buys were ranked nowhere as plans: Simple Buy and Crypto Exchanges price a one-off purchase, so a reader asking what €100 a month costs over a year got no answer. Three of the five plans read on 28 October publish a fee but no spread, and pricing them at the fee alone would show Trade Republic's €0 execution fee as the cheapest plan. The self-custody rule that Simple Buy applies as a refusal is a scored criterion here, because a plan is a schedule whose coins are moved in batches and the cost of each exit separates plans that can all leave: non-custodial 10, a free exit 8, a charged exit 6, a restricted exit 4, no exit 2. Every plan ranked has an exit. Trade Republic was first scored 2 on an undated help article saying crypto cannot be sent out; its price list v11.2025 prices crypto transfers out at no charge beyond the network fee and its release of 14 November 2025 launched them, so it scores 8. Its minimum is €10 on the same price list, not the €1 of the help article, so minimum and schedule scores 6, not 9. Both changes were made before the category was published.",
      "affectedCategories": [
        "savings_plans"
      ],
      "changes": [
        {
          "type": "added",
          "description": "Crypto Savings Plans is a new category. Finst Auto Invest enters at #1 with 78, Bitstack Recurring at #2 with 69, Relai Recurring at #3 with 67, Trade Republic Crypto Savings Plan at #4 with 66 and Bitpanda Savings Plan at #5 with 61. Scalable Capital, Sparkasse and Coinbase are named refusals with their reasons."
        },
        {
          "type": "changed",
          "description": "Corrected 2026-10-28, before the category was deployed: a refuter pass found that Trade Republic's coins can leave (price list v11.2025, release of 14 November 2025), so its custody score went from 2 to 8. Trade Republic Crypto Savings Plan moved from 60 to 69 and from #5 to #2; Bitstack Recurring from #2 to #3 at 69; Relai Recurring from #3 to #4 at 67; Bitpanda Savings Plan from #4 to #5 at 61."
        },
        {
          "type": "changed",
          "description": "Corrected again 2026-10-28, before the category was deployed: Trade Republic's price list v11.2025 states 'Anlagevolumen pro Ausführung: 10 € bis 10.000 €' for the crypto savings plan, so the minimum is €10, not the €1 of an undated help article, and its minimum-and-schedule score went from 9 to 6 (from €10 on fixed execution days is not daily, weekly and monthly at a time the buyer picks). Trade Republic Crypto Savings Plan moved from 69 to 66 and from #2 to #4; Bitstack Recurring from #3 to #2 at 69; Relai Recurring from #4 to #3 at 67; Bitpanda Savings Plan stays #5 at 61."
        },
        {
          "type": "added",
          "description": "Crypto Savings Plans country pages: Finst Auto Invest leads in Austria, Belgium, Finland, France, Germany, Ireland, Italy, the Netherlands, Poland, Portugal, Spain, Sweden and Switzerland, the countries on its own list. Bitpanda Savings Plan leads in Norway, inside the MiCA passport of the Bitpanda entity whose terms were scored. Each plan is listed only in the countries its provider's own list or its MiCA passport names: Trade Republic in the seventeen on its help centre's list, Relai in the 26 states of its passport plus France."
        },
        {
          "type": "added",
          "description": "Read from those lists, Relai Recurring is left off the pages for Norway, Switzerland and the United Kingdom; Trade Republic Crypto Savings Plan is left off the pages for Norway, Poland, Sweden, Switzerland and the United Kingdom; and Bitpanda Savings Plan is left off the pages for Switzerland and the United Kingdom."
        },
        {
          "type": "added",
          "description": "Crypto Savings Plans country pages for Australia, Canada, Hong Kong, Indonesia, Japan, the Philippines, Singapore, South Korea, Thailand, the United Arab Emirates, the United States and Vietnam list no plan: every ranked plan serves Europe only."
        },
        {
          "type": "added",
          "description": "The Crypto Savings Plans page for the United Kingdom lists no plan: Relai's and Trade Republic's passports do not cover the United Kingdom, and Bitpanda's UK savings plan is run by Bitpanda Broker UK Ltd under its own terms, which this ranking has not scored."
        },
        {
          "type": "added",
          "description": "Find my best for crypto savings plans: \"Never held by the provider\" removes Finst Auto Invest, Bitstack Recurring, Bitpanda Savings Plan and Trade Republic Crypto Savings Plan, whose providers hold the coins, and keeps Relai Recurring, which delivers each purchase to the buyer's own wallet."
        }
      ],
      "approvedBy": "mathias-siemonsmeier",
      "approvalNote": "category creation approved 2026-10-28; criteria set pending owner review"
    }
  },
  "rules": {
    "source": {
      "src": "git:65725c9f5e02532db2f7d0630f51997859f9d6d8",
      "at": "2026-10-29T02:39:54+01:00",
      "note": "The category specs as committed at the last commit before the next version was recorded."
    },
    "introduced": {
      "commit": "65725c9f5e02532db2f7d0630f51997859f9d6d8",
      "at": "2026-10-29T02:39:54+01:00"
    },
    "specCommitsAfterIntroduction": 0,
    "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": "0a6e68af44f1a36c0956ec89a76131e69326687b614173e8031c2215f568c25d",
        "url": "https://chainchoice.io/data/methodology/category/exchange.0a6e68af44f1a36c.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"
      },
      "savings_plans": {
        "specVersion": "2026.10",
        "sha256": "1c4f54a7e6cdd0af8732f8d1fe94761e27146036c4d46d3b5b72c9c82846dab1",
        "url": "https://chainchoice.io/data/methodology/category/savings_plans.1c4f54a7e6cdd0af.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": "cbafb10d46a1f10a3a1007ce2a50165647d9ff75826758d962c130fabe2920d8",
        "url": "https://chainchoice.io/data/methodology/category/simple_buy.cbafb10d46a1f10a.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": "92e04c3e3da2e874c5e50f70db0f0dca601860709968eeb0727ce1920b065ba2",
        "url": "https://chainchoice.io/data/methodology/category/wallet.92e04c3e3da2e874.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 119 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": 4266,
        "rankingsDigest": "92c61bda7c74707b756efbeaf961e19ef8299d5e5e8323589ff836bbea7db5d0",
        "ob": "2026-10-29",
        "src": "git:65725c9f5e02532db2f7d0630f51997859f9d6d8",
        "engine": "2026.10.17"
      }
    ],
    "whenIntroduced": "92c61bda7c74707b756efbeaf961e19ef8299d5e5e8323589ff836bbea7db5d0",
    "whenSuperseded": "92c61bda7c74707b756efbeaf961e19ef8299d5e5e8323589ff836bbea7db5d0",
    "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": []
}
