{
  "_note": "Generated by scripts/generate-search-quality.ts; do not edit by hand (both build chains run it with --check).",
  "about": "How many labelled queries the search bars on chainchoice.io open right, per kind of query. Two rates, not one total: handLabelled (the headline) counts the sentences and questions a person labelled; generated counts names, misspellings, constraints and plans built from the site's own names and the intent table the search binds with, so it largely measures the search against itself. Sentences, questions, constraints and plans are replayed here through the Enter every search bar calls; names and misspellings are read from the lookup corpus's own measured counts (search-lookup-corpus.json), which check-search-lookup and check-search-typos replay. Each case is published with the page or address it must open; the build fails when a rate here differs from a replay or falls below its bar.",
  "generator": "scripts/generate-search-quality.ts",
  "changedOn": "2026-11-12",
  "license": "CC-BY-4.0",
  "licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "ChainChoice (https://chainchoice.io)",
  "handLabelled": {
    "right": 93,
    "of": 99,
    "rate": 0.9393
  },
  "generated": {
    "right": 4125,
    "of": 4134,
    "rate": 0.9978
  },
  "blocks": [
    {
      "id": "names",
      "asks": "a product, list, buyer phrase or coin, by its name",
      "expects": "the page the name opens, in one step",
      "cases": "/data/search-lookup-corpus.json#lookup",
      "right": 1497,
      "of": 1497,
      "bar": 1,
      "heldBy": "scripts/check-search-lookup.ts",
      "rate": 1,
      "labelled": "generated"
    },
    {
      "id": "typos",
      "asks": "a name misspelled by one or two edits",
      "expects": "the same page as the name",
      "cases": "/data/search-lookup-corpus.json#typos",
      "right": 1993,
      "of": 2002,
      "bar": 0.95,
      "heldBy": "scripts/check-search-typos.ts",
      "rate": 0.9955,
      "labelled": "generated"
    },
    {
      "id": "constraints",
      "asks": "a sentence with preferences, a chain, a country, a volume, a budget or a route",
      "expects": "the list it names at /best/<list>, with exactly the keys it can take; the rest shown as read and not applied",
      "cases": "/data/search-intent-corpus.json#intent",
      "right": 603,
      "of": 603,
      "bar": 1,
      "heldBy": "scripts/check-search-intent.ts",
      "rate": 1,
      "labelled": "generated"
    },
    {
      "id": "plans",
      "asks": "a request of several steps (\"compare the three cheapest exchanges in Germany\")",
      "expects": "the list with its keys and the comparison of its first rows",
      "cases": "/data/search-intent-corpus.json#compound",
      "right": 32,
      "of": 32,
      "bar": 1,
      "heldBy": "scripts/check-search-intent.ts",
      "rate": 1,
      "labelled": "generated"
    },
    {
      "id": "sentences",
      "asks": "what a buyer types, labelled by hand",
      "expects": "the list at its address (or a question only within it), with the country and amount the sentence names",
      "cases": "/data/search-quality.json#sentences",
      "right": 74,
      "of": 74,
      "bar": 1,
      "heldBy": "scripts/check-query-understanding.ts",
      "rate": 1,
      "labelled": "hand"
    },
    {
      "id": "questions",
      "asks": "the same needs asked as questions, labelled by hand",
      "expects": "the list at its address (or a question only within it), with the country the question names",
      "cases": "/data/search-quality.json#questions",
      "right": 19,
      "of": 25,
      "bar": 0.76,
      "heldBy": "scripts/generate-search-quality.ts",
      "rate": 0.76,
      "labelled": "hand"
    }
  ],
  "sentences": [
    {
      "q": "safest hardware wallet",
      "expect": "/best/hardware_wallet"
    },
    {
      "q": "hardware wallet under €150",
      "expect": "/best/hardware_wallet",
      "amount": {
        "kind": "budget",
        "value": 150
      }
    },
    {
      "q": "best wallet for solana",
      "expect": "/best/wallet"
    },
    {
      "q": "best seed phrase backup plate",
      "expect": "/best/seed_backup"
    },
    {
      "q": "multisig for a dao treasury",
      "expect": "/best/smart_accounts"
    },
    {
      "q": "lightning wallet for bitcoin payments",
      "expect": "/best/lightning_wallets"
    },
    {
      "q": "best crypto exchange in germany",
      "expect": "/best/exchange?country=DE"
    },
    {
      "q": "best exchange for a german user",
      "expect": "/best/exchange?country=DE"
    },
    {
      "q": "best exchange for us residents",
      "expect": "/best/exchange?country=US"
    },
    {
      "q": "crypto exchange in india",
      "expect": "/best/exchange?country=IN"
    },
    {
      "q": "best exchange in japan",
      "expect": "/best/exchange?country=JP"
    },
    {
      "q": "exchange for a €5k monthly trader in france",
      "expect": "/best/exchange?country=FR",
      "amount": {
        "kind": "volume",
        "value": 5000
      }
    },
    {
      "q": "otc desk for a large trade",
      "expect": "/best/otc_desks"
    },
    {
      "q": "p2p exchange in nigeria",
      "expect": "/best/p2p_exchanges?country=NG"
    },
    {
      "q": "onramp in brazil",
      "expect": "/best/onramp?country=BR"
    },
    {
      "q": "offramp to my bank in germany",
      "expect": "/best/offramps?country=DE"
    },
    {
      "q": "send money abroad with crypto",
      "expect": "/best/remittances"
    },
    {
      "q": "crypto debit card in the uk",
      "expect": "/best/crypto_card?country=GB"
    },
    {
      "q": "crypto card in singapore",
      "expect": "/best/crypto_card?country=SG"
    },
    {
      "q": "stake eth",
      "expect": "/best/retail_staking"
    },
    {
      "q": "staking in canada",
      "expect": "/best/staking?country=CA"
    },
    {
      "q": "liquid staking for 10 eth",
      "expect": "/best/liquid_staking",
      "amount": {
        "kind": "amount",
        "value": 10
      }
    },
    {
      "q": "restaking risks",
      "expect": "/best/restaking"
    },
    {
      "q": "earn yield on usdc",
      "expect": "/best/stablecoin_yield"
    },
    {
      "q": "safest stablecoin",
      "expect": "/best/stablecoins"
    },
    {
      "q": "tokenized treasury bills",
      "expect": "/best/tokenised_tbills"
    },
    {
      "q": "tokenized gold",
      "expect": "/best/tokenised_commodities"
    },
    {
      "q": "tokenized real estate",
      "expect": "/best/tokenised_realestate"
    },
    {
      "q": "crypto loan against my bitcoin",
      "expect": "/best/crypto_backed_loans"
    },
    {
      "q": "crypto tax software for germany",
      "expect": "/best/tax_software?country=DE"
    },
    {
      "q": "tax software for the uk",
      "expect": "/best/tax_software?country=GB"
    },
    {
      "q": "track my crypto portfolio",
      "expect": "/best/portfolio_tracking"
    },
    {
      "q": "revoke token approvals",
      "expect": "/best/revoke_tools"
    },
    {
      "q": "bridge usdc from ethereum to base",
      "expect": "/best/bridges"
    },
    {
      "q": "move 50k usdc from ethereum to base",
      "expect": "/best/bridges",
      "amount": {
        "kind": "amount",
        "value": 50000
      }
    },
    {
      "q": "best dex aggregator",
      "expect": "/best/dex_aggregator"
    },
    {
      "q": "best decentralised exchange",
      "expect": "/best/dex"
    },
    {
      "q": "best perp dex",
      "expect": "/best/perp_dex"
    },
    {
      "q": "prediction markets in the us",
      "expect": "/best/prediction_markets?country=US"
    },
    {
      "q": "nft marketplace with low fees",
      "expect": "/best/nft_marketplace"
    },
    {
      "q": "best layer 2 for low fees",
      "expect": "/best/l2_chains"
    },
    {
      "q": "rpc provider for ethereum",
      "expect": "/best/rpc_nodes"
    },
    {
      "q": "block explorer for base",
      "expect": "/best/block_explorers"
    },
    {
      "q": "best oracle",
      "expect": "/best/oracles"
    },
    {
      "q": "smart contract audit firm",
      "expect": "/best/smart_contract_audits"
    },
    {
      "q": "bug bounty platform",
      "expect": "/best/bug_bounties"
    },
    {
      "q": "accept crypto payments on shopify",
      "expect": "/best/payment_gateway"
    },
    {
      "q": "pay salaries in crypto",
      "expect": "/best/crypto_payroll"
    },
    {
      "q": "institutional custody for a fund",
      "expect": "/best/institutional_custody"
    },
    {
      "q": "mining pool for bitcoin",
      "expect": "/best/mining_pools"
    },
    {
      "q": "kyc provider for an exchange",
      "expect": "/best/kyc_compliance"
    },
    {
      "q": "travel rule solution",
      "expect": "/best/travel_rule_compliance"
    },
    {
      "q": "mev protection for swaps",
      "expect": "/best/mev_protection"
    },
    {
      "q": "decentralised storage for nft files",
      "expect": "/best/decentralised_storage"
    },
    {
      "q": "exchange for €2,000 a month in spain",
      "expect": "/best/exchange?country=ES",
      "amount": {
        "kind": "volume",
        "value": 2000
      }
    },
    {
      "q": "exchange for 10k a month in germany",
      "expect": "/best/exchange?country=DE",
      "amount": {
        "kind": "volume",
        "value": 10000
      }
    },
    {
      "q": "hardware wallet under $100 in canada",
      "expect": "/best/hardware_wallet?country=CA",
      "amount": {
        "kind": "budget",
        "value": 100
      }
    },
    {
      "q": "onramp for $500 in the us",
      "expect": "/best/onramp?country=US",
      "amount": {
        "kind": "amount",
        "value": 500
      }
    },
    {
      "q": "staking 32 eth",
      "expect": "/best/staking",
      "amount": {
        "kind": "amount",
        "value": 32
      }
    },
    {
      "q": "earn yield on 5k usdc",
      "expect": "/best/stablecoin_yield",
      "amount": {
        "kind": "amount",
        "value": 5000
      }
    },
    {
      "q": "best crypto card for travel in australia",
      "expect": "/best/crypto_card?country=AU"
    },
    {
      "q": "remittances to the philippines",
      "expect": "/best/remittances?country=PH"
    },
    {
      "q": "p2p exchange in argentina",
      "expect": "/best/p2p_exchanges?country=AR"
    },
    {
      "q": "crypto card in mexico",
      "expect": "/best/crypto_card?country=MX"
    },
    {
      "q": "tax software for australia",
      "expect": "/best/tax_software?country=AU"
    },
    {
      "q": "onramp for $500 once in the us",
      "expect": "/best/onramp?country=US",
      "amount": {
        "kind": "amount",
        "value": 500
      }
    },
    {
      "q": "simple buy app for a one-time €500 purchase",
      "expect": "/best/simple_buy",
      "amount": {
        "kind": "amount",
        "value": 500
      }
    },
    {
      "q": "exchange for €1,000 one time in france",
      "expect": "/best/exchange?country=FR",
      "amount": {
        "kind": "amount",
        "value": 1000
      }
    },
    {
      "q": "exchange for €100 every month in germany",
      "expect": "/best/exchange?country=DE",
      "amount": {
        "kind": "amount",
        "value": 100
      }
    },
    {
      "q": "exchange for a €100 savings plan every week",
      "expect": "/best/exchange",
      "amount": {
        "kind": "amount",
        "value": 100
      }
    },
    {
      "q": "exchange savings plan in germany",
      "expect": "/best/exchange?country=DE"
    },
    {
      "q": "best exchange for DCA",
      "expect": "/best/exchange"
    },
    {
      "q": "once a month exchange buy €200",
      "expect": "/best/exchange",
      "amount": {
        "kind": "amount",
        "value": 200
      }
    },
    {
      "q": "simple buy app to buy €500 of bitcoin in germany",
      "expect": "/best/simple_buy?country=DE",
      "amount": {
        "kind": "amount",
        "value": 500
      }
    }
  ],
  "questions": [
    {
      "q": "which crypto exchange has the lowest fees in germany?",
      "expect": "/best/exchange?country=DE",
      "readRight": true
    },
    {
      "q": "what is the safest hardware wallet?",
      "expect": "/best/hardware_wallet",
      "readRight": true
    },
    {
      "q": "where can i stake eth?",
      "expect": "/best/staking",
      "readRight": true
    },
    {
      "q": "how do i bridge usdc from ethereum to base?",
      "expect": "/best/bridges",
      "readRight": true
    },
    {
      "q": "which wallet should i use for solana?",
      "expect": "/best/wallet",
      "readRight": false
    },
    {
      "q": "what is the best crypto card in the uk?",
      "expect": "/best/crypto_card?country=GB",
      "readRight": true
    },
    {
      "q": "which crypto tax software works for germany?",
      "expect": "/best/tax_software?country=DE",
      "readRight": true
    },
    {
      "q": "what is the cheapest way to send money abroad with crypto?",
      "expect": "/best/remittances",
      "readRight": false
    },
    {
      "q": "which layer 2 has the lowest fees?",
      "expect": "/best/l2_chains",
      "readRight": true
    },
    {
      "q": "what are the best dex aggregators?",
      "expect": "/best/dex_aggregator",
      "readRight": true
    },
    {
      "q": "is there a p2p exchange in nigeria?",
      "expect": "/best/p2p_exchanges?country=NG",
      "readRight": true
    },
    {
      "q": "which stablecoin is the safest?",
      "expect": "/best/stablecoins",
      "readRight": true
    },
    {
      "q": "where can i earn yield on usdc?",
      "expect": "/best/stablecoin_yield",
      "readRight": true
    },
    {
      "q": "what is the best perp dex?",
      "expect": "/best/perp_dex",
      "readRight": true
    },
    {
      "q": "how can i track my crypto portfolio?",
      "expect": "/best/portfolio_tracking",
      "readRight": true
    },
    {
      "q": "which rpc provider should i use for ethereum?",
      "expect": "/best/rpc_nodes",
      "readRight": false
    },
    {
      "q": "what is the best liquid staking provider?",
      "expect": "/best/liquid_staking",
      "readRight": true
    },
    {
      "q": "which crypto exchange works in japan?",
      "expect": "/best/exchange?country=JP",
      "readRight": false
    },
    {
      "q": "how do i revoke token approvals?",
      "expect": "/best/revoke_tools",
      "readRight": true
    },
    {
      "q": "what is the best mining pool for bitcoin?",
      "expect": "/best/mining_pools",
      "readRight": true
    },
    {
      "q": "which onramp is cheapest in brazil?",
      "expect": "/best/onramp?country=BR",
      "readRight": true
    },
    {
      "q": "what is the best multisig wallet for a dao?",
      "expect": "/best/smart_accounts",
      "readRight": false
    },
    {
      "q": "where can i borrow against my bitcoin?",
      "expect": "/best/crypto_backed_loans",
      "readRight": true
    },
    {
      "q": "where can i buy tokenized treasury bills?",
      "expect": "/best/tokenised_tbills",
      "readRight": false
    },
    {
      "q": "which nft marketplace has the lowest fees?",
      "expect": "/best/nft_marketplace",
      "readRight": true
    }
  ]
}
