Skip to main content

Ballast

Ballast is the junior deck. It is a perpetual, rolling tranche: there is no maturity, no series, and no fixed rate. Ballast holds whatever is left of the book after the protocol fee and Hull accrual are paid, and it is drawn down first when the book loses money.

That second sentence is the product. Everything else on this page follows from it.

LOSS ORDERING

Ballast drains first

When an epoch's gross yield G is negative, the shortfall is applied in a fixed order:

  1. Ballast NAV absorbs the loss.
  2. If Ballast is exhausted, the Reserve absorbs the rest.
  3. Only then is Hull principal impaired. The litepaper calls this a credit event.

There is no discretion in this sequence. It is not a policy that a multisig applies after the fact; it is how the accounting is constructed. Hull's principal protection is Ballast's capital, and the subordination floor (below) is the rule that guarantees there is enough of it.

The same ordering is what makes Hull's rate a contract parameter rather than a promise: Hull is paid before Ballast sees anything, and Ballast is charged before Hull loses anything.

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

What Ballast earns

Daily accrual runs a three-step waterfall over gross yield G, with NAV updated continuously:

  1. Protocol fee: 10% × max(G, 0). Half goes to the Reserve until the Reserve reaches its target, the rest to treasury. No fee is charged on a negative epoch.
  2. Hull accrual: A_H = r_H × H × Δt, where r_H is the Hull rate, a contract parameter.
  3. Residual to Ballast.

Ballast's share of G is therefore G − fee − A_H. It is not capped, and it is not floored. When funding is strongly positive, the residual is large. When funding is flat, Ballast still pays Hull's accrual out of its own NAV. When funding is negative, Ballast pays both the loss and Hull's accrual.

The conservation invariant holds every epoch and is enforced in code and fuzzed:

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

Ballast is the balancing term.

Why "levered"

The book runs at leverage λ ≤ 2 at launch. Per dollar of TVL, λ/(1+λ) is held in spot, 1/(1+λ) as short margin, and λ/(1+λ) is the hedged notional: 66.7% spot, 33.3% margin, 66.7% hedged notional. A further 10% idle USDC buffer is held unhedged for margin maintenance.

Funding is earned on the hedged notional, but Ballast is a minority of the capital that supports it. The subordination floor allows Ballast to be as little as 20% of H + B. So a given move in G produces a proportionally larger move in Ballast NAV than in the book as a whole. That is the whole of what "levered residual" means here: leverage through subordination, in both directions.

Exit constraints

Ballast withdrawals are constrained twice. Both constraints are design features, not operational limits, and neither is waivable.

48-hour cooldown

A Ballast withdrawal is subject to a 48-hour cooldown. The purpose is to make it impossible to hold Ballast during positive funding and leave in the same block that funding turns. Hull holders are relying on Ballast being present when losses arrive; the cooldown is the mechanism that keeps it present.

What FACTS does not specify, and this page therefore does not claim: whether the cooldown starts at the request or at the last deposit, whether a pending request can be cancelled, and whether NAV is fixed at request time or at execution. Cooldown mechanics beyond the 48-hour duration UNVERIFIED — PENDING GATE-0.

Subordination floor

The floor is enforced at all times:

B / (H + B) ≥ θ_min = 20%

It constrains two actions: new Hull issuance and Ballast withdrawals. A withdrawal that would push Ballast below 20% of H + B cannot execute. In practice this means the last Ballast out is not free to leave while Hull is outstanding; it is pinned until Hull series mature or more Ballast arrives.

Whether a floor-blocked withdrawal reverts, queues, or executes partially is not stated in the litepaper. Behaviour of a withdrawal that would breach the floor UNVERIFIED — PENDING GATE-0.

Illustrative floor arithmetic

Illustrative, not a forecast. Take H = 700 and B = 300, so B / (H + B) = 30%. The smallest Ballast balance that keeps the floor is the B that satisfies B = 0.2 × (700 + B), which is B = 175. Up to 125 of Ballast can be withdrawn; the remaining 175 cannot leave until H shrinks.

The Reserve and Ballast NAV

The Reserve targets 2% of TVL and is funded from the protocol-fee split. The litepaper gives it two jobs: it sits between Ballast and Hull in the shortfall ordering, and it smooths transient negative funding.

The second job exists for Ballast. Funding on a perp venue flips sign routinely and briefly. Without a buffer, every negative funding interval prints straight into Ballast NAV and every positive one prints back out, and Ballast holders who happen to withdraw during the dip crystallise a loss the book would have recovered by the next epoch. The Reserve exists partly to keep that whipsaw off Ballast NAV.

The litepaper states both the ordering (Ballast first, then Reserve) and the smoothing role, but not the precise rule that decides when a negative epoch is "transient" and the Reserve pays instead of Ballast. Read the ordering as the guarantee and the smoothing as the intent. Trigger and sizing rule for Reserve smoothing of Ballast NAV UNVERIFIED — PENDING GATE-0.

Sustained negative funding

The Reserve is sized at 2% of TVL. It is a buffer for short inversions, not a hedge against a regime where funding stays negative. In that regime Ballast pays the loss and continues to pay Hull's accrual until Ballast is exhausted.

Illustrative accrual

Illustrative, not a forecast. r_H is a contract parameter; the value used here is a placeholder for arithmetic.

InputValue
H700
B300
r_H (illustrative)6% APR
Δt1 day

Positive epoch, G = +10:

StepAmount
Fee 10% × max(G, 0)1.00
Hull accrual 0.06 × 700 / 3650.115
Ballast residual8.885

Negative epoch, G = −10:

StepAmount
Fee 10% × max(G, 0)0
Hull accrual0.115
Ballast change−10.115

The second table is the one to read twice. Ballast carries the full loss plus Hull's accrual, and the Reserve's smoothing, where it applies, is the only thing that changes the figure.

Who Ballast is for

Ballast is for a holder who wants the funding rate with leverage and accepts being the loss-absorbing layer to get it. Concretely:

  • You believe net funding on the hedged pair is positive on average and you are willing to be paid the residual rather than a fixed rate.
  • You can tolerate NAV drawdown, including to zero in a sustained inversion, before Hull loses a dollar.
  • You can wait 48 hours to leave, and you accept that when Ballast is close to the floor you may not be able to leave at all until Hull matures.
  • You understand that Vessel is experimental software on testnet, unaudited, and that the current hedge venue is SimVenue SIMVENUE — SIMULATED, a simulated venue with an owner-settable funding rate behind the IVenue interface. Ballast on testnet is absorbing simulated funding, not market funding.

If you want a fixed rate and principal that is not first in line, the senior deck is Hull.

What is not published

As of 2026-08-29 the public repository contains only a README and a LICENSE. No Ballast contract, share-token name, deposit or withdrawal function signature, or deployed address is verifiable. Every contract-level detail of Ballast is design-stage: Ballast contract name, interface, and testnet address UNVERIFIED — PENDING GATE-0.

The design described here is from the litepaper at vessel.wtf/litepaper.

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