{
  "tool_id": "art-539-asset-liability-coverage",
  "tool_version": "1.0.0",
  "display_name": "Asset/Liability Coverage",
  "mcp_name": "compute_asset_liability_coverage",
  "mandate_type": "compliance_control",
  "wave": 84,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-539-asset-liability-coverage.html",
  "description": "General, jurisdiction-neutral solvency check: total_assets_musd / total_liabilities_musd, plus surplus_shortfall_musd = total_assets_musd - total_liabilities_musd, per asset-class and liability-class breakdown, rolled up. COVERED at or above 1.0, SHORTFALL below it. A zero-liabilities line resolves coverage_ratio null and status NO_LIABILITIES_OUTSTANDING -- never a division artifact. Aggregate totals only (no per-customer or per-wallet line item). No single normative anchor exists for exchange-level asset/liability coverage (unlike bank capital-adequacy ratios elsewhere in the suite) -- stated explicitly rather than inventing a crosswalk citation.",
  "input_schema_ref": "chaingraph/art-539-asset-liability-coverage.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:a80285b47c468275f244648e19b225f0e740ed20c7f8925e658514529f807919",
      "valid_from": "2026-07-10"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-08-04"
    }
  ],
  "compute_proof_ready": "ready",
  "deferred_reason": "New shard; awaiting the async GPU proving queue (S18 steady-state).",
  "export_capability": [
    "json"
  ],
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "DP/ZcwIfZhayCSPjQ8DtJtjksLUBbELvQYI1gwIFPYIl95xZm5Gx+3awqo3AcHIXRhY152kx3IH1jmvjyv4uKQUZDruC+ASWk1uzwNtNzNwr86Up/UVo6O+/bccTtFzRGkevu34GKju60YV7GmRVLzVmTSBozh8q/PF+WeXGCXYXCJRh6CWY56aFpVxaX1lFhpH7gSomb3JrQppd0t409wapofjtuTjBnl86TcsSJTXNSgxLsfg4aqs1E1BAQlXQHwTcX9Ue/M/lFwRjEUyrGN4wfrlWvTyhO1hBGwxwH3AIrewzsS+5TlN3tFlU/pRcGKsYno3qeNlyieCLE+Sj0Q==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:a80285b47c468275f244648e19b225f0e740ed20c7f8925e658514529f807919",
      "output": {
        "asset_breakdown": [
          {
            "amount_musd": 60,
            "asset_class": "cash"
          },
          {
            "amount_musd": 25,
            "asset_class": "digital_assets"
          },
          {
            "amount_musd": 30,
            "asset_class": "securities"
          }
        ],
        "coverage_ratio": 1.9167,
        "formula": "coverage_ratio = total_assets_musd / total_liabilities_musd; surplus_shortfall_musd = total_assets_musd - total_liabilities_musd",
        "liability_breakdown": [
          {
            "amount_musd": 20,
            "liability_class": "accrued_liabilities"
          },
          {
            "amount_musd": 40,
            "liability_class": "payables"
          }
        ],
        "note": "General solvency-shape computation over caller-supplied aggregate totals only (no per-customer or per-wallet line item, no single normative regime anchor). Attests the computation over the inputs supplied, not an audit of their source or a determination of regulatory compliance.",
        "status": "COVERED",
        "surplus_shortfall_musd": 55,
        "total_assets_musd": 115,
        "total_liabilities_musd": 60
      }
    }
  }
}
