Reference
Addresses, chain details, the engine set, links to every document these pages are drawn from, and the vocabulary they use.
Contracts#
| Contract | Address | Role |
|---|---|---|
| BallastVault | 0x9BC43B97c9…89fe63 | Custody: collateral, policies, reservations |
| HedgeEngine | 0xFE72505096…aC157c | Trader of record: subscribes, sizes, buys, settles |
| SpotExposureSource | 0x83923535ff…9C949a | Measures what an account holds on the venue |
| dreamDEX binary module | 0x3ecC694Cef…29e388 | Emits MarketCreated; the subscription's source |
| Oracle hub | 0xe40db387cC…6dE32b | Resolves the questions markets settle against |
| tUSDC | 0x70a86D8842…B25d8E | Collateral token, 6 decimals |
| Demonstration account | 0x7caEb6fc66…8AEd96 | The account whose history the dashboard shows |
Chain and RPC#
| Network | Somnia Shannon testnet |
| Chain ID | 50312 |
| RPC | https://dream-rpc.somnia.network/ |
| Explorer | https://shannon-explorer.somnia.network |
| Collateral | tUSDC, 6 decimals |
| Gas token | STT, 18 decimals |
testnet.somniascan.io appears in some hackathon material and does not resolve — a DNS failure rather than a 404. The explorer above is the working one.Policy bounds#
The load-line slider on Policy offers 0.50% to 5.00%. That range is a convention of the interface, not a guarantee of the contract. Anything calling setPolicy directly is bound only by what the vault enforces, which is wider:
| Parameter | Enforced on chain | Offered by the slider |
|---|---|---|
| Make-whole point | 1 – 10,000 bps (0.01% – 100%). Zero reverts with MakeWholeOutOfRange — a zero dial is not a paused policy, and revoke() is how you pause. | 50 – 500 bps |
| Premium ceiling | 0 – 10,000 bps. Zero is legal and means no cover will ever clear the check. | Free entry |
| Expiry | At least MIN_POLICY_DURATION ahead — 60 seconds. Anything sooner reverts with PolicyDurationTooShort. | Days ahead |
| Notional cap | Any uint256; unbounded. | Free entry |
The narrower slider range is a judgement about what is useful, not about what is permitted: above roughly 5% the premium required to make a position whole grows faster than most books can fill. The contract does not stop you, and this page says so rather than implying a protection that is not there.
The engine set#
The vault approves a set of engines rather than one, so a redeploy strands nothing: a retired engine can still settle cover it opened. See How it works.
| Engine | Status |
|---|---|
| 0xFE72505096…aC157c | Live — the current deployment |
| 0x8ff0587048…845f13 | Retired — still able to settle what it opened |
| 0x9cf2fBC0C2…801581 | Retired — still able to settle what it opened |
| 0xB095Aacf9D…f053b0 | Retired — still able to settle what it opened |
| 0x9026b93dc2…03a115 | Retired — still able to settle what it opened |
| 0x234520a826…22945A | Retired — still able to settle what it opened |
Source documents#
These pages are a presentation of documents that live in the repository, and those documents remain the source of truth.
- README — the project in one page.
- instrument-economics.md — the strike finding, the payoff, the frequency arithmetic.
- onchain-lifecycle.md — the on-chain path, with hashes.
- phase0-findings.md — what was verified about the venue before any of this was built.
- latch-sweep.md — every piece of state, and what clears it.
- somnia-feedback.md — the findings, written for the chain team.
- run-record.json — 80,658 events, 1–11 September 2026, as captured JSON.
Glossary#
| Term | Meaning |
|---|---|
| Window | One Event Contract period — the interval between a market opening and settling. As short as sixty seconds, as long as twenty-four hours. |
| Strike | The price the outcome is measured against. On this venue it is always the window's opening price, so every market is at-the-money. |
| Load line | What you set: how deep a fall you want made whole. It moves the break-even, not the payoff's kink. |
| Make-whole point | The depth of fall at which the cover's net payout exactly equals the position's loss. The same thing as the break-even. |
| Break-even | Where net is zero. One depth, not a range — see What it pays. |
| Basis risk | The gap between a fixed payout and a realised loss. Inherent to parametric cover and not engineerable away on this instrument. |
| Parametric cover | A fixed payout on a trigger, rather than reimbursement of an actual loss. The same class as flight-delay or crop cover. |
| Cover price q | What one Down contract costs, between 0 and 1. It is the market's own probability that the price closes down. |
| Achieved versus requested | Requested is the make-whole point you asked for; achieved is what the book actually allowed. Where they differ, something bound the size. |
| Degraded | A purchase that filled at less cover than requested. Recorded on the position rather than hidden, so the shortfall is visible. |