{
  "asOf": "2026-08-04T10:15:20.877Z",
  "unionStatus": "not_computed",
  "headline": "Three dated provider observations are preserved; two additional scales are provider-reported, and no cross-provider union has been computed.",
  "providers": [
    {
      "name": "CoinPaprika",
      "access": "public_api",
      "status": "snapshot_complete",
      "countKind": "observed_api",
      "supportedListings": 60803,
      "activeListings": 11599,
      "inactiveListings": 49204,
      "checkedAt": "2026-08-04T10:15:20.877Z",
      "retrievedAt": "2026-08-04T10:15:20.877Z",
      "docs": "https://docs.coinpaprika.com/api-reference/rest-api/introduction",
      "note": "Inactive is a candidate signal, not a dead-project verdict."
    },
    {
      "name": "CoinGecko",
      "access": "keyless_or_api_key",
      "status": "active_snapshot_only",
      "countKind": "observed_api",
      "supportedListings": 18111,
      "activeListings": 18111,
      "inactiveListings": null,
      "checkedAt": "2026-08-04T10:15:20.877Z",
      "retrievedAt": "2026-08-04T10:15:20.877Z",
      "docs": "https://docs.coingecko.com/reference/coins-list",
      "note": "The Pro endpoint can request inactive supported coins; project metadata requires additional calls."
    },
    {
      "name": "CoinMarketCap",
      "access": "documented keyless map and metadata prototype; licensed key for production",
      "status": "snapshot_complete",
      "countKind": "observed_api",
      "supportedListings": 37294,
      "activeListings": 8180,
      "inactiveListings": 1756,
      "untrackedListings": 27358,
      "checkedAt": "2026-07-11T21:27:57.187Z",
      "retrievedAt": "2026-07-11T21:27:57.187Z",
      "docs": "https://coinmarketcap.com/api/documentation/pro-api-reference/cryptocurrency",
      "note": "The documented keyless API supplied 8,180 active, 1,756 inactive and 27,358 untracked IDs. V2 metadata can seed official-link candidates in 100-ID batches, but production publication still needs an applicable commercial plan; rows must be deduplicated by numeric ID, chain and contract."
    },
    {
      "name": "CryptoRank",
      "access": "api_key",
      "status": "adapter_pending_credentials",
      "countKind": "provider_reported",
      "supportedListings": 35000,
      "activeListings": null,
      "inactiveListings": null,
      "checkedAt": "2026-07-11T00:00:00Z",
      "retrievedAt": "2026-07-11T00:00:00Z",
      "docs": "https://api.cryptorank.io/documentation/",
      "note": "35,000+ is provider-reported, not an imported snapshot. Daily credits and rate limits constrain a full refresh."
    },
    {
      "name": "DropsTab",
      "access": "api_key_or_commercial_access",
      "status": "access_terms_under_review",
      "countKind": "provider_reported",
      "supportedListings": 9000,
      "activeListings": null,
      "inactiveListings": null,
      "checkedAt": "2026-07-11T00:00:00Z",
      "retrievedAt": "2026-07-11T00:00:00Z",
      "docs": "https://api-docs.dropstab.com/reference",
      "note": "9,000+ is provider-reported, not an imported snapshot. No inventory is republished until access and reuse terms are confirmed."
    },
    {
      "name": "CoinPaprika + provider union",
      "access": "mixed",
      "status": "deduplication_pending",
      "countKind": "not_computed",
      "supportedListings": null,
      "activeListings": null,
      "inactiveListings": null,
      "checkedAt": "2026-07-11T00:00:00Z",
      "retrievedAt": "2026-07-11T00:00:00Z",
      "docs": "https://coinmarketcap.com/api/documentation/faq",
      "note": "The eventual union must use chain and contract identity; ticker symbols are not unique."
    }
  ]
}
