{
  "tool_id": "art-477-intraday-liquidity-monitoring",
  "tool_version": "1.0.0",
  "display_name": "BCBS 248 Intraday Liquidity Monitoring Snapshot",
  "mcp_name": "compute_intraday_liquidity_monitoring",
  "mandate_type": "compliance_mandate",
  "wave": 71,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-477-intraday-liquidity-monitoring.html",
  "description": "BCBS 248 \"Monitoring tools for intraday liquidity management\" (Basel Committee, April 2013): computes daily maximum intraday liquidity usage (the largest negative excursion of a cumulative net settlement position built from a caller-supplied time-stamped transaction list), echoes start-of-day available liquidity, totals gross payments and receipts, checks time-specific obligations against their due times, and classifies the daily maximum usage against a caller-supplied list of available intraday liquidity sources. Not DW capacity (art-427) or FR 2052a inflow/outflow classification (art-437) -- adjacent but distinct BCBS 248 daily-usage metrics. Evidence artifact only, not a filing or supervisory submission.",
  "input_schema_ref": "chaingraph/art-477-intraday-liquidity-monitoring.html#manifest",
  "deadline": null,
  "deadline_note": "BCBS 248 (April 2013): supervisory expectation, no statutory filing deadline -- monitoring tools are reported to supervisors on request/periodic schedule set by the home regulator.",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:647771786d54eec94e4c54281af4b03bd11032678c1c363c7cbc39b9cc0a8b73","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-07-25"}],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "EO5o+OqneEZIEG7FFYydeMrOzJBAQsaN52CQwK1sfJgvNhiOcy8+01MpnO/K7EYartOSNxJ11q7RySLc3u75ZxnKdqwpxX95g0sC2LfvPdH5ZHRqXu2QEXYNHF74VuUcJXqUMED9FmuPtF2j4F+HL8SUTH2hE91bqHad6ABD278EcUX8ftXNsW6EAQIQ2LwRviTmv+/pKZdBmNLUvHvmAwquSyOBABuD/NGxfE/AFQEmmmcVlAokgpt2f57OD7HLLOcig9EjtfJ5BQeRddfJJwHSVoDtVJk9rtN5wlYXssYE/hmRdX3exr0/6mqO1T05wD0PGgmZLgfjzvqboRPt0g==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:647771786d54eec94e4c54281af4b03bd11032678c1c363c7cbc39b9cc0a8b73",
      "output": {
        "available_intraday_sources": [
          {
            "amount_musd": 200,
            "source_id": "src-cb-balance"
          },
          {
            "amount_musd": 150,
            "source_id": "src-committed-line"
          }
        ],
        "available_sources_total_musd": 350,
        "coverage_ratio": 1.3,
        "cumulative_position_path": [
          {
            "amount_musd": 100,
            "cumulative_position_musd": 100,
            "flow_type": "inflow",
            "time_hhmm": "08:00",
            "tx_id": "t1"
          },
          {
            "amount_musd": 250,
            "cumulative_position_musd": -150,
            "flow_type": "outflow",
            "time_hhmm": "09:30",
            "tx_id": "t2"
          },
          {
            "amount_musd": 120,
            "cumulative_position_musd": -270,
            "flow_type": "outflow",
            "time_hhmm": "10:15",
            "tx_id": "t3"
          },
          {
            "amount_musd": 200,
            "cumulative_position_musd": -70,
            "flow_type": "inflow",
            "time_hhmm": "13:00",
            "tx_id": "t4"
          },
          {
            "amount_musd": 80,
            "cumulative_position_musd": -150,
            "flow_type": "outflow",
            "time_hhmm": "15:45",
            "tx_id": "t5"
          }
        ],
        "daily_max_usage_musd": 270,
        "note": "Daily maximum intraday liquidity usage is the largest negative excursion of a cumulative net settlement position built from the caller-supplied time-stamped transaction list, starting at zero -- independent of the opening balance. Start-of-day available liquidity, time-specific-obligation timing, and available intraday sources are caller-supplied inputs, echoed and classified, not derived from external data. Evidence artifact only -- not a filing, not a regulatory submission, and not a claim of full BCBS 248 seven-tool coverage.",
        "obligations_summary": {
          "obligations_met": 2,
          "obligations_missed": 0,
          "total_obligations": 2
        },
        "regulatory_basis": "BCBS 248 \"Monitoring tools for intraday liquidity management\" (Basel Committee on Banking Supervision, April 2013).",
        "start_of_day_available_musd": 500,
        "time_specific_obligations": [
          {
            "amount_musd": 150,
            "due_time_hhmm": "10:00",
            "met_on_time": true,
            "obligation_id": "o1",
            "settled": true,
            "settled_time_hhmm": "09:45"
          },
          {
            "amount_musd": 90,
            "due_time_hhmm": "14:00",
            "met_on_time": true,
            "obligation_id": "o2",
            "settled": true,
            "settled_time_hhmm": "13:30"
          }
        ],
        "total_payments_musd": 450,
        "total_receipts_musd": 300,
        "usage_covered": true
      }
    }
  },
  "export_capability": [
    "json"
  ]
}
