What it is
You hold something. It can fall while you are not watching. Ballast buys the cover for that fall, every window, without anyone pressing anything.
On this page
The problem#
You hold ETH. It can fall while you sleep. Instruments that would cover that fall exist on dreamDEX — Event Contracts, which pay a fixed amount if a price closes below where it opened — but they are tied to a window, and the windows expire and are replaced constantly. The shortest roll every sixty seconds.
Cover bought against one window is worthless once that window closes. Keeping a position covered therefore means re-buying, correctly sized, every single window, forever. In practice nobody does this. That is the gap Ballast fills, and it is a gap about diligence rather than about cleverness.
The three steps#
- Hold something. Ballast only ever covers exposure it can measure on chain. It reads your spot position from the venue; it never accepts a number you type in.
- Set a load line. How deep a fall you want made whole, and the most you are willing to pay per window for it. That is the whole of the policy, and it is a contract state rather than a setting in a database of ours.
- The chain does the rest. When dreamDEX opens a window, Somnia’s reactivity precompile invokes Ballast’s handler inside that same block. There is no keeper in the money path.
The load line is a break-even, not a kink#
This distinction matters more than any other on this page. An Event Contract pays a fixed amount if it wins. Because the strike is pinned to the window’s opening price, the bend in the payoff sits at a 0% move and cannot be moved.
What you set is quantity, and quantity moves the break-even — the depth of fall at which the payout exactly equals your loss. It does not flatten the line, and no quantity ever will. What it pays works through why, and what the residual gap is.
Measured exposure#
Ballast reads the position from the exposure source contract at 0x83923535…, which reports what the account actually holds on the venue. Cover is sized against that reading and nothing else.
A worked example, end to end#
Every figure below is read live: the exposure from the chain, the make-whole point from the policy actually set on the demonstration account, and the cover price q = 0.494 from a position that really settled.
So on a fall of exactly 2.50% the position loses 127.68 and the cover nets 127.68 — the same number, which is what “made whole” means. Away from that depth the two stop matching:
| Fall | Position | Cover, net | You end up | Which is |
|---|---|---|---|---|
| 1.00% | −51.07 | +127.68 | +76.61 | over-compensated |
| 2.50% | −127.68 | +127.68 | +0.00 | exactly whole |
| 5.00% | −255.36 | +127.68 | −127.68 | under-compensated |