Skip to content

NAV Settlement Flow

NAV settlement in King's Vault V2 uses a two-step propose-confirm process. It gives the Admin an opportunity to review a proposed valuation before settlement, but does not by itself guarantee protection against flash-loan manipulation, stale inputs, or compromised privileged accounts. The contracts support conditional performance fee minting. The current Performance Fee for Ethereum Network Lending, AAVE GHO Saving, and Hyperliquidity Provider (HLP) is 0%; fee-share minting is inactive when the configured rate is zero.

sequenceDiagram
    participant Keeper
    participant Admin
    participant Controller
    participant Vault
    participant Strategy

    Keeper->>Controller: proposeValues(vault)
    Controller->>Vault: totalSupply()
    Controller->>Vault: idleAssets()
    Controller->>Strategy: totalAssets()
    Controller->>Controller: store pending epoch
    Admin->>Controller: confirmValues(vault, epoch)
    Controller->>Controller: validate epoch and freshness
    Controller->>Controller: promote pending to confirmed
    opt profit, manager configured, and feeRate > 0
        Controller->>Vault: mintFeeSharesOnlyForController(manager, shares)
    end

Propose Values

The Keeper initiates the process by calling proposeValues(vault). The Controller takes a snapshot of the following fields:

Field Source
assets totalStrategyAssets(vault) + IVault(vault).idleAssets()
supply IERC20(vault).totalSupply()
pnlBasis activeBookValue + recalledYield
pnl Absolute difference between totalStrategyAssets and pnlBasis
isProfit totalStrategyAssets >= pnlBasis

The snapshot is only as current and complete as the strategy values it reads. HyperStrategy reports its latest accepted remote state plus relevant local and in-flight balances, not a live cross-chain read. Operators must review state freshness and in-flight transfers before confirming a NAV.

GHO Saving Yield And Valuation

For AAVE GHO Saving, user yield comes from the sGHO base savings rate and is reflected through the sGHO share-to-GHO conversion rate. The rate can change; APY is not fixed.

Strategy accounting remains USDC-denominated and reflects the net USDC recoverable from the underlying position, including applicable estimated Aave/GSM exit costs. Gross GHO value is not treated as immediately withdrawable USDC. King's Vault shares use the same dual-pricing model, so a displayed estimate can differ from the final execution result.

Merit / Merkl rewards are King's Vault protocol income and are excluded from user NAV, APY, and withdrawable value. The Aave/GSM withdrawal costs are separate from the 0% King's Vault Performance Fee.

Confirm Values

The Admin finalizes the settlement by calling confirmValues(vault, epoch).

Check Failure
Proposal is no older than MAX_PROPOSAL_AGE = 1 hours ProposalStale(pendingTimestamp, currentTimestamp)
Epoch equals latest pending epoch and is greater than confirmed epoch EpochMismatch(expected, actual)
Caller has DEFAULT_ADMIN_ROLE AccessControl revert

Performance Fee Shares (Current V2 Portal Rate: 0%)

The Controller supports minting fee shares directly to the manager when the confirmed epoch is profitable, a fee manager is configured, and the fee rate is above 0%. The current V2 portal fee rate is 0%, so no performance fee is charged and no fee shares are minted for the V2 portals documented here.

fee = pnl * feeRate / 1_000_000
shares = supply * fee / (assets - fee)

With feeRate = 0, both fee and shares evaluate to 0.

If the confirmed epoch is a loss (isProfit == false), the Controller reduces the activeBookValue to match the new reality and mints no fee shares.