---
title: "PE Distribution Waterfall LP-Side Recompute"
method: POST
path: "/v1/tools/recompute_pe_waterfall_lp"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# PE Distribution Waterfall LP-Side Recompute

`POST /v1/tools/recompute_pe_waterfall_lp`

## Request

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

Recomputes a standard 4-tier PE distribution waterfall (return of capital, preferred return, GP catch-up, residual carry split) from caller-DECLARED dated contribution/distribution cashflows and a caller-DECLARED waterfall parameterization (pref rate + compounding basis, GP catch-up percentage, carry percentage, European whole-fund or American deal-by-deal tier structure, optional clawback check), then diffs the recomputed per-tier LP/GP allocation against a caller-supplied GP-reported allocation. Verdict MATCHES, DIVERGES with per-tier deltas, or INDETERMINATE whenever a required parameter is absent -- never guessed, never defaulted. ILPA's own reporting-template guidance states it was not designed for verifying any of the GP's calculations, cited here only as dated gap evidence, never as an ILPA endorsement or ILPA-compliance claim. Cross-links recompute_fund_nav (art-373), which recomputes NAV, not distribution waterfalls -- the two do not duplicate each other. Zero network, zero PII, fixed-point BigInt money math throughout.

**Tool URL:** https://ainumbers.co/chaingraph/art-567-pe-waterfall-lp-recompute.html

## Request body

- object
  - `as_of_date` unknown
  - `cashflows` unknown[], required
    - unknown
  - `deal_id` unknown
  - `fund_id` unknown
  - `gp_reported_allocation` unknown, required
  - `waterfall` unknown, required

## Response `200`

Successful tool execution result

- object
  - `as_of_date` string
  - `clawback` object
    - `clawback_amount` string
    - `clawback_flag_declared` boolean
    - `gp_carry_and_catchup_received` string
    - `gp_entitled_at_carry_pct` string
    - `note` string
    - `total_realized_profit` string
  - `deal_id` string
  - `fence` string
  - `fund_id` string
  - `gp_reported_allocation` object
    - `tiers` object[]
      - `gp_amount` integer
      - `lp_amount` integer
      - `tier` string
  - `ilpa_context` string
  - `not_proven` object[]
    - `detail` string
    - `item` string
  - `per_deal` string
  - `recomputed_allocation` object[]
    - `gp_amount` string
    - `lp_amount` string
    - `tier` string
  - `rejected_inputs` unknown[]
    - unknown
  - `tier_deltas` object[]
    - `gp_delta` string
    - `gp_reported_gp_amount` string
    - `gp_reported_lp_amount` string
    - `lp_delta` string
    - `matches` boolean
    - `recomputed_gp_amount` string
    - `recomputed_lp_amount` string
    - `tier` string
  - `tier_structure` string
  - `verdict` string
  - `waterfall` object
    - `carry_pct` number
    - `compounding_basis` string
    - `day_count_convention` string
    - `gp_catchup_pct` integer
    - `pref_rate` number

---

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