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

Calculate share price

Derive slippage minimums and the current share price, on-chain or via the JSON API.

When subscribing or redeeming you must supply a slippage minimum (minSharesOut / minAssetsOut). This page shows the easiest way to derive those, plus how to read the current share price directly.

Definition

A fund's share price is the sum of NAVs across all chains where it holds portfolio Safes, divided by the total circulating share supply (adjusting for decimals).

Easiest path: preview functions

The shares contract can compute the result of a request for you at the fund's last settled price — no need to source NAV yourself. Pass sharesPrice = 0 to use the last settled price:

function previewSubscription(uint256 assets, uint256 sharesPrice, address subscriptionAsset)
    external view returns (uint256 shares);   // shares before fees

function previewRedemption(uint256 shares, uint256 sharesPrice, address redemptionAsset)
    external view returns (uint256 assets);    // assets AFTER the redemption fee

Take the returned value and apply your slippage tolerance — see Subscription request and Redemption request for full examples. If the fund has never settled a price for that asset, the call reverts with NoStoredPrice.

The raw last settled price (8-decimal USD) is also readable directly:

function getLastSettledPrice(address asset) external view returns (uint256);

Current share price

For display — or to price against a fresher value than the last settlement — fetch the NAV and total supply. There are two routes.

The Data Indexer aggregates multi-chain NAV into a single, up-to-date value, so you don't have to query every chain and sum yourself.

Share price = nav.usd / supply.totalSupply, adjusting for decimals.

Onchain

Read NAV from each chain's NAV Calculator and divide by the shares contract's totalSupply(). The NAV Calculator returns USD with 8 decimals (usdDecimals()); pass address(0) as the quote asset for USD.

Only use a complete reading

NAV Calculator

Last updated