{
  "tool_id": "art-104-tfr-travel-rule-batch-validator",
  "kernel_id": "art-104-tfr-travel-rule-batch-validator",
  "display_name": "TFR Travel-Rule Batch Validator",
  "tool_version": "1.0.0",
  "mandate_type": "compliance_mandate",
  "purpose": "Validates originator/beneficiary field completeness on synthetic/hashed transfer batches (self-/cross-CASP + unhosted-wallet branches) per TFR recast Reg. (EU) 2023/1113. Batch conformance + Merkle root. No real PII.",
  "control_description": "Validates originator/beneficiary field completeness on synthetic/hashed transfer batches (self-/cross-CASP + unhosted-wallet branches) per TFR recast Reg. (EU) 2023/1113. Batch conformance + Merkle root. No real PII.",
  "declared_inputs": [
    "art-98-mica-casp-fit-diagnostic"
  ],
  "declared_outputs": [
    "cry-04-merkle-batch-verifier"
  ],
  "kernel_digest": "sha256:5d9d7105b7d6a2e1265f3c02ee2c2b2bb573c7d0e5fc816dac04771392117b30",
  "trust_label": "deferred -- deterministic source published, zkVM proof not yet generated",
  "data_vintage": "2026-07-10",
  "last_validated": "2026-07-10",
  "conformance_fixtures_vendored": false,
  "compute_proof_ready": "ready",
  "wave": 20,
  "source_url": "https://ainumbers.co/chaingraph/art-104-tfr-travel-rule-batch-validator.html",
  "generated_at": "2026-07-25T20:02:55.601Z"
}
