For the complete documentation index, see llms.txt. This page is also available as Markdown.

NAV

How a fund is valued onchain, and how that valuation becomes the price used to settle requests.

The Net Asset Value (NAV) is the total USD value of all assets held by the fund across every chain. It is the basis for pricing shares and for the amounts exchanged during subscriptions and redemptions.

Each chain has its own NAV Calculator contract, which:

  • Reads the Portfolio Safe's portfolio balances directly from token contracts or via balance adapters (for positions not held as plain ERC-20 tokens).

  • Prices those balances using price feeds (Chainlink, Redstone, API3, or custom composite feeds).

  • Produces a chain-local NAV, normalized to 8 decimals.

An offchain worker aggregates the per-chain NAV values into a single global NAV. This hybrid model combines transparent onchain valuation with consistent multichain accounting. For the full contract reference, see Onchain Accounting.

From NAV to a settlement price

The kpkShares contract does not read NAV itself. Instead, when an operator settles a batch of requests, they pass a share price — the global NAV divided by circulating supply — into processRequests(...). That price is denominated in normalized USD units (8 decimals) and is used to convert between assets and shares for every request in the batch.

After a successful settlement, the contract stores the price as the last settled price for that asset:

The last settled price has two uses:

  • It backs previewSubscription / previewRedemption when callers pass sharesPrice = 0, so integrators can estimate amounts without sourcing a live price (reverts NoStoredPrice if none exists yet).

  • It anchors the price-deviation guard below.

Price-deviation guard

To contain operator error or manipulation, each settlement price is checked against the last settled price for that asset:

If the deviation exceeds 3000 bps (30%), processRequests reverts with PriceDeviationTooLarge. The first settlement for an asset has no prior price and is therefore not checked.

Last updated