The three augmentations
| Layer | Predict provides | DarkPool adds |
|---|---|---|
| Markets | Price-only via OracleSVI | Templated per-market YES/NO Move packages trading on DeepBook V3 pools, plus oo_resolution for non-price questions (30-min auto-finalize) |
| Privacy | Public positions | DarkPoolVault. Pooled V3 BalanceManager (k-anonymity), live on testnet with a TradeCap keeper loop |
| Agents | None | TradeAgent registry + TradeCap delegation (no withdrawal rights) + native LLM mode |
| Settlement | Per-user redeem | Auto-settle keeper + settlement::distribute_fees (1% protocol / 0.5% resolver / 0.5% creator) |
| Backend | Predict server REST | @darkpool/server. Indexer to Postgres, quote poller to Redis + WS push, write-on-tx confirm |
| Frontend | None | React + Vite app with live Pyth ticker, TradingView chart, strike book, event markets, mark-to-market positions, agent fleet view, profile P&L |
What the V3 pivot bought us
The v0.3 thesis is that DeepBook V3 is the trading engine for everything:| Layer | Job | DeepBook primitive |
|---|---|---|
Price markets (/markets) | BTC up/down strikes | DeepBook Predict (existing) |
Event markets (/markets Events tab) | YES/NO binaries on anything | DeepBook V3 pools (per-market Pool<YES,DUSDC> + Pool<NO,DUSDC>) |
Dark-pool vault (/dark-pool) | Position privacy | DeepBook V3 BalanceManager held by the vault |
AI agents (/agents) | Key-less delegated trading | DeepBook V3 TradeCap |
Full system
On-chain layering
Sui-unique advantages
- Atomic PTB settlement. Pyth price update + OracleSVI settle + position redemption + fee distribution in one transaction.
- TradeCap delegation. Agents trade without withdrawal rights via DeepBook V3’s existing capability pattern.
- Move-native Optimistic Oracle. Bond-backed propose/dispute on-chain, settles in minutes.
- PLP share-based liquidity. AI agents act as 24/7 vault suppliers.
Phase tracker
Invariants
- Attribution.
predict_facade::attribute_*is wired into the resolver’s settlement PTB andscripts/supply-plp.ts. Frontend and agent-service mints are unattributed. - Predict pin.
predict-testnet-4-16. Never referencemain. - Env.
.envis gitignored,.env.exampleis the schema, zod throws on missing required vars. - Binary market = one Move publish. Slug must match
/^[a-z0-9_]+$/. Registry on disk is authoritative. - DUSDC is the only quote asset Predict accepts:
0xe95040…::dusdc::DUSDC. agent::pauseandresumeemit no events. Authoritative source issui.getObject(TradeAgent).is_active.