Programmatic Waterfall Distributions

Zero-error cash flow execution. Automate the calculation and distribution of funds across senior, junior, and carry tranches with audit-ready precision.

The "Black Box" Calculation

For most funds, the distribution waterfall lives in a massive, fragile spreadsheet controlled by one person. When cash hits the account, manually calculating the split between Senior Interest, Junior Principal, and GP Carry is slow, prone to formula errors, and terrifyingly opaque to investors.

From Cash Receipt to Wire Transfer

Event-Driven Calculation

Don't wait for the end of the quarter. Trigger distribution logic instantly when a repayment lands in the Master SPV account.

LPA as Code

Hard-code your specific distribution rules (e.g., "100% to Senior until 8% Hurdle") into the engine. The system applies these rules consistently to every single dollar that enters the fund.

Multi-Entity Passthroughs

Handle complex SPV chains automatically. When the Master SPV distributes, the engine automatically calculates the downstream effect on Feeder Funds and Blockers, creating a unified payment chain.

Precision Payment Logic

Priority Enforcement

Ensure Senior Lenders are paid their exact interest accrual before a single cent flows to Junior or Equity tranches.

Catch-Up & Carry

Programmatically switch logic triggers. Once the Preferred Return is met, the engine automatically activates the GP Catch-Up logic.

Withholding Management

Apply tax withholding rules to specific beneficiary calculations before the net payment is finalized.

Payment Batches

Group thousands of individual LP wires into a single approval batch for the Ops team.

Logic, not cells

This runbook demonstrates the power of a defined waterfall. You don't write the math every time; you simply pass the cash to the Waterfall object, and it applies your pre-defined LPA rules (Senior Priority, Hurdles, Catch-ups) instantly.

waterfall-distribution.ts

import { Runbook, Waterfall, Distribution } from '@ntropii/sdk';
Runbook.on('cash_received', async (event) => {
// 1. Load the Waterfall Definition (The logic of the LPA)
const waterfall = await Waterfall.get('deal_101_structure');
// 2. Run the "Cascade" logic against the incoming cash
// The SDK automatically handles Senior Priority, Hurdles, and Carry math
const calculatedSplit = await waterfall.runCascade({
amount: event.amount,
currency: 'USD'
});
// 3. Generate the Distribution Batch for approval
const batch = await Distribution.createBatch({
context: 'deal_101_spv',
allocations: calculatedSplit
});
console.log(`Distribution Calculated: ${batch.summary}`);
});

Common Distribution Models

Standard Debt Waterfall

Senior Interest → Senior Principal → Junior Interest → Junior Principal.

European Waterfall (Whole Fund)

100% Return of Capital to Investors before GP sees any Carry.

American Waterfall (Deal-by-Deal)

Distribute profits on a specific asset basis with clawback reserves.

Pari-Passu Split

Pro-rata distribution across multiple lenders of equal seniority.

Tax-Blocker Route

Logic to route specific investor payments through an offshore blocker entity.

Perfect your payouts

Stop relying on Excel to move millions. Build your distribution logic in code.