{
 "tool_id": "art-711-sco60-crypto-asset-exposure-classifier-v2",
 "note": "Eleven vectors covering build-spec V1-V7 (V7 as a three-case refusal family) plus a multi-asset direct+indirect aggregation case (V8) and a same-asset legs-merge-before-higher-of case (V9). Every expected output_payload was hand-derived from the pinned primary text (BCBS d545 SCO60.116-119) BEFORE running the kernel; each vector carries its independent_oracle derivation. Tier 1 = 1000 in all non-refusal vectors per the build spec. Tier 1 in minor units; 1% of 1000 = 10, 2% = 20.",
 "vectors": [
  {
   "name": "v1-below-expectation-clean",
   "policy_parameters": {
    "bank_tier1_capital": 1000,
    "group2_positions": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 8,
      "short_exposure": 0
     }
    ]
   },
   "output_payload": {
    "group2_exposure_amount": 8,
    "bank_tier1_capital": 1000,
    "group2_exposure_pct_tier1": 0.8,
    "one_pct_tier1_amount": 10,
    "two_pct_tier1_amount": 20,
    "group2_threshold_crossed": false,
    "group2_limit_breached": false,
    "group2b_excess_amount": 0,
    "group2b_treatment": "none",
    "risk_weight_applied_pct": null,
    "base_risk_weight_pct": 1250,
    "pillar3_precheck_pass": true,
    "per_asset": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 8,
      "short_exposure": 0,
      "counted_exposure": 8
     }
    ],
    "gaps": [],
    "warnings": [],
    "domain_errors": [],
    "refusal_reason": null,
    "scope_note": "Book-level Group 2 exposure-limit assessment. Legs are aggregated per cryptoasset and each asset is counted at the higher of its absolute long and short totals, never a netted figure; legs must already be delta-adjusted for derivatives. The caller owns the completeness of the book: every direct holding (cash and derivatives) and indirect holding (funds, ETF/ETN or similar) must be supplied as a position. Tier 1 capital is caller-supplied and must be a multiple of 100 minor units so the 1% and 2% thresholds and the excess amount are exact integers. The 1250% weight shown is the treatment of the excess (or, above the 2% hard limit, of the whole aggregate); the remainder keeps its own per-asset treatment, which this node does not classify. National implementation of the underlying standard varies; no adoption status is asserted."
   },
   "independent_oracle": {
    "source": "BCBS, Prudential treatment of cryptoasset exposures (d545, December 2022), SCO60.116-119, as pinned in research/clause-snapshots/BIS-d545-SCO60.116-119-2026-10-05.excerpt.txt",
    "source_digest": "sha256:21a8159406b21fa2bb8034aefab17c6d1b18c429ff7978ac92714bb8890c54e3",
    "derivation": "Aggregate 8 of Tier 1 1000 = 0.8%, below the 1% general-expectation threshold and the 2% limit: no finding, no notification, no treatment change (SCO60.117, SCO60.118)."
   },
   "golden_hash": "574b51ff6d1367664dd151ee4335baf0145be23cab39f2ef3a8cd5d0fd81c843"
  },
  {
   "name": "v2-exactly-1pct-not-crossed",
   "policy_parameters": {
    "bank_tier1_capital": 1000,
    "group2_positions": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 10,
      "short_exposure": 0
     }
    ]
   },
   "output_payload": {
    "group2_exposure_amount": 10,
    "bank_tier1_capital": 1000,
    "group2_exposure_pct_tier1": 1,
    "one_pct_tier1_amount": 10,
    "two_pct_tier1_amount": 20,
    "group2_threshold_crossed": false,
    "group2_limit_breached": false,
    "group2b_excess_amount": 0,
    "group2b_treatment": "none",
    "risk_weight_applied_pct": null,
    "base_risk_weight_pct": 1250,
    "pillar3_precheck_pass": true,
    "per_asset": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 10,
      "short_exposure": 0,
      "counted_exposure": 10
     }
    ],
    "gaps": [],
    "warnings": [],
    "domain_errors": [],
    "refusal_reason": null,
    "scope_note": "Book-level Group 2 exposure-limit assessment. Legs are aggregated per cryptoasset and each asset is counted at the higher of its absolute long and short totals, never a netted figure; legs must already be delta-adjusted for derivatives. The caller owns the completeness of the book: every direct holding (cash and derivatives) and indirect holding (funds, ETF/ETN or similar) must be supplied as a position. Tier 1 capital is caller-supplied and must be a multiple of 100 minor units so the 1% and 2% thresholds and the excess amount are exact integers. The 1250% weight shown is the treatment of the excess (or, above the 2% hard limit, of the whole aggregate); the remainder keeps its own per-asset treatment, which this node does not classify. National implementation of the underlying standard varies; no adoption status is asserted."
   },
   "independent_oracle": {
    "source": "BCBS, Prudential treatment of cryptoasset exposures (d545, December 2022), SCO60.116-119, as pinned in research/clause-snapshots/BIS-d545-SCO60.116-119-2026-10-05.excerpt.txt",
    "source_digest": "sha256:21a8159406b21fa2bb8034aefab17c6d1b18c429ff7978ac92714bb8890c54e3",
    "derivation": "Aggregate 10 of 1000 = exactly 1%. The comparison is strict: exactly the threshold is NOT above it, so not crossed (SCO60.117 boundary)."
   },
   "golden_hash": "dafa2d16ee67b3c664681ca6f02e3949519e65a614b198f22fe5dff804341e90"
  },
  {
   "name": "v3-crossed-band-excess-only",
   "policy_parameters": {
    "bank_tier1_capital": 1000,
    "group2_positions": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 15,
      "short_exposure": 0
     }
    ]
   },
   "output_payload": {
    "group2_exposure_amount": 15,
    "bank_tier1_capital": 1000,
    "group2_exposure_pct_tier1": 1.5,
    "one_pct_tier1_amount": 10,
    "two_pct_tier1_amount": 20,
    "group2_threshold_crossed": true,
    "group2_limit_breached": false,
    "group2b_excess_amount": 5,
    "group2b_treatment": "excess_only",
    "risk_weight_applied_pct": 1250,
    "base_risk_weight_pct": 1250,
    "pillar3_precheck_pass": true,
    "per_asset": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 15,
      "short_exposure": 0,
      "counted_exposure": 15
     }
    ],
    "gaps": [],
    "warnings": [
     "SCO60_GROUP2_1PCT_THRESHOLD_CROSSED",
     "SUPERVISOR_NOTIFICATION_REQUIRED"
    ],
    "domain_errors": [],
    "refusal_reason": null,
    "scope_note": "Book-level Group 2 exposure-limit assessment. Legs are aggregated per cryptoasset and each asset is counted at the higher of its absolute long and short totals, never a netted figure; legs must already be delta-adjusted for derivatives. The caller owns the completeness of the book: every direct holding (cash and derivatives) and indirect holding (funds, ETF/ETN or similar) must be supplied as a position. Tier 1 capital is caller-supplied and must be a multiple of 100 minor units so the 1% and 2% thresholds and the excess amount are exact integers. The 1250% weight shown is the treatment of the excess (or, above the 2% hard limit, of the whole aggregate); the remainder keeps its own per-asset treatment, which this node does not classify. National implementation of the underlying standard varies; no adoption status is asserted."
   },
   "independent_oracle": {
    "source": "BCBS, Prudential treatment of cryptoasset exposures (d545, December 2022), SCO60.116-119, as pinned in research/clause-snapshots/BIS-d545-SCO60.116-119-2026-10-05.excerpt.txt",
    "source_digest": "sha256:21a8159406b21fa2bb8034aefab17c6d1b18c429ff7978ac92714bb8890c54e3",
    "derivation": "Aggregate 15 of 1000 = 1.5%: above 1%, at or below 2%. Supervisor notification fires and only the excess over 1% of Tier 1 (15-10=5) takes the 1250% Group 2b weight; the limit is not breached and the precheck is unaffected (SCO60.118)."
   },
   "golden_hash": "9d5db13203da0d4dd1e75eacb030b355d180171ab3a14d14b750092a044864c5"
  },
  {
   "name": "v4-exactly-2pct-not-breached",
   "policy_parameters": {
    "bank_tier1_capital": 1000,
    "group2_positions": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 20,
      "short_exposure": 0
     }
    ]
   },
   "output_payload": {
    "group2_exposure_amount": 20,
    "bank_tier1_capital": 1000,
    "group2_exposure_pct_tier1": 2,
    "one_pct_tier1_amount": 10,
    "two_pct_tier1_amount": 20,
    "group2_threshold_crossed": true,
    "group2_limit_breached": false,
    "group2b_excess_amount": 10,
    "group2b_treatment": "excess_only",
    "risk_weight_applied_pct": 1250,
    "base_risk_weight_pct": 1250,
    "pillar3_precheck_pass": true,
    "per_asset": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 20,
      "short_exposure": 0,
      "counted_exposure": 20
     }
    ],
    "gaps": [],
    "warnings": [
     "SCO60_GROUP2_1PCT_THRESHOLD_CROSSED",
     "SUPERVISOR_NOTIFICATION_REQUIRED"
    ],
    "domain_errors": [],
    "refusal_reason": null,
    "scope_note": "Book-level Group 2 exposure-limit assessment. Legs are aggregated per cryptoasset and each asset is counted at the higher of its absolute long and short totals, never a netted figure; legs must already be delta-adjusted for derivatives. The caller owns the completeness of the book: every direct holding (cash and derivatives) and indirect holding (funds, ETF/ETN or similar) must be supplied as a position. Tier 1 capital is caller-supplied and must be a multiple of 100 minor units so the 1% and 2% thresholds and the excess amount are exact integers. The 1250% weight shown is the treatment of the excess (or, above the 2% hard limit, of the whole aggregate); the remainder keeps its own per-asset treatment, which this node does not classify. National implementation of the underlying standard varies; no adoption status is asserted."
   },
   "independent_oracle": {
    "source": "BCBS, Prudential treatment of cryptoasset exposures (d545, December 2022), SCO60.116-119, as pinned in research/clause-snapshots/BIS-d545-SCO60.116-119-2026-10-05.excerpt.txt",
    "source_digest": "sha256:21a8159406b21fa2bb8034aefab17c6d1b18c429ff7978ac92714bb8890c54e3",
    "derivation": "Aggregate 20 of 1000 = exactly 2%. The limit comparison is strict: exactly the limit is NOT above it, so crossed but not breached; excess 10 at the 2b weight (SCO60.117-118 boundary)."
   },
   "golden_hash": "a681181168896b7f76fc8a11606713c9fdd48b438f16f9310de2eb6eb36f22df"
  },
  {
   "name": "v5-limit-breached-whole-book",
   "policy_parameters": {
    "bank_tier1_capital": 1000,
    "group2_positions": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 25,
      "short_exposure": 0
     }
    ]
   },
   "output_payload": {
    "group2_exposure_amount": 25,
    "bank_tier1_capital": 1000,
    "group2_exposure_pct_tier1": 2.5,
    "one_pct_tier1_amount": 10,
    "two_pct_tier1_amount": 20,
    "group2_threshold_crossed": true,
    "group2_limit_breached": true,
    "group2b_excess_amount": 25,
    "group2b_treatment": "whole_book",
    "risk_weight_applied_pct": 1250,
    "base_risk_weight_pct": 1250,
    "pillar3_precheck_pass": false,
    "per_asset": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 25,
      "short_exposure": 0,
      "counted_exposure": 25
     }
    ],
    "gaps": [
     "GROUP2_EXPOSURE_LIMIT_BREACHED"
    ],
    "warnings": [
     "SCO60_GROUP2_1PCT_THRESHOLD_CROSSED",
     "SUPERVISOR_NOTIFICATION_REQUIRED",
     "SCO60_GROUP2_LIMIT_BREACHED",
     "DIS55_PRECHECK_FAIL"
    ],
    "domain_errors": [],
    "refusal_reason": null,
    "scope_note": "Book-level Group 2 exposure-limit assessment. Legs are aggregated per cryptoasset and each asset is counted at the higher of its absolute long and short totals, never a netted figure; legs must already be delta-adjusted for derivatives. The caller owns the completeness of the book: every direct holding (cash and derivatives) and indirect holding (funds, ETF/ETN or similar) must be supplied as a position. Tier 1 capital is caller-supplied and must be a multiple of 100 minor units so the 1% and 2% thresholds and the excess amount are exact integers. The 1250% weight shown is the treatment of the excess (or, above the 2% hard limit, of the whole aggregate); the remainder keeps its own per-asset treatment, which this node does not classify. National implementation of the underlying standard varies; no adoption status is asserted."
   },
   "independent_oracle": {
    "source": "BCBS, Prudential treatment of cryptoasset exposures (d545, December 2022), SCO60.116-119, as pinned in research/clause-snapshots/BIS-d545-SCO60.116-119-2026-10-05.excerpt.txt",
    "source_digest": "sha256:21a8159406b21fa2bb8034aefab17c6d1b18c429ff7978ac92714bb8890c54e3",
    "derivation": "Aggregate 25 of 1000 = 2.5%: above the 2% limit. The WHOLE aggregate (25) takes the 2b weight, the precheck fails, and the breach gap and flags fire (SCO60.118)."
   },
   "golden_hash": "63dd81f56ade38578964e8578695bc043fd58e9a29e3919c2942eac15f922eb4"
  },
  {
   "name": "v6-higher-of-legs-not-netted",
   "policy_parameters": {
    "bank_tier1_capital": 1000,
    "group2_positions": [
     {
      "cryptoasset": "eth",
      "holding_type": "direct_derivative",
      "long_exposure": 6,
      "short_exposure": 9
     }
    ]
   },
   "output_payload": {
    "group2_exposure_amount": 9,
    "bank_tier1_capital": 1000,
    "group2_exposure_pct_tier1": 0.9,
    "one_pct_tier1_amount": 10,
    "two_pct_tier1_amount": 20,
    "group2_threshold_crossed": false,
    "group2_limit_breached": false,
    "group2b_excess_amount": 0,
    "group2b_treatment": "none",
    "risk_weight_applied_pct": null,
    "base_risk_weight_pct": 1250,
    "pillar3_precheck_pass": true,
    "per_asset": [
     {
      "cryptoasset": "eth",
      "holding_type": "direct_derivative",
      "long_exposure": 6,
      "short_exposure": 9,
      "counted_exposure": 9
     }
    ],
    "gaps": [],
    "warnings": [],
    "domain_errors": [],
    "refusal_reason": null,
    "scope_note": "Book-level Group 2 exposure-limit assessment. Legs are aggregated per cryptoasset and each asset is counted at the higher of its absolute long and short totals, never a netted figure; legs must already be delta-adjusted for derivatives. The caller owns the completeness of the book: every direct holding (cash and derivatives) and indirect holding (funds, ETF/ETN or similar) must be supplied as a position. Tier 1 capital is caller-supplied and must be a multiple of 100 minor units so the 1% and 2% thresholds and the excess amount are exact integers. The 1250% weight shown is the treatment of the excess (or, above the 2% hard limit, of the whole aggregate); the remainder keeps its own per-asset treatment, which this node does not classify. National implementation of the underlying standard varies; no adoption status is asserted."
   },
   "independent_oracle": {
    "source": "BCBS, Prudential treatment of cryptoasset exposures (d545, December 2022), SCO60.116-119, as pinned in research/clause-snapshots/BIS-d545-SCO60.116-119-2026-10-05.excerpt.txt",
    "source_digest": "sha256:21a8159406b21fa2bb8034aefab17c6d1b18c429ff7978ac92714bb8890c54e3",
    "derivation": "One asset, absolute long 6 and absolute short 9: the higher leg (9) is counted, never the netted 3 (SCO60.119 measurement basis). 0.9%, clean."
   },
   "golden_hash": "53ddfb217cfb75ec14274b59c93edd0614991bad0cb1390e7712ead46349f937"
  },
  {
   "name": "v7-zero-tier1-typed-refusal",
   "policy_parameters": {
    "bank_tier1_capital": 0,
    "group2_positions": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 8,
      "short_exposure": 0
     }
    ]
   },
   "output_payload": {
    "group2_exposure_amount": null,
    "bank_tier1_capital": null,
    "group2_exposure_pct_tier1": null,
    "one_pct_tier1_amount": null,
    "two_pct_tier1_amount": null,
    "group2_threshold_crossed": null,
    "group2_limit_breached": null,
    "group2b_excess_amount": null,
    "group2b_treatment": null,
    "risk_weight_applied_pct": null,
    "base_risk_weight_pct": 1250,
    "pillar3_precheck_pass": null,
    "per_asset": [],
    "gaps": [],
    "warnings": [],
    "domain_errors": [
     {
      "code": "REFUSED_BAD_TIER1",
      "text": "bank_tier1_capital must be positive; zero capital would make every percentage of it degenerate and is refused rather than reported as 0% or Infinity"
     }
    ],
    "refusal_reason": "REFUSED_BAD_TIER1",
    "scope_note": "Book-level Group 2 exposure-limit assessment. Legs are aggregated per cryptoasset and each asset is counted at the higher of its absolute long and short totals, never a netted figure; legs must already be delta-adjusted for derivatives. The caller owns the completeness of the book: every direct holding (cash and derivatives) and indirect holding (funds, ETF/ETN or similar) must be supplied as a position. Tier 1 capital is caller-supplied and must be a multiple of 100 minor units so the 1% and 2% thresholds and the excess amount are exact integers. The 1250% weight shown is the treatment of the excess (or, above the 2% hard limit, of the whole aggregate); the remainder keeps its own per-asset treatment, which this node does not classify. National implementation of the underlying standard varies; no adoption status is asserted."
   },
   "independent_oracle": {
    "source": "BCBS, Prudential treatment of cryptoasset exposures (d545, December 2022), SCO60.116-119, as pinned in research/clause-snapshots/BIS-d545-SCO60.116-119-2026-10-05.excerpt.txt",
    "source_digest": "sha256:21a8159406b21fa2bb8034aefab17c6d1b18c429ff7978ac92714bb8890c54e3",
    "derivation": "Tier 1 of 0 makes every percentage degenerate; the declared-domain rule demands a typed refusal, never NaN or Infinity (build-spec vector V7)."
   },
   "golden_hash": "945b01b25a9cba06d30db50f89242ba66a7743d016f7709d0995e2f3e48bc694"
  },
  {
   "name": "v7b-negative-tier1-typed-refusal",
   "policy_parameters": {
    "bank_tier1_capital": -500,
    "group2_positions": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 8,
      "short_exposure": 0
     }
    ]
   },
   "output_payload": {
    "group2_exposure_amount": null,
    "bank_tier1_capital": null,
    "group2_exposure_pct_tier1": null,
    "one_pct_tier1_amount": null,
    "two_pct_tier1_amount": null,
    "group2_threshold_crossed": null,
    "group2_limit_breached": null,
    "group2b_excess_amount": null,
    "group2b_treatment": null,
    "risk_weight_applied_pct": null,
    "base_risk_weight_pct": 1250,
    "pillar3_precheck_pass": null,
    "per_asset": [],
    "gaps": [],
    "warnings": [],
    "domain_errors": [
     {
      "code": "REFUSED_BAD_TIER1",
      "text": "bank_tier1_capital must be a non-negative integer of minor units within the 1e12 cap; zero or negative capital is outside the declared domain, never a zero-division verdict"
     }
    ],
    "refusal_reason": "REFUSED_BAD_TIER1",
    "scope_note": "Book-level Group 2 exposure-limit assessment. Legs are aggregated per cryptoasset and each asset is counted at the higher of its absolute long and short totals, never a netted figure; legs must already be delta-adjusted for derivatives. The caller owns the completeness of the book: every direct holding (cash and derivatives) and indirect holding (funds, ETF/ETN or similar) must be supplied as a position. Tier 1 capital is caller-supplied and must be a multiple of 100 minor units so the 1% and 2% thresholds and the excess amount are exact integers. The 1250% weight shown is the treatment of the excess (or, above the 2% hard limit, of the whole aggregate); the remainder keeps its own per-asset treatment, which this node does not classify. National implementation of the underlying standard varies; no adoption status is asserted."
   },
   "independent_oracle": {
    "source": "BCBS, Prudential treatment of cryptoasset exposures (d545, December 2022), SCO60.116-119, as pinned in research/clause-snapshots/BIS-d545-SCO60.116-119-2026-10-05.excerpt.txt",
    "source_digest": "sha256:21a8159406b21fa2bb8034aefab17c6d1b18c429ff7978ac92714bb8890c54e3",
    "derivation": "Negative Tier 1 is outside the declared domain; typed refusal, never a verdict (build-spec vector V7: zero or negative)."
   },
   "golden_hash": "2f0d571f8864788e55f74a98a9145a073450b57273afdcbd0950586cb38e952d"
  },
  {
   "name": "v7c-non-centesimal-tier1-typed-refusal",
   "policy_parameters": {
    "bank_tier1_capital": 999,
    "group2_positions": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 8,
      "short_exposure": 0
     }
    ]
   },
   "output_payload": {
    "group2_exposure_amount": null,
    "bank_tier1_capital": null,
    "group2_exposure_pct_tier1": null,
    "one_pct_tier1_amount": null,
    "two_pct_tier1_amount": null,
    "group2_threshold_crossed": null,
    "group2_limit_breached": null,
    "group2b_excess_amount": null,
    "group2b_treatment": null,
    "risk_weight_applied_pct": null,
    "base_risk_weight_pct": 1250,
    "pillar3_precheck_pass": null,
    "per_asset": [],
    "gaps": [],
    "warnings": [],
    "domain_errors": [
     {
      "code": "REFUSED_BAD_TIER1",
      "text": "bank_tier1_capital must be divisible by 100 minor units so that 1% and 2% of it and the excess amount are exact integers; a fractional-threshold verdict is never emitted"
     }
    ],
    "refusal_reason": "REFUSED_BAD_TIER1",
    "scope_note": "Book-level Group 2 exposure-limit assessment. Legs are aggregated per cryptoasset and each asset is counted at the higher of its absolute long and short totals, never a netted figure; legs must already be delta-adjusted for derivatives. The caller owns the completeness of the book: every direct holding (cash and derivatives) and indirect holding (funds, ETF/ETN or similar) must be supplied as a position. Tier 1 capital is caller-supplied and must be a multiple of 100 minor units so the 1% and 2% thresholds and the excess amount are exact integers. The 1250% weight shown is the treatment of the excess (or, above the 2% hard limit, of the whole aggregate); the remainder keeps its own per-asset treatment, which this node does not classify. National implementation of the underlying standard varies; no adoption status is asserted."
   },
   "independent_oracle": {
    "source": "BCBS, Prudential treatment of cryptoasset exposures (d545, December 2022), SCO60.116-119, as pinned in research/clause-snapshots/BIS-d545-SCO60.116-119-2026-10-05.excerpt.txt",
    "source_digest": "sha256:21a8159406b21fa2bb8034aefab17c6d1b18c429ff7978ac92714bb8890c54e3",
    "derivation": "Tier 1 not divisible by 100 minor units would make 1% of it fractional and the excess inexact; refused rather than rounded (declared-domain rule, integer-safe boundary discipline)."
   },
   "golden_hash": "2e4c1718a84812b1e81fb4f15da9afab23f7cb2d5e1278146aeb1a727e52eaca"
  },
  {
   "name": "v8-multi-asset-aggregate-direct-plus-indirect",
   "policy_parameters": {
    "bank_tier1_capital": 1000,
    "group2_positions": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 8,
      "short_exposure": 0
     },
     {
      "cryptoasset": "eth",
      "holding_type": "indirect_fund",
      "long_exposure": 0,
      "short_exposure": 9
     }
    ]
   },
   "output_payload": {
    "group2_exposure_amount": 17,
    "bank_tier1_capital": 1000,
    "group2_exposure_pct_tier1": 1.7,
    "one_pct_tier1_amount": 10,
    "two_pct_tier1_amount": 20,
    "group2_threshold_crossed": true,
    "group2_limit_breached": false,
    "group2b_excess_amount": 7,
    "group2b_treatment": "excess_only",
    "risk_weight_applied_pct": 1250,
    "base_risk_weight_pct": 1250,
    "pillar3_precheck_pass": true,
    "per_asset": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 8,
      "short_exposure": 0,
      "counted_exposure": 8
     },
     {
      "cryptoasset": "eth",
      "holding_type": "indirect_fund",
      "long_exposure": 0,
      "short_exposure": 9,
      "counted_exposure": 9
     }
    ],
    "gaps": [],
    "warnings": [
     "SCO60_GROUP2_1PCT_THRESHOLD_CROSSED",
     "SUPERVISOR_NOTIFICATION_REQUIRED"
    ],
    "domain_errors": [],
    "refusal_reason": null,
    "scope_note": "Book-level Group 2 exposure-limit assessment. Legs are aggregated per cryptoasset and each asset is counted at the higher of its absolute long and short totals, never a netted figure; legs must already be delta-adjusted for derivatives. The caller owns the completeness of the book: every direct holding (cash and derivatives) and indirect holding (funds, ETF/ETN or similar) must be supplied as a position. Tier 1 capital is caller-supplied and must be a multiple of 100 minor units so the 1% and 2% thresholds and the excess amount are exact integers. The 1250% weight shown is the treatment of the excess (or, above the 2% hard limit, of the whole aggregate); the remainder keeps its own per-asset treatment, which this node does not classify. National implementation of the underlying standard varies; no adoption status is asserted."
   },
   "independent_oracle": {
    "source": "BCBS, Prudential treatment of cryptoasset exposures (d545, December 2022), SCO60.116-119, as pinned in research/clause-snapshots/BIS-d545-SCO60.116-119-2026-10-05.excerpt.txt",
    "source_digest": "sha256:21a8159406b21fa2bb8034aefab17c6d1b18c429ff7978ac92714bb8890c54e3",
    "derivation": "Direct cash 8 plus an indirect fund position counted at its higher leg 9: the aggregate 17 of 1000 = 1.7% shows the limit applies to the whole book across direct and indirect holdings (SCO60.116), crossed, excess 7 at 2b, not breached."
   },
   "golden_hash": "3a25214968f9aaf3d3e8977127f59936467701832df8f937162bd66fdc4f7ae6"
  },
  {
   "name": "v9-same-asset-legs-merge-before-higher-of",
   "policy_parameters": {
    "bank_tier1_capital": 1000,
    "group2_positions": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 6,
      "short_exposure": 9
     },
     {
      "cryptoasset": "btc",
      "holding_type": "indirect_etn",
      "long_exposure": 3,
      "short_exposure": 0
     }
    ]
   },
   "output_payload": {
    "group2_exposure_amount": 9,
    "bank_tier1_capital": 1000,
    "group2_exposure_pct_tier1": 0.9,
    "one_pct_tier1_amount": 10,
    "two_pct_tier1_amount": 20,
    "group2_threshold_crossed": false,
    "group2_limit_breached": false,
    "group2b_excess_amount": 0,
    "group2b_treatment": "none",
    "risk_weight_applied_pct": null,
    "base_risk_weight_pct": 1250,
    "pillar3_precheck_pass": true,
    "per_asset": [
     {
      "cryptoasset": "btc",
      "holding_type": "direct_cash",
      "long_exposure": 9,
      "short_exposure": 9,
      "counted_exposure": 9
     }
    ],
    "gaps": [],
    "warnings": [],
    "domain_errors": [],
    "refusal_reason": null,
    "scope_note": "Book-level Group 2 exposure-limit assessment. Legs are aggregated per cryptoasset and each asset is counted at the higher of its absolute long and short totals, never a netted figure; legs must already be delta-adjusted for derivatives. The caller owns the completeness of the book: every direct holding (cash and derivatives) and indirect holding (funds, ETF/ETN or similar) must be supplied as a position. Tier 1 capital is caller-supplied and must be a multiple of 100 minor units so the 1% and 2% thresholds and the excess amount are exact integers. The 1250% weight shown is the treatment of the excess (or, above the 2% hard limit, of the whole aggregate); the remainder keeps its own per-asset treatment, which this node does not classify. National implementation of the underlying standard varies; no adoption status is asserted."
   },
   "independent_oracle": {
    "source": "BCBS, Prudential treatment of cryptoasset exposures (d545, December 2022), SCO60.116-119, as pinned in research/clause-snapshots/BIS-d545-SCO60.116-119-2026-10-05.excerpt.txt",
    "source_digest": "sha256:21a8159406b21fa2bb8034aefab17c6d1b18c429ff7978ac92714bb8890c54e3",
    "derivation": "One asset held through two channels (6/9 direct, 3/0 indirect): the legs aggregate per cryptoasset to long 9 / short 9, and the higher absolute total (9) is counted - not a per-entry higher-of (12) and not the netted 0 (SCO60.119: measurement is in each separate cryptoasset). 0.9%, clean."
   },
   "golden_hash": "aa2af51f74fd8760f68a7e6b8750089f2960e57cb1f54a0b0f2373578b0b57cc"
  }
 ]
}
