Refusals
Ballast declined far more often than it bought, and every refusal is on chain with the reason it gave. That is the product working, not a gap in it.
A refusal is a decision#
A system that shows you only what it did is hiding what it chose not to do. Over the recorded history Ballast opened 258 covers and refused 13,248 times — about 51 refusals for every purchase.
Every one of those is an event on chain carrying its reason, and they are all readable on Activity. None of them is an error.
Every reason#
| Reason | What it means |
|---|---|
| No exposure | No measured spot position in that asset, so there is nothing to cover. Ballast sizes against what it can read, never against a number you type. |
| No liquidity | The Down book was empty. Refused rather than mispriced — a price invented from an empty book is not a price. |
| Cover too expensive | Down priced above 0.90, where the size needed to make you whole diverges. Paying it would cost more than the fall it covers. |
| Below minimum lot | The affordable size rounds to zero on the venue's lot grid. Buying the next lot up would exceed your premium ceiling. |
| No headroom | A ceiling you set was already committed in that window. The limit did its job. |
| Placement failed | The purchase reverted — the pool refused the order, or it ran out of gas partway. The rest of the batch continued; one failure does not take the others down. |
| Already covered | This window already holds cover for this account. Buying twice would double the premium for the same protection. |
| Policy inactive or expired | No active consent, so no action. This is the engine having no authority rather than choosing not to use it. |
| Would misrepresent | The position would deliver nothing it could honestly describe as the cover requested. |
| No open price | The window's opening price was never recorded, so there is no strike to measure a fall against. |
| Attempts exhausted | Three attempts, and the book never became priceable. The window is marked given up rather than left pending forever. |
What the run refused#
Counted from the frozen record, 1–11 September 2026 — the same source the dashboard reads, so these cannot disagree:
| Reason | Times |
|---|---|
| No exposure | 7,043 |
| No liquidity | 3,792 |
| Below minimum lot | 1,411 |
| Placement failed | 453 |
| Cover too expensive | 385 |
| Would misrepresent | 160 |
| Policy inactive or expired | 4 |
| Given up after three attempts | 7,374 |
Unpriceable exposure#
A separate state, and the one the interface handles most carefully. When the Down book is one-sided there is no price to size against.
- What is true: your position and your policy are unchanged, and your collateral is untouched.
- What Ballast sees: a book it cannot price. The exposure source returns not-priceable rather than a guess.
- What happens next: it waits. The window is retried up to three times, and if the book never forms it is given up with that reason recorded.
The dashboard says unpriceable — the book is one-sided rather than showing a number, and so do these docs: the worked examples on What it is and What it pays refuse to render a table when the live book cannot price one.