---
title: "Collateral Haircut Engine (Basel CRE22)"
method: POST
path: "/v1/tools/compute_basel_haircut_adjusted_exposure"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Collateral Haircut Engine (Basel CRE22)

`POST /v1/tools/compute_basel_haircut_adjusted_exposure`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/compute_basel_haircut_adjusted_exposure`
- Auth: none declared

Basel CRE22 comprehensive-approach collateral haircut engine for counterparty credit risk: applies a caller-supplied, versioned supervisory haircut table (policy input, not hardcoded) to each collateral item's asset class/maturity bucket, scales for a non-standard holding period via the CRE22.68 square-root-of-time rule, adds an FX-mismatch haircut where collateral currency differs from exposure currency, and computes net exposure E* = max(0, E*(1+He) - sum(C*(1-Hc-Hfx))). An item haircut override without a reason_code is flagged -- the item-level basis for a separate signed §27 human_accountability_record, not minted by this kernel. An unmatched asset_class/maturity_bucket defaults to a conservative 100% haircut, flagged, never silently valued. Deterministic per-item haircut application and summation only -- no collateral-to-exposure allocation/optimization solver. Not calculate_repo_haircut (508, Canton 24/7 timing-gap-specific SFT calculator) or compute_stock_token_collateral_haircut (art-320, RHC liquidation-risk layering) -- this is the generic Basel comprehensive-approach net-exposure engine across asset classes and currencies. Not a capital-return filing tool -- evidence artifact only, never regulator-submittable.

**Tool URL:** https://ainumbers.co/chaingraph/art-444-collateral-haircut-engine.html

## Request body

- object
  - `collateral_items` object[], required: type not evidenced by kernel source
    - `maturity_bucket` unknown
  - `exposure` unknown, required
  - `fx_haircut_pct` number: Percentage value
  - `haircut_table` object[], required: type not evidenced by kernel source
    - `maturity_bucket` unknown
  - `haircut_table_version` unknown, required
  - `holding_period_days` number: Duration in days
  - `min_haircut_floor_pct` number: Percentage value

## Response `200`

Successful tool execution result

- object
  - `collateral_adjusted_total` integer
  - `collateral_items` object[]
    - `adjusted_value` integer
    - `asset_class` string
    - `combined_haircut_pct` integer
    - `currency` string
    - `currency_mismatch` boolean
    - `fx_haircut_scaled_pct` integer
    - `haircut_pct` integer
    - `haircut_scaled_pct` integer
    - `item_id` string
    - `market_value` integer
    - `maturity_bucket` string
    - `override_applied` boolean
    - `override_reason_code` string
    - `table_haircut_pct` integer
    - `unclassified` boolean
  - `exposure_adjusted` integer
  - `exposure_amount` integer
  - `exposure_asset_class` string
  - `exposure_currency` string
  - `exposure_haircut_scaled_pct` integer
  - `haircut_table_version` string
  - `holding_period_days` integer
  - `item_count` integer
  - `net_exposure` integer
  - `note` string
  - `override_count` integer
  - `override_missing_reason_count` integer
  - `time_scale_factor` integer
  - `unclassified_count` integer

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
