{
  "chain_slug": "polygon-zkevm",
  "name": "Polygon zkEVM",
  "scorecard_profile": "rollup-L2",
  "evaluated_at": "2026-04-18",
  "evaluator": "layerqu-v2-scoring-agent-4",
  "v1_reference": "chainscreen-v1-archive",
  "dimensions": {
    "1_cryptographic_exposure": {
      "weight": 0.12,
      "score": 30,
      "sub_scores": {
        "1a_primitive_inventory": {
          "score": 12,
          "primitives_named": [
            "ECDSA secp256k1",
            "Keccak-256",
            "Groth16 over BN254/BLS12-381",
            "KZG polynomial commitments"
          ],
          "evidence": [
            "Polygon zkEVM docs"
          ],
          "note": "zk-SNARK layer adds Groth16-KZG dependency."
        },
        "1b_shor_grover_pq_tag": {
          "score": 14,
          "tags": {
            "ECDSA secp256k1": "Shor-break",
            "Groth16": "Shor-break (pairing-based)",
            "KZG": "Shor-break",
            "Keccak-256": "Grover-weaken"
          }
        },
        "1c_algorithm_family_diversity": {
          "score": 0,
          "families_represented": 0,
          "families": []
        },
        "1d_nist_security_category": {
          "score": 0,
          "mappings": {}
        },
        "1e_implementation_quality": {
          "score": 4,
          "formal_verification": "zkProver audited",
          "constant_time": "standard",
          "libraries": [
            "Polygon zkEVM stack"
          ],
          "evidence": [
            "l2beat.com/scaling/projects/polygonzkevm"
          ]
        }
      },
      "total_artifacts": 1
    },
    "2_hndl_exposure": {
      "weight": 0.08,
      "score": 22,
      "sub_scores": {
        "2a_active_key": {
          "score": 4,
          "note": "EVM EOA — pubkey exposed."
        },
        "2b_cold_key": {
          "score": 4,
          "note": "Same."
        },
        "2c_sig_long_term": {
          "score": 7,
          "note": "Tx-once."
        },
        "2d_encryption_conf": {
          "score": 7,
          "note": "Standard TLS."
        }
      },
      "total_artifacts": 1
    },
    "3_metadata_privacy_exposure": {
      "weight": 0.08,
      "score": 22,
      "sub_scores": {
        "3a_graph_visibility": {
          "score": 5,
          "note": "Transparent."
        },
        "3b_rpc_concentration": {
          "score": 6,
          "note": "Polygon Labs RPC concentration."
        },
        "3c_bridge_correlation": {
          "score": 6,
          "note": "Native bridge."
        },
        "3d_retroactive_deanon": {
          "score": 5,
          "note": "Groth16/KZG proofs rely on pairing-hard assumption. If Shor breaks pairings, future-validity challenged for historical proofs."
        }
      },
      "total_artifacts": 1
    },
    "4_migration_architecture": {
      "weight": 0.15,
      "score": 25,
      "sub_scores": {
        "4a_crypto_agility": {
          "score": 5,
          "note": "zkEVM is being sunset (Polygon Labs announcement). Limited forward agility."
        },
        "4b_aa_key_rotation": {
          "score": 10,
          "note": "Inherits ERC-4337 AA."
        },
        "4c_hard_fork_track_record": {
          "score": 7,
          "note": "Multiple upgrades; sunset decision unilateral by Polygon Labs."
        },
        "4d_hybrid_deployment_readiness": {
          "score": 3,
          "note": "Gated on Ethereum + sunset status."
        }
      },
      "total_artifacts": 1
    },
    "5_deployment_execution": {
      "weight": 0.22,
      "score": 0,
      "sub_scores": {
        "5a_mainnet_pqc_pct": {
          "score": 0,
          "mainnet_pqc_pct": 0,
          "evidence": []
        },
        "5b_pqc_code_in_consensus": {
          "score": 0,
          "loc_or_bytes": 0
        },
        "5c_validator_pqc_keys": {
          "score": 0,
          "pct": 0
        },
        "5d_published_milestones": {
          "score": 0,
          "count": 0,
          "milestones": []
        },
        "5e_pqc_washing_delta": {
          "score": 0,
          "ratio": 1
        }
      },
      "total_artifacts": 0
    },
    "6_supply_chain_vendor_readiness": {
      "weight": 0.25,
      "score": 5,
      "sub_scores": {
        "6a_wallet": {
          "score": 2,
          "top3": [
            "MetaMask",
            "Rabby",
            "Coinbase Wallet"
          ],
          "pqc_roadmap_count": 0
        },
        "6b_bridge": {
          "score": 1,
          "top3": [
            "Polygon zkEVM Bridge",
            "LayerZero"
          ],
          "pqc_roadmap_count": 0
        },
        "6c_custodian": {
          "score": 1,
          "top3": [
            "Coinbase Custody",
            "Fireblocks",
            "BitGo"
          ],
          "pqc_roadmap_count": 0
        },
        "6d_rpc_hsm": {
          "score": 1,
          "top3": [
            "Alchemy",
            "Infura",
            "QuickNode"
          ],
          "pqc_roadmap_count": 0
        }
      },
      "total_artifacts": 1
    },
    "7_governance_coordination": {
      "weight": 0.1,
      "score": 30,
      "sub_scores": {
        "7a_validator_stake_distribution": {
          "score": 3,
          "note": "Single Polygon Labs sequencer."
        },
        "7b_upgrade_cadence_under_pressure": {
          "score": 10,
          "note": "Sunset announcement coordinated."
        },
        "7c_named_coordination_lead": {
          "score": 12,
          "note": "Polygon Labs."
        },
        "7d_adversarial_coordination_precedent": {
          "score": 5,
          "note": "No PQC-specific."
        }
      },
      "total_artifacts": 1
    }
  },
  "gates": {
    "hybrid_deployment": "FAIL",
    "evidence_reconstruction": "PASS",
    "primitive_naming": "PASS"
  },
  "caps_applied": [
    "Mosca (5a<20%)",
    "Sutor (5d=0 → Stage max 2)",
    "Preskill (multiple <3 artifacts → ×0.5)",
    "Casado (4 tiles pqc=0 → migration_stage max 3)",
    "Hybrid gate FAIL → QRI cap 60"
  ],
  "qri": {
    "raw": 10,
    "after_caps": 8,
    "ci_plus_minus": 15,
    "band": 1,
    "band_name": "Unaware"
  },
  "migration_stage": 0,
  "mosca_inequality": {
    "X_signature_shelf_life_years": "5-10",
    "Y_migration_time_years_range": "10-15 (sunset)",
    "Z_10pct_year": 2036,
    "Z_50pct_year": 2041,
    "danger_zone_at_50pct": true
  },
  "four_scenario_grid": {
    "quantum_never": {
      "value_preserved_pct": 100,
      "privacy_preserved_pct": 100
    },
    "arrives_suddenly_pre_migration": {
      "value_preserved_pct": 2,
      "privacy_preserved_pct": 10
    },
    "arrives_slowly_post_migration": {
      "value_preserved_pct": 75,
      "privacy_preserved_pct": 70
    },
    "arrives_slowly_mid_migration": {
      "value_preserved_pct": 25,
      "privacy_preserved_pct": 30
    }
  },
  "burn_vs_rescue_policy": "undeclared",
  "pqc_washing_ratio": 1,
  "vendor_tile_summary": {
    "wallet": {
      "top3": [
        "MetaMask",
        "Rabby",
        "Coinbase Wallet"
      ],
      "pqc_roadmap_count": 0
    },
    "bridge": {
      "top3": [
        "Polygon zkEVM Bridge",
        "LayerZero"
      ],
      "pqc_roadmap_count": 0
    },
    "custodian": {
      "top3": [
        "Coinbase Custody",
        "Fireblocks",
        "BitGo"
      ],
      "pqc_roadmap_count": 0
    },
    "rpc_hsm": {
      "top3": [
        "Alchemy",
        "Infura",
        "QuickNode"
      ],
      "pqc_roadmap_count": 0
    }
  },
  "narrative_summary": "Polygon zkEVM is Band 1 (Unaware) — being sunset by Polygon Labs (transition to CDK-Agglayer). Groth16-KZG zk-SNARK proofs rely on pairing-based cryptography which Shor breaks. Historical proofs lose retroactive soundness guarantees. No PQC research, no dated milestones.",
  "evaluator_notes": "Chain in effective sunset. Quantum risk is mostly moot — TVL is $30-50M and declining. Groth16/KZG retroactive risk is the notable technical concern: proofs verified today rest on a pairing-hard assumption that Shor breaks.",
  "narrative_voiced": "Polygon zkEVM is being sunset by its own team. Groth16-KZG proofs rest on pairing-hard assumptions that Shor breaks, so every historical proof loses retroactive soundness. The quantum question is moot here not because it was solved but because the chain was abandoned first."
}