Skip to content

Flow Specifications

This section documents every operational flow in the Vault-K-NO system as precise step-by-step sequences.

Flow Index

Flow Trigger Caller
Deposit Investor deposits USDC Investor
Withdrawal Investor redeems shares Investor + Keeper
Position Entry Capital deployed into new market Operator
Mark Settling Market resolved — mandatory transition before closePosition Operator
Position Settlement Market resolves NO (success) — requires SETTLING status Operator
Write-Off Market resolves YES (loss) — callable from ACTIVE or SETTLING Operator
Capital Rollover Settled capital redeployed into new market Operator
Rebase Market probability shifts adversely Operator
Emergency Liquidation System paused, reserve depleted, no other option Operator

Flow Interaction Map

Investor ──────── deposit() ──────────────────────► idleReserve increases
Investor ──────── requestWithdraw() ──────────────► queue entry
Keeper   ──────── processWithdrawals() ───────────► USDC out, shares burned
                                                     fee → HouseBuffer

Operator ──────── openPosition() ─────────────────► idleReserve decreases
                                                     MarketAdapter acquires NO shares
                                                     Slot → ACTIVE, accrual begins

Operator ──────── markSettling() ─────────────────► Slot → SETTLING
                                                     Gap on slot collapses to zero
                                                     Linear accrual frozen

Operator ──────── closePosition() ────────────────► Settlement USDC → idleReserve
                                                     Slot → EMPTY (requires SETTLING)

Operator ──────── writeOff() ─────────────────────► Slot → WRITTEN_OFF
                                                     NAV drops (full drop from ACTIVE,
                                                     small drop from SETTLING)

Operator ──────── reclaimSlot() ──────────────────► Slot → EMPTY (reusable)

Operator ──────── rebasePosition() ───────────────► Entry price lowered (ACTIVE only)
                                                     Accrual restarts from new base

Operator ──────── emergencyLiquidate() ───────────► NO shares sold at market
                                                     USDC → idleReserve
                                                     System may unpause