
PredictGuard
The PLP risk and hedge workflow for DeepBook Predict. Inspect exposure, stress tail moves, compare hedged outcomes, and preview the PTB that would mint the hedge.
PLP exposure is concentrated in short-dated upside strikes, so an OTM YES hedge reduces the largest simulated tail loss.
PLP exposure and tail-loss risk are scored before recommending a hedge.
PredictGuard selects a side, strike, expiry, and notional for protection.
PTB signing is gated by wallet, manager, coin, oracle, and package inputs.
A wallet-approved Predict mint turns the recommendation into an on-chain position.
Manager inventory is decoded into active, expired, zero, or unknown positions.
- API
- Unavailable
- Predict object
- Unavailable
- Package
- Unavailable
- dUSDC
- Unavailable
- PLP
- Unavailable
- Public Predict server adapter is active.
- Status, vault summary, protocol state, and oracle list are validated with Zod.
- PLP risk simulation still uses deterministic fallback exposure.
- Latest active oracle: N/A
- Quote assets: N/A
- Next step: wire live data into scenario assumptions and PTB builder inputs.
Compares the recommended hedge with the latest wallet-executed Predict position across multiple scenarios.
Execute or load a wallet mint to compare actual hedge impact against the recommendation.
| Scenario | Spot | Unhedged | Recommended | Executed | Executed reduction |
|---|---|---|---|---|---|
| BTC +5% | $73,500 | -389 | -397 | Pending | Pending |
| BTC -5% | $66,500 | 268 | 260 | Pending | Pending |
| BTC +3 sigma | $75,600 | -509 | -417 | Pending | Pending |
| BTC -3 sigma | $64,400 | 198 | 190 | Pending | Pending |
The vault has concentrated short YES exposure near 75,000 for the 15m expiry. Buying a smaller OTM YES binary hedge costs about 8.00 dUSDC and reduces the worst simulated loss by 18.1%.
- The hedge lowers simulated tail loss but reduces retained premium if the tail event does not happen.
- This is a deterministic risk heuristic, not a directional BTC forecast.
Connect a Sui wallet on testnet before building a signable Predict hedge PTB. The wallet owns gas selection; PredictGuard passes the Transaction instance.
- Address
- Unavailable
- Network
- testnet
- dUSDC balance
- Unavailable
- PredictManager
- Unavailable
PredictGuard can build the transaction shape, but keeps execution gated until wallet, coin, manager, and current package signature checks are satisfied.
- Sui wallet connection
- PredictManager object ID
- OracleSVI object ID
- oracle expiry timestamp
- dUSDC coin object ID for manager deposit
- Predict mint signature is aligned with predict-testnet-4-16, but package IDs remain provisional until mainnet.
- Wallet execution is user-gated; the wallet owns gas selection and must confirm before submission.
Execute a Predict mint to compare actual hedge quantity, cost, and coverage against the recommendation.
No local execution history yet. After minting, PredictGuard will estimate manager-side remaining dUSDC from deposited amount and actual mint cost.
No historical PositionRedeemed evidence has been loaded yet. The current active position still needs expiry and settlement checks before live redeem execution.
Preview the DeepBook Predict redeem call shape from decoded manager positions. Signing remains disabled until redeemability checks and a live redeemable test path are verified.
- Target
- 0xf5ea2b3749c65d6e56507cc35388719aadb28f9cab873696a2f8687f5c785138::predict::redeem
- Mode
- owner-redeem
- Oracle status
- Unavailable
- Oracle settled
- Yes
- Vault settled evidence
- unavailable
- Redeemability
- blocked
- Manager
- Unavailable
- Oracle
- Unavailable
- Expiry
- Unavailable
- Position
- Unavailable
- Quantity
- Unavailable
- Lifecycle
- Unavailable
Connect the manager owner wallet to prove owner redeem authority.
No decoded non-zero position candidate is available.
Position quantity is not available.
Expiry is not available from the decoded MarketKey.
No matching oracle summary is loaded for this candidate.
Waiting for vault settled-oracle evidence.
Signing is intentionally disabled until a live redeemable test path is validated.
- PredictManager inventory readback
- decoded non-zero position candidate
- No matching oracle summary was found in the current Predict server snapshot.
- Vault settled-oracle evidence has not been loaded for the candidate position yet.
- Redeem readiness is still read-only. Wallet-signed redeem remains disabled until a live redeemable test path is verified.
- The guard checklist is intentionally stricter than the preview skeleton: it requires wallet ownership, non-zero quantity, expiry, oracle quoteability, and settled-vault evidence when relevant.
- Permissionless redeem uses settled-oracle evidence; owner redeem still needs final guarded transaction validation before signing can be enabled.
Load a decoded manager position before generating a redeem PTB preview.
- 1Connect a Sui testnet wallet.
- 2Load an existing PredictManager for the connected wallet.
- 3Select an active OracleSVI object for the target expiry and strike.
- 4Deposit selected dUSDC into the PredictManager.
- 5Construct a MarketKey with oracle ID, expiry, scaled strike, and direction.
- 6Call predict::mint for YES 100 notional at 75,000.
- 7Keep execution blocked and show the missing inputs before wallet signing.
- 8Refresh Predict server manager, market, and vault data after confirmation.
import { Transaction } from "@mysten/sui/transactions";
const tx = new Transaction();
const predictConfig = {
"network": "testnet",
"apiBaseUrl": "https://predict-server.testnet.mystenlabs.com",
"packageId": "0xf5ea2b3749c65d6e56507cc35388719aadb28f9cab873696a2f8687f5c785138",
"predictObjectId": "0xc8736204d12f0a7277c86388a68bf8a194b0a14c5538ad13f22cbd8e2a38028a",
"dusdcType": "0xe95040085976bfd54a1a07225cd46c8a2b4e8e2b6732f140a0fc49850ba73e1a::dusdc::DUSDC",
"plpType": "0xf5ea2b3749c65d6e56507cc35388719aadb28f9cab873696a2f8687f5c785138::plp::PLP"
};
const [depositCoin] = tx.splitCoins(tx.object(dusdcCoinObjectId), [
tx.pure.u64("2000000"),
]);
tx.moveCall({
target: `${predictConfig.packageId}::predict_manager::deposit`,
typeArguments: [predictConfig.dusdcType],
arguments: [
tx.object(managerObjectId),
depositCoin,
],
});
const marketKey = tx.moveCall({
target: `${predictConfig.packageId}::market_key::new`,
arguments: [
tx.pure.id(oracleObjectId),
tx.pure.u64(oracleExpiryMs),
tx.pure.u64("75000000000000"),
tx.pure.bool(true),
],
});
tx.moveCall({
target: `${predictConfig.packageId}::predict::mint`,
typeArguments: [predictConfig.dusdcType],
arguments: [
tx.object(predictConfig.predictObjectId),
tx.object(managerObjectId),
tx.object(oracleObjectId),
marketKey,
tx.pure.u64("1000000"),
tx.object.clock(),
],
});
// Sizing mode: probe.
// Quote source: none.
// Quote note: No usable ask price is available, so PredictGuard falls back to a fixed small probe quantity.
// Estimated execution cost: 1 dUSDC.
// Split selected dUSDC coin by 2000000 base units before deposit.
// Execution strike: 75,000.
// Wallet flow: pass the Transaction instance to signAndExecuteTransaction.
// Do not set gas budget, gas price, or gas payment in the app.
// This signature is aligned with predict-testnet-4-16:
// mint<Quote>(&mut Predict, &mut PredictManager, &OracleSVI, MarketKey, u64, &Clock).# PredictGuard Risk Report Generated: 2026-06-09T03:30:00.000Z Data source: simulated Spot: 70,000 dUSDC Live Predict server: unavailable ## Summary The vault has concentrated short YES exposure near 75,000 for the 15m expiry. Buying a smaller OTM YES binary hedge costs about 8.00 dUSDC and reduces the worst simulated loss by 18.1%. ## Workflow Status - Risk identification: complete (50/100) - Hedge recommendation: complete - Demo execution side: YES - Demo oracle: N/A - Demo oracle expiry: N/A - Demo sizing mode: probe - Wallet execution: pending - Manager readback: pending - Lifecycle readiness: pending - Redeem evidence: not captured - Redeem history discovery: single evidence fallback - Active position quantity: N/A ## Metrics - TVL: 10,000 dUSDC - Utilization: 42.0% - Risk score: 50/100 - Max payout liability: 1195.00 dUSDC - Worst scenario PnL: -509.00 dUSDC - Largest risk: BTC > 73,000 / 15m ## Live Testnet Context - Live context not loaded in this report render. ## Scenario Results | Scenario | Unhedged PnL | Hedged PnL | Tail-loss reduction | | --- | ---: | ---: | ---: | | BTC +5% | -389.00 | -397.00 | 0.0% | | BTC -5% | 268.00 | 260.00 | 0.0% | | BTC +3 sigma | -509.00 | -417.00 | 18.1% | | BTC -3 sigma | 198.00 | 190.00 | 0.0% | | Vol spike | 397.90 | 389.90 | 0.0% | | Near-expiry upside shock | -82.00 | -90.00 | 0.0% | ## Executed Stress Comparison - Source: latest-wallet-execution - Executed hedge: N/A - Worst unhedged PnL: -509 dUSDC - Worst executed PnL: N/A - Worst-case improvement: N/A | Scenario | Unhedged | Recommended | Executed | Executed reduction | | --- | ---: | ---: | ---: | ---: | | BTC +5% | -389.00 | -397.00 | N/A | N/A% | | BTC -5% | 268.00 | 260.00 | N/A | N/A% | | BTC +3 sigma | -509.00 | -417.00 | N/A | N/A% | | BTC -3 sigma | 198.00 | 190.00 | N/A | N/A% | | Vol spike | 397.90 | 389.90 | N/A | N/A% | | Near-expiry upside shock | -82.00 | -90.00 | N/A | N/A% | ## Hedge Recommendation Buy 100 YES notional at strike 75,000 for expiry 15m. Estimated cost: 8.00 dUSDC. ## On-Chain Execution ### Sizing Evidence - Sizing mode: probe - Quote source: none - Quote freshness: unavailable - Ask price input: N/A - Quote note: No usable ask price is available, so PredictGuard falls back to a fixed small probe quantity. - No wallet-signed Predict mint has been executed in this browser session. - Latest verified testnet evidence is tracked in the project evolution log. ## Manager / Account Summary - Direct manager inventory readback not loaded. - No local manager execution history available. ## Settlement Accounting - Status: no-manager - Explanation: Manager inventory has not been loaded yet. - Total positions: 0 - Active positions: 0 - Expired positions: 0 - Zero-quantity positions: 0 - Redeemed positions with linked evidence: 0 - Positions missing evidence: 0 - Minted quantity: 0 dUSDC - Mint cost: 0 dUSDC - Current quantity: 0 dUSDC - Redeemed quantity: 0 dUSDC - Redeemed payout: 0 dUSDC - Claimed payout: 0 dUSDC - Unclaimed payout: Unknown - Realized hedge PnL: N/A - Unresolved quantity: 0 dUSDC - External executor redeems: 0 - Accounting scope: none - Note: full settlement accounting uses bounded discovered redeem history plus local mint history. It is stronger than a single digest, but still not a production indexer. ### Redeem History Discovery - Redeem history discovery did not run; report is using single evidence fallback. ## Lifecycle / Redeem Evidence - No PositionRedeemed evidence has been captured in this browser session. - Current lifecycle readiness is read-only and based on manager position status. ### Redeem PTB Preview - Target: 0xf5ea2b3749c65d6e56507cc35388719aadb28f9cab873696a2f8687f5c785138::predict::redeem - Mode: owner-redeem - Readiness: blocked - Signing enabled: no - Position: N/A N/A - Quantity: N/A - Lifecycle: N/A - Oracle status: N/A - Oracle matched: no - Oracle quoteable evidence: no - Oracle settled evidence: yes - Vault settled evidence: unavailable - Redeemability: blocked - Manager: N/A - Oracle: N/A - Guard Wallet owns manager: pending - Connect the manager owner wallet to prove owner redeem authority. - Guard Redeem candidate: pending - No decoded non-zero position candidate is available. - Guard Non-zero quantity: pending - Position quantity is not available. - Guard Expiry reached: pending - Expiry is not available from the decoded MarketKey. - Guard Oracle quoteable: pending - No matching oracle summary is loaded for this candidate. - Guard Vault settled evidence: pending - Waiting for vault settled-oracle evidence. - Guard Wallet signing: pending - Signing is intentionally disabled until a live redeemable test path is validated. - Evidence note: No matching oracle summary was found in the current Predict server snapshot. - Evidence note: Vault settled-oracle evidence has not been loaded for the candidate position yet. - Missing: PredictManager inventory readback, decoded non-zero position candidate - Note: redeem preview is intentionally read-only until redeemability checks and live validation are complete. ## Assumptions - Sample data is deterministic and simulated for the first demo path. - Binary YES pays when settlement is above strike; NO pays when settlement is at or below strike. - Vol spike scenario uses a simplified mark-to-market stress, not a full SVI repricing engine. - Hedge selection is a risk reduction heuristic, not financial advice or a profit guarantee.