Simulated market data
PredictGuard logo

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.

BTC spot
$70,000
PLP TVL
10,000 dUSDC
Utilization
42.0%
Risk score
50/100
PLP Overview
Max payout liability
1195 dUSDC
Worst scenario PnL
-509 dUSDC
Largest risk strike
$73,000 / 15m
Available liquidity
5,800 dUSDC
Recommended Action

PLP exposure is concentrated in short-dated upside strikes, so an OTM YES hedge reduces the largest simulated tail loss.

Buy 100 YES notional
Strike $75,000 · Expiry 15m · Cost 8.00 dUSDC
Demo Flow
DeepBook Predict Testnet
Checking live testnet
Risk model mode: simulated fallback
Server status
Checking
Checkpoint lag
N/A
Live vault value
N/A
Live utilization
N/A
Active BTC oracles
N/A
Live max payout
N/A
Official testnet config
API
Unavailable
Predict object
Unavailable
Package
Unavailable
dUSDC
Unavailable
PLP
Unavailable
Mixed data context
  • 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.
Exposure Heatmap
66,000
68,000
70,000
72,000
73,000
75,000
15m
0
78
92
122
175
58
30m
0
96
104
118
132
0
60m
70
0
88
0
0
62
Exposure Breakdown
$73,000 / 15m
175 dUSDC
YES 175NO 0
$73,000 / 30m
132 dUSDC
YES 132NO 0
$72,000 / 15m
122 dUSDC
YES 122NO 0
$72,000 / 30m
118 dUSDC
YES 118NO 0
$70,000 / 30m
104 dUSDC
YES 104NO 0
Volatility Surface
66,000
68,000
70,000
72,000
73,000
75,000
15m
44.2%
43.1%
42.0%
43.1%
43.7%
44.8%
30m
47.7%
46.6%
45.5%
46.6%
47.2%
48.3%
60m
51.2%
50.1%
49.0%
50.1%
50.7%
51.8%
Loading chart
Scenario Simulator
BTC +5% Result
Scenario spot
$73,500
Unhedged PnL
-389 dUSDC
Hedged PnL
-397 dUSDC
Tail-loss reduction
0.0%
Loading chart
Executed stress comparison

Compares the recommended hedge with the latest wallet-executed Predict position across multiple scenarios.

Worst unhedged
-509 dUSDC
Worst executed
Pending

Execute or load a wallet mint to compare actual hedge impact against the recommendation.

ScenarioSpotUnhedgedRecommendedExecutedExecuted reduction
BTC +5%$73,500-389-397PendingPending
BTC -5%$66,500268260PendingPending
BTC +3 sigma$75,600-509-417PendingPending
BTC -3 sigma$64,400198190PendingPending
Hedge Recommendation

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%.

Unhedged max loss
-509 dUSDC
Hedged max loss
-417 dUSDC
Reduction
18.1%
Tradeoffs
  • 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.
PTB Preview
Wallet readiness

Connect a Sui wallet on testnet before building a signable Predict hedge PTB. The wallet owns gas selection; PredictGuard passes the Transaction instance.

Loading wallet
Address
Unavailable
Network
testnet
dUSDC balance
Unavailable
PredictManager
Unavailable
Execution readiness

PredictGuard can build the transaction shape, but keeps execution gated until wallet, coin, manager, and current package signature checks are satisfied.

Preview ready
Missing inputs
  • Sui wallet connection
  • PredictManager object ID
  • OracleSVI object ID
  • oracle expiry timestamp
  • dUSDC coin object ID for manager deposit
Guardrails
  • 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.
Loading wallet execution
Execution-adjusted risk

Execute a Predict mint to compare actual hedge quantity, cost, and coverage against the recommendation.

Manager/account summary

No local execution history yet. After minting, PredictGuard will estimate manager-side remaining dUSDC from deposited amount and actual mint cost.

Redeem evidence readback

No historical PositionRedeemed evidence has been loaded yet. The current active position still needs expiry and settlement checks before live redeem execution.

Redeem PTB preview

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.

Blocked
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
Guarded redeem readiness
Wallet owns manager

Connect the manager owner wallet to prove owner redeem authority.

pending
Redeem candidate

No decoded non-zero position candidate is available.

pending
Non-zero quantity

Position quantity is not available.

pending
Expiry reached

Expiry is not available from the decoded MarketKey.

pending
Oracle quoteable

No matching oracle summary is loaded for this candidate.

pending
Vault settled evidence

Waiting for vault settled-oracle evidence.

pending
Wallet signing

Signing is intentionally disabled until a live redeemable test path is validated.

pending
Missing preview inputs
  • PredictManager inventory readback
  • decoded non-zero position candidate
Evidence and guardrails
  • 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.
  1. 1Connect a Sui testnet wallet.
  2. 2Load an existing PredictManager for the connected wallet.
  3. 3Select an active OracleSVI object for the target expiry and strike.
  4. 4Deposit selected dUSDC into the PredictManager.
  5. 5Construct a MarketKey with oracle ID, expiry, scaled strike, and direction.
  6. 6Call predict::mint for YES 100 notional at 75,000.
  7. 7Keep execution blocked and show the missing inputs before wallet signing.
  8. 8Refresh Predict server manager, market, and vault data after confirmation.
Sui SDK Transaction
Target
0xf5ea2b3749c65d6e56507cc35388719aadb28f9cab873696a2f8687f5c785138::predict::mint
Oracle
Unavailable
Oracle expiry
Unavailable
Manager
Unavailable
dUSDC coin
Unavailable
Execution strike
75,000
Strike scaled
75000000000000
Sizing mode
probe
Quote source
none
Quote freshness
unavailable
Estimated cost
1 dUSDC
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).
Risk Report
# 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.