DreamDEX runs twelve series at once and quotes a flat 2.9% on every one of them. That is the signature of nobody being on the other side.
The price moves. The pair doesn’t.
Abadi quotes both sides of a DreamDEX event market, keeps one of each when they fill, and collects the difference. It never needs an opinion about the outcome.
Put the price wherever you like. One Up and one Down redeems for exactly one at every price between zero and one, whichever way the market ends up resolving. That is not a hedge that mostly works — it is the settlement rule.
Live from the chain read in your browser, no server of ours
- NAV
- … tUSDC
- Idle
- … tUSDC
- Resting
- … tUSDC
- Per share
- …
block … ·vault on the explorer · refreshes every minute
Where the money comes from zero inventory
buy DOWN at p + s ← the venue quotes both sides Up-side, so this leg escrows 1 − (p + s)
pair costs 1 − s · pair is worth 1 · the difference is s, the spread
No inventory is needed to start. DreamDEX runs one order book, and a Buy Up crossing a Buy Down needs no seller at all — the pool mints a fresh pair out of the two buyers' collateral. So the vault can quote both sides holding nothing, and the spread it earns is the venue's own 2.9%, not a view about which way the price goes.
Who can touch what non-custodial
| Actor | Can | Cannot |
|---|---|---|
| operator | Quote and cancel | Move a single token. The bot key steers prices and has no path to the money |
| governor | Set the operator, risk limits, price grid. Sweep the vault's native STT with sweepNative — ~32.8 STT today, the reserve that pays for the self-wake | Touch depositor collateral. Handover is two-step, so a mistyped address hands the seat to nobody |
| depositor | Deposit and withdraw against ERC-4626 shares | Steer quotes |
| anyone | Settle a resolved market, and merge a pair once the window can no longer trade | Redirect the proceeds — they go to the vault, never the caller |
What has actually run Shannon testnet
- quoteBid became the best bid on the market, and the spread went from 0.030 to 0.025 — the incumbent tightened in response0x3a8b93bb
- fillBoth legs taken. 97.40 paid for 100 Up and 100 Down — a complete set, worth 100.00 either wayon chain
- settleWindow resolved, position redeemed. +100.00 against a 97.60 basis, and NAV did not move a unit across settlement0x60f880ac
- flattenQuote went dead with 11 minutes left, so the pair was merged back to collateral early — no oracle involved0xf2f62521
What this is not yet
A handful of fills proves the mechanism, not an edge. The real risk a maker carries isadverse selection — being filled on one side while the market walks away from the other. It happened to us twice in one afternoon. When it does, the vault is holding a direction, and NAV marks that leg at zero rather than at what it cost, so the loss lands on the people already in and not on whoever deposits next.
Measuring how often it happens needs many quotes across many windows. That is the next thing, not a thing we are claiming. The dashboard has the working, including what went wrong and what it cost.