Share Value

Core Concepts

The Onyx valuation system is designed to aggregate diverse positions into a single value.

Positions

Positions are totally arbitrary and can be:

  • on-chain (e.g., ERC20 tokens, NFT, RWA)

  • off-chain (e.g., bank account balance, real estate appraisal)

  • cross-chain

  • on EVM chain or non-EVM chain

  • debts (e.g., pro-rata management costs)

  • credits (e.g., pro-rata rewards)

Value

Value is ALWAYS quoted:

  • in the "value asset" (e.g., "USD") set in Shares

  • with 18-decimal precision (e.g., 1e18 = $1)

Share Value vs Share Price

The system distinguishes between two related but different concepts:

Share Value: The net value per share, inclusive of all positions and fees

Share Price: The issuance rate for deposits and redemptions, which may include premiums, discounts, or other repricing behavior

Generally, share value and share price are the same, except where value is 0, in which case price defaults to one unit of the value asset (i.e., 1e18).

Timestamps

Share value and share price include a timestamp indicating when the calculation was performed. It is then the responsibility of consumers to assess the staleness of the timestamp.

Share Value Calculations

Value calculations are handled by ValuationHandler.

There are three categories of value that are aggregated:

  1. Tracked positions: holdings or liabilities that are explicitly added to ValueInterpreter via IPositionTracker instances. These are automatically reported during share value updates.

  2. Untracked positions: any holdings or liabilities not added as (1). These are self-reported during share value updates.

  3. Unclaimed fees: any fees that have been assessed but not transferred to the recipient

Basic formula

value = tracked positions + untracked positions - unclaimed fees

share value = value / total shares

Share Value Update Flow

See Share Value Update

Last updated

Was this helpful?