{
  "artifacts": {
    "artifactBundleRoot": "0x1fe7bf6ea18a09a33bb05c0f1de1504a0e5e1e02736d74ad1c76015c3bf3783e",
    "present": [
      {
        "availability": "public",
        "kind": "summarySnapshot",
        "sha256": "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a",
        "url": "https://www.bybit.com/x-api/por/public/v1/reserve-ratio/latest"
      },
      {
        "availability": "public",
        "kind": "userMerkleProof",
        "sha256": "d095eed7e7dde2625c7311d24dbe307e9b12a25574e29ac4e1c073f14fdc2ab8",
        "url": "file://./fixtures/bybit/mock_user_merkle_tree_path_40_v5.json"
      }
    ],
    "verificationBundleRoot": "0x4e2d01591b143c0773360b375ace38350bf60f167fb307b012cb7163d4918755"
  },
  "checklist": [
    {
      "id": "S0-1",
      "notes": "Snapshot 2025061709 is in the public evaluation set.",
      "question": "Has public PoR been published during the last 12 months?",
      "stage": "Stage 0",
      "status": "pass"
    },
    {
      "id": "S0-2",
      "notes": "2025-06-17T09:00:00Z",
      "question": "Is snapshot time explicit?",
      "stage": "Stage 0",
      "status": "pass"
    },
    {
      "id": "S0-3",
      "notes": "Summary present; wallet_address_list absent.",
      "question": "Is there reserve summary or wallet_address_list?",
      "stage": "Stage 0",
      "status": "pass"
    },
    {
      "id": "S1-1",
      "notes": "No public wallet_address_list artifact.",
      "question": "Is wallet_address_list public and on-chain verifiable?",
      "stage": "Stage 1",
      "status": "fail"
    },
    {
      "id": "S1-2",
      "notes": "address-ownership verifier UNVERIFIABLE.",
      "question": "Is wallet_ownership_proof public and batch-verifiable?",
      "stage": "Stage 1",
      "status": "unverifiable"
    },
    {
      "id": "S1-3",
      "notes": "global-zk-proof verifier UNVERIFIABLE.",
      "question": "Is global_proof public and independently reproducible?",
      "stage": "Stage 1",
      "status": "unverifiable"
    },
    {
      "id": "S1-4",
      "notes": "third-party-attestation verifier UNVERIFIABLE.",
      "question": "Is independent third-party review available with stated scope?",
      "stage": "Stage 1",
      "status": "unverifiable"
    },
    {
      "id": "S1-5",
      "notes": "No global ZK proof in the assessed public artifact set.",
      "question": "If trusted setup is required, is transcript public; otherwise is the proof system transparent setup?",
      "stage": "Stage 1",
      "status": "not_applicable"
    },
    {
      "id": "S2-1",
      "notes": "Stage 2 is not evaluated until Stage 1 blockers are resolved.",
      "question": "Is root/proof/vk canonically anchored outside exchange servers?",
      "stage": "Stage 2",
      "status": "not_applicable"
    },
    {
      "id": "S2-2",
      "notes": "Stage 2 is not evaluated until Stage 1 blockers are resolved.",
      "question": "Is publication frequency sufficient for Stage 2 (weekly full PoR / daily anchor)?",
      "stage": "Stage 2",
      "status": "not_applicable"
    }
  ],
  "confidence": "low",
  "effectivePoR": false,
  "evidenceLevel": "E1",
  "exchange": "bybit",
  "gen": "Gen 1",
  "generatedAt": "2026-07-03T14:20:05Z",
  "methodologyVersion": "por-transparency-framework@2026-07-01",
  "porStage": "Stage 0",
  "recommendations": [
    {
      "priority": "P0",
      "relatedRiskFlags": [
        "UNVERIFIABLE"
      ],
      "text": "Publish missing public artifacts required for independent reproduction."
    }
  ],
  "riskFlags": [
    {
      "id": "UNVERIFIABLE",
      "severity": "high",
      "stageEffect": "max_stage_0",
      "message": "No public wallet_address_list."
    }
  ],
  "schema": "ardmere/exchange-assessment@1",
  "snapshot": {
    "btcBlockHeight": 0,
    "exchangeMerkleRoot": "c91d5de0554f97244e4d9f8056fad70fa0cb2cdb23c290ec597a042645dcbc03",
    "id": "2025061709",
    "periodSeq": 0,
    "snapshotTime": "2025-06-17T09:00:00Z"
  },
  "stageBlockedReasons": [
    {
      "ruleId": "floor_no_public_wallet_address_list",
      "maxStage": "Stage 0",
      "reason": "No public wallet_address_list.",
      "riskFlag": "UNVERIFIABLE"
    }
  ],
  "summary": {
    "headline": "bybit snapshot 2025061709 remains Stage 0 in the ardmere public evaluation set.",
    "rationale": "Public artifacts do not support independently reproducible global solvency verification for this snapshot.",
    "scope": "bybit snapshot 2025061709"
  },
  "verifierResults": [
    {
      "coverage": 1,
      "inputArtifacts": [
        "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a",
        "d095eed7e7dde2625c7311d24dbe307e9b12a25574e29ac4e1c073f14fdc2ab8"
      ],
      "reason": "",
      "verdict": "PASS",
      "verifierId": "artifact-integrity",
      "version": "1.0"
    },
    {
      "coverage": 1,
      "inputArtifacts": [
        "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a"
      ],
      "reason": "",
      "verdict": "PASS",
      "verifierId": "solvency-claim",
      "version": "1.0"
    },
    {
      "coverage": 1,
      "inputArtifacts": [
        "d095eed7e7dde2625c7311d24dbe307e9b12a25574e29ac4e1c073f14fdc2ab8"
      ],
      "reason": "user Merkle path valid (Gen 1.5 SHA-256); proves inclusion only for supplied account",
      "verdict": "PASS",
      "verifierId": "user-merkle-proof",
      "version": "bybit-1"
    },
    {
      "coverage": 0,
      "inputArtifacts": [
        "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a"
      ],
      "reason": "No public wallet address CSV; cannot reconcile summary vs address aggregates",
      "verdict": "UNVERIFIABLE",
      "verifierId": "internal-consistency",
      "version": "0"
    },
    {
      "coverage": 0,
      "inputArtifacts": [
        "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a"
      ],
      "reason": "Summary does not declare a BTC block height time anchor",
      "verdict": "UNVERIFIABLE",
      "verifierId": "btc-anchor",
      "version": "0"
    },
    {
      "coverage": 0,
      "inputArtifacts": [
        "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a"
      ],
      "reason": "No public HotCold wallet address list",
      "verdict": "UNVERIFIABLE",
      "verifierId": "onchain-balance-hot",
      "version": "0"
    },
    {
      "coverage": 0,
      "inputArtifacts": [
        "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a"
      ],
      "reason": "No public wallet address list for ERC20/BEP20 audit",
      "verdict": "UNVERIFIABLE",
      "verifierId": "onchain-balance-token",
      "version": "0"
    },
    {
      "coverage": 0,
      "inputArtifacts": [
        "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a"
      ],
      "reason": "Verifier not available for this exchange snapshot",
      "verdict": "UNVERIFIABLE",
      "verifierId": "onchain-balance-ledger",
      "version": "0"
    },
    {
      "coverage": 0,
      "inputArtifacts": [
        "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a"
      ],
      "reason": "No public download channel for wallet ownership signatures / proofs",
      "verdict": "UNVERIFIABLE",
      "verifierId": "address-ownership",
      "version": "0"
    },
    {
      "coverage": 0,
      "inputArtifacts": [
        "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a"
      ],
      "reason": "Bybit uses pure Merkle Tree (no ZK); user myProof.json proves inclusion only",
      "verdict": "UNVERIFIABLE",
      "verifierId": "global-zk-proof",
      "version": "0"
    },
    {
      "coverage": 0,
      "inputArtifacts": [
        "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a"
      ],
      "reason": "Hacken monthly PoR reports are public but not machine-readable in this pipeline",
      "verdict": "UNVERIFIABLE",
      "verifierId": "third-party-attestation",
      "version": "0"
    },
    {
      "coverage": 0,
      "inputArtifacts": [
        "110282f57984ebd218a3ba0ee510b8e08bf6a2bb24de3cad9c0af22d528d422a"
      ],
      "reason": "No per-row wrapped-asset metadata in public PoR artifacts (token contract, representation type e.g. WBTC/cbBTC, canonical asset, custody mode)",
      "verdict": "UNVERIFIABLE",
      "verifierId": "cross-chain-wrapped",
      "version": "0"
    }
  ]
}
