Skip to main content

The Waterfall

ACCRUAL · G > 0GROSS FUNDING · GPROTOCOL FEE · 10% OF max(G, 0)HALF TO RESERVE UNTIL 2% TVL TARGETHULL ACCRUAL · A_H = r_H · H · ΔtCONTRACTED RATE, NOT PERFORMANCERESIDUAL → BALLASTLEVERED, LAST IN LINE FOR PROFIT
SHORTFALL · G < A_HSHORTFALLGROSS FUNDING BELOW HULL ACCRUALBALLAST NAV DRAINS FIRSTFIRST LOSS, BY CONSTRUCTIONRESERVE DRAWS NEXTTARGET 2% OF TVLHULL PRINCIPAL IMPAIREDA CREDIT EVENT — THE LINE THAT MUST HOLD

Every epoch the delta-neutral book produces one number: G, the gross funding result after execution costs. It can be positive or negative. The waterfall is the rule that decides who receives G when it is positive and who absorbs it when it is not. Nothing else in the protocol matters as much as the order of that rule.

Accrual is daily. NAV is continuous.

ACCRUAL

When G is positive

The split runs top down. Each step is paid in full before the next one sees anything.

1. Protocol fee. The protocol takes 10 percent of the positive part of G:

fee = 0.10 × max(G, 0)

Half of the fee goes to the Reserve until the Reserve reaches its target of 2 percent of TVL. The other half goes to treasury. Once the Reserve is at target, the full fee goes to treasury. A negative epoch produces no fee at all; max(G, 0) is zero.

2. Hull accrual. Hull is paid its fixed rate on its principal for the elapsed time:

A_H = r_H × H × Δt

r_H is a contract parameter, not a market outcome. It is set per series as r_H = clamp(EWMA_30d(net funding APR) × (1 − h), 0, r_cap) with a haircut h = 40% and a cap r_cap = 15% APR. Nothing on this page should be read as a statement of what r_H will be for any series.

3. Residual to Ballast. Whatever is left goes to Ballast:

A_B = G − fee − A_H

Ballast has no rate. It receives the levered remainder of a good epoch and, as the next section shows, the whole of a bad one.

LOSS ORDERING

When G is negative

The waterfall inverts. There is no fee, Hull still accrues A_H, and the shortfall is absorbed in a fixed order:

  1. Ballast NAV absorbs first. Ballast is the first-loss tranche. Its NAV falls by the full shortfall, including the Hull accrual it has to fund.
  2. The Reserve draws next. Only once Ballast NAV is exhausted does the Reserve pay out. The Reserve exists to smooth transient negative funding so that a run of bad epochs does not reach Hull.
  3. Hull principal is impaired last. If Ballast and the Reserve are both gone, Hull principal takes the remaining loss. The litepaper names this a credit event. It is the one outcome the rest of the structure is built to avoid.

The subordination floor sits underneath this ordering: B / (H + B) ≥ 20% is enforced at all times, which is what keeps the first-loss layer thick enough to matter. See Tranches for how the floor constrains issuance and withdrawals.

Ballast NAV absorbs first, then the Reserve, and only then is Hull principal impaired.

INVARIANT

Conservation

The waterfall does not create or destroy value. For every epoch:

ΔNAV_Hull + ΔNAV_Ballast + ΔReserve + fees = G

Every unit of G lands in exactly one of four places: Hull NAV, Ballast NAV, the Reserve, or treasury fees. In the positive case the Reserve half of the protocol fee is counted under ΔReserve and the treasury half under fees; that is the reading under which the identity closes, and it is the one used in the worked example below.

The litepaper states that this invariant is enforced in code and fuzzed.

Not yet publicly verifiable

That claim cannot be checked today. The public repository at github.com/Lemma-Development-Labs/vessel contains only a README and a LICENSE as of 2026-08-29. No contracts, tests, or fuzz harnesses are published. Until they are, "enforced in code and fuzzed" is a litepaper statement, not something a reader can reproduce.

Worked example

Every figure in this section is illustrative, not a forecast. The book size, the split, the rate, and both values of G are assumed for arithmetic only. None of them describe a live series or any expected outcome.

Assumptions (illustrative):

ItemIllustrative value
Book (TVL)1,000,000 USD
Hull principal H700,000 USD
Ballast NAV B300,000 USD
Subordination B / (H + B)30 percent, above the 20 percent floor
Reserve balancebelow its 2 percent target of 20,000 USD
Hull rate r_H10 percent APR, assumed; below the 15 percent cap
Epoch Δtone day, 1 / 365

Under these assumptions Hull's daily accrual is A_H = 0.10 × 700,000 / 365 ≈ 191.78 USD. It is the same in both epochs below, because A_H does not depend on G.

A positive epoch, G = +500 USD (illustrative)

StepAmount
Fee, 0.10 × 50050.00
of which to Reserve (half, target not yet met)25.00
of which to treasury25.00
Hull accrual A_H191.78
Residual to Ballast, 500 − 50 − 191.78258.22

Check the invariant: 191.78 + 258.22 + 25.00 + 25.00 = 500.00 = G.

Ballast earned more than Hull on a smaller base. That is the levered residual working as designed on a good day.

A negative epoch, G = −600 USD (illustrative)

StepAmount
Fee, 0.10 × max(−600, 0)0.00
Hull accrual A_H+191.78
Ballast NAV change, −600 − 191.78−791.78
Reserve draw0.00
Hull principal impairment0.00

Check the invariant: 191.78 − 791.78 + 0 + 0 = −600.00 = G.

Ballast absorbed the whole loss and also funded Hull's accrual. Ballast NAV moves from 300,000 to about 299,208 USD; Hull is untouched. The Reserve was not drawn because Ballast was nowhere near exhausted. Hull principal would be reached only after roughly 300,000 USD of Ballast NAV and the entire Reserve had been consumed, under these illustrative figures.

The same 600 USD on the same book, with Ballast at zero and the Reserve at zero, would be a credit event. The tranches did not change. The order did the work.

The order is the product.

Verified from: vessel.wtf/litepaper · vessel-repo — Sat Aug 29 2026 00:00:00 GMT+0000 (Coordinated Universal Time) · How we verify this site →