---
title: "CCP Default Waterfall Recomputation"
method: POST
path: "/v1/tools/recompute_ccp_default_waterfall"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# CCP Default Waterfall Recomputation

`POST /v1/tools/recompute_ccp_default_waterfall`

## Request

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

Recomputes the sequential loss-allocation order at a CCP defaulting-member event: defaulter's initial margin, then the defaulter's default-fund contribution, then the CCP's own skin-in-the-game, then the surviving members' default-fund pool, then assessment powers -- per a caller-declared waterfall structure and a caller-declared loss amount. The structure is not hardcoded to any one CCP's rulebook; a caller supplies its own stage order and subset per PFMI Principle 4 and its own published rulebook. Carries an OCG Standard §25 ocg-private-input@1 declaration: the defaulter's initial margin, the defaulter's default-fund contribution, and the surviving-members' default-fund pool are member-level figures, committed via sha256-salted@1 in policy_parameters.member_figures_commitment, never disclosed in the clear. The CCP's own skin-in-the-game and any assessment-powers cap are the CCP's own already-published figures and stay public inputs. Emits, stage by stage, how much of the declared loss each stage absorbed and whether a residual remains unallocated -- a breach of the declared structure at that loss amount. Distinct in domain from art-509-recompute-payment-waterfall, a securitisation cashflow waterfall unrelated to CCP default management. It performs no fund-sizing of its own, no stress-scenario modelling, and makes no determination that any CCP's published resources are adequate.

**Tool URL:** https://ainumbers.co/chaingraph/art-529-ccp-default-waterfall-recompute.html

## Request body

- object
  - `loss_amount_minor_units` unknown, required

## Response `200`

Successful tool execution result

- object
  - `assessment_powers_cap_declared` boolean
  - `assessment_powers_cap_minor_units` integer
  - `breach` boolean
  - `ccp_skin_in_game_display` string
  - `ccp_skin_in_game_minor_units` integer
  - `currency` string
  - `loss_amount_display` string
  - `loss_amount_minor_units` integer
  - `loss_fully_absorbed` boolean
  - `note` string
  - `provenance` string
  - `rationale` string[]
  - `rejected_inputs` unknown[]
    - unknown
  - `residual_display` string
  - `residual_minor_units` integer
  - `steps` object[]
    - `absorbed_display` string
    - `absorbed_minor_units` integer
    - `exhausted_stage_capacity` boolean
    - `loss_fully_absorbed_at_this_stage` boolean
    - `private_figure` boolean
    - `stage` string
  - `waterfall_structure` string[]

---

[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)
