Skip to content
Docs

Concepts

Prices

The Pyth feeds behind NAV, budgets and windows.

Where Pyth prices are used

Nod uses two Pyth prices for every valuation: the asset in US dollars and USDC in US dollars. Dividing one by the other gives the asset's value in USDC, so a fund's NAV doesn't assume USDC is worth exactly one dollar.

They value:

  • the fund at every deposit, redemption, NAV update and swap inside the budget;
  • the notional of every proposal, which sets its window;
  • the notional of every swap inside the budget, which counts against the budget.

Decisions themselves use no outside price: they use their own pools' prices.

What the program accepts

Every price is read from a Pyth Receiver account and checked on chain:

  • the account belongs to the Pyth Receiver program and is fully verified by Wormhole guardians;
  • its feed is the one registered for the asset, or the USDC/USD feed fixed in the configuration;
  • the price is positive and not later than the chain's clock;
  • it is no older than the configuration's oldest price accepted;
  • its confidence interval is within the configuration's widest confidence, as a share of the price.

A transaction that needs a price that fails any check is refused, and nothing changes.

Which accounts

The app reads Pyth's sponsored push feeds: one account per feed, derived from the feed ID the protocol stores. The asset's feed ID is set when the asset is registered; the USDC/USD feed ID is set once, in the configuration. A deployment can name other authenticated price accounts instead.