{
  "tool_id": "art-353-etr-possession-chain-builder",
  "tool_version": "1.0.0",
  "display_name": "ETR Possession-Chain Receipt Builder",
  "mcp_name": "build_etr_possession_chain",
  "mandate_type": "cryptographic_mandate",
  "wave": 61,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-353-etr-possession-chain-builder.html",
  "description": "Builds a hash-chained possession-receipt evidence pack for an electronic transferable record (ETR) under UNCITRAL MLETR Art. 10/11: given the ETR's own document digest and an ordered set of control-transfer events (from_holder, to_holder, timestamp, signature -- all as supplied), each receipt binds the prior receipt's hash, so reordering, inserting, or deleting a transfer breaks the chain. Also checks holder-to-holder continuity and timestamp ordering, and computes a SHA-256 Merkle root over the chain -- a portable evidence pack a holder can present to a bank or court. Does not itself assess MLETR Art. 10/11 singularity/exclusive-control legal elements; that verdict is check_etr_control_evidence (art-352).",
  "input_schema_ref": "chaingraph/art-353-etr-possession-chain-builder.html#manifest",
  "consumes": [
    "art-352-etr-control-evidence-checker"
  ],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:13ba0669d5e6d376f027ff9d182bc9d5578a33196aa58a755e376dc29a2c4888","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-07-10"}],
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "EsU+Ypl/A8CiFlVBTwpzBQuVv7t4F8JHvnulPnJgFUUe+DbnnTM8T0947BgM7Doyg7xKGfq/O2vo6urogMo6lgK66mfTKs5yfXWRdEEe3wi1xi9u8/AtNIIWtv07+ziND1hNCt3JkQ2z/TYeWrk+tD6YPUvOIKoeg2BXeHpphZcIaEELbHHXPgGI4bp5e1Nf/aCFRXAyBmNc7f4rhhyrZgA/3Rm7Trpq4MGXTKG2TPHMNvuBauCT6R1ZaTXiVR8cBBwidljmU8JbZKIjRipqDcy5IBpBxcAfRe7VpDakMt0QL6cVPAQVuAaSb2vw8SdRM7IEdJgRmZJZP49F3JUwWA==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:13ba0669d5e6d376f027ff9d182bc9d5578a33196aa58a755e376dc29a2c4888",
      "output": {
        "chain_continuous": true,
        "continuity_breaks": [],
        "document_digest": "sha256:0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0aa0",
        "event_count": 0,
        "final_holder": null,
        "merkle_root": null,
        "note": "Hash-chained possession receipts over supplied control-transfer events, each receipt binding the prior receipt hash. Detects reordering/insertion/deletion of transfers. Does not itself assess MLETR Art. 10/11 singularity/exclusive-control legal elements -- see check_etr_control_evidence (art-352).",
        "possession_receipts": null,
        "timestamp_order_valid": true
      }
    }
  }
}
