OpenChainGraph Chain · Prudential & Basel Risk

IRRBB Supervisory Outlier Test

Three-node chain covering the full EBA Supervisory Outlier Test (SOT) for Interest Rate Risk in the Banking Book. Calculates Delta EVE under the 6 BCBS d368 recalibrated shock scenarios, evaluates the EVE leg against the hard EU-wide 15%-of-Tier-1 threshold, and evaluates the NII leg against a caller-supplied threshold. Each stage produces a tamper-evident SHA-256 execution hash.

IRRBB SOT / EVE / NII BCBS d368 3 nodes §16 Proof Candidate W3C VC §13.11 v0.5.0
Chain summary
Basel recalibrated the IRRBB standardised shock scenarios effective 1 Jan 2026 (BCBS d368). The EBA RTS on the SOT makes the EVE leg a hard pass/fail: Delta EVE decline exceeding 15% of Tier 1 capital is an EU-wide outlier trigger. The NII leg has no single EU-wide percentage — EBA/GL/2022/14 leaves calibration to competent-authority / institution discretion. This chain runs both legs end to end. Node ART-184 is a §16 proof candidate — optional eddsa-jcs-2022 signature available. Nodes: ART-183ART-184ART-185.
ART-183 EVE Shock Calc ART-184 SOT / EVE §16 proof ▾ ART-185 SOT / NII Terminal ★
★ terminal node · purple bar = §16 proof opt-in · gold border = export
Stage 1 — EVE Shock Calculation
1
calculate_irrbb_eve_shocks · ART-183
Calculate Delta EVE under the 6 BCBS d368 standardised shock scenarios (parallel up/down, short up/down, steepener, flattener) from bucketed net repricing cash-flow gaps. Returns per-scenario delta_eve and the worst-case scenario.
→ Open tool
MCP tool: calculate_irrbb_eve_shocks
{
  "tool": "calculate_irrbb_eve_shocks",
  "arguments": {
    "repricing_gaps": {
      "on_1m": 500,
      "m1_y1": 800,
      "y1_y3": -300,
      "y3_y5": 1200,
      "y5_y10": -400,
      "y10_plus": 200
    }
  }
}
Stage 2 — SOT/EVE Evaluation (§16 proof candidate)
2
evaluate_irrbb_sot_eve · ART-184
Evaluate the worst-case Delta EVE decline (from stage 1) against the hard EU-wide threshold of 15% of Tier 1 capital (EBA RTS on the SOT). §16 eddsa-jcs-2022 signature opt-in available on this node.
→ Open tool
MCP tool: evaluate_irrbb_sot_eve
{
  "tool": "evaluate_irrbb_sot_eve",
  "arguments": {
    "eve_shock": { "worst_delta_eve": -180 },
    "capital": { "tier1_capital": 1000 }
  }
}
Stage 3 — SOT/NII Evaluation (terminal)
3
evaluate_irrbb_sot_nii · ART-185
Evaluate the worst-case 1-year Delta NII under parallel up/down shocks against the institution's own SOT/NII threshold (competent-authority discretion, no EU-wide bright line). Final stage — exportable as Policy Mandate JSON or W3C VC.
→ Open tool
MCP tool: evaluate_irrbb_sot_nii
{
  "tool": "evaluate_irrbb_sot_nii",
  "arguments": {
    "nii_shock": { "delta_nii_parallel_up": 20, "delta_nii_parallel_down": -150 },
    "baseline": { "projected_nii": 1000, "sot_nii_threshold_pct": 10 }
  }
}
Full Chain MCP Sequence

Run all three tools in order. Each result's execution_hash feeds as parent_hash to the next call, forming the tamper-evident audit chain.

Full chain — 3 MCP calls
// Step 1: calculate Delta EVE under the 6 standardised shocks
const step1 = await mcp.call("calculate_irrbb_eve_shocks", {
  repricing_gaps: { on_1m: 500, m1_y1: 800, y1_y3: -300, y3_y5: 1200, y5_y10: -400, y10_plus: 200 }
});

// Step 2: evaluate the EVE leg of the SOT (chain from step 1)
const step2 = await mcp.call("evaluate_irrbb_sot_eve", {
  eve_shock: { worst_delta_eve: step1.worst_delta_eve },
  capital: { tier1_capital: 1000 }
});

// Step 3: evaluate the NII leg of the SOT — final stage
const step3 = await mcp.call("evaluate_irrbb_sot_nii", {
  nii_shock: { delta_nii_parallel_up: 20, delta_nii_parallel_down: -150 },
  baseline: { projected_nii: 1000, sot_nii_threshold_pct: 10 }
});

// Terminal artifact
console.log("Worst DeltaEVE scenario:", step1.worst_scenario);
console.log("SOT/EVE outlier:", step2.eve_outlier);
console.log("SOT/NII outlier:", step3.nii_outlier);
Chain Metadata
Chain slugirrbb-supervisory-outlier-test
Nodesart-183 → art-184 → art-185
ClusterPrudential & Basel Risk
RegulationBCBS d368 (2024 recalibration) · EBA RTS on the SOT · EBA/GL/2022/14
Spec version0.5.0
§16 proofOpt-in on ART-184 (eddsa-jcs-2022, ephemeral did:key)
§18 compute proofDeferred — no GPU/WSL toolchain in this build session (§17 kernel-source identity stamped)
Terminal exportPolicy Mandate JSON · W3C VC (§13.11)
Hash schemeSHA-256 over JCS-canonical {policy_parameters, output_payload}