rwa_multichain.nav records verified onchain value updates for tokenized RWAs. Grain: one row per update event, keyed on unique_key. Use it to inspect publication history and source semantics. For cross-chain AUM and point-in-time valuation, start with rwa_multichain.prices.
Why NAV rather than market price
A tokenized money-market fund does not have a meaningful market price — it has a net asset value published by its issuer or an oracle. Most tokenized RWAs either barely trade onchain or trade at a price pinned to NAV. This table reads NAV directly from the verified onchain source contract for each asset, so USD valuations do not depend on there being a liquid market. For assets that also trade as ordinary crypto tokens,prices.day and prices.hour remain the right source for market price.
Table schema
Use
usd_price with value_kind and price_basis. usd_nav_price remains for backward compatibility, but not every source is an accounting NAV. quote_currency records the source quote; usd_price is normalized to USD.Use nav_intervals for point-in-time joins
Because this table holds discrete events, valuing a balance or transfer from it means finding the most recent update at or before a given timestamp — a correlated subquery or a window function.nav_intervals precomputes exactly that as valid_from / valid_to ranges for source-level NAV analysis. Prefer prices for cross-chain activity joins; use nav when you want the update events themselves, for example to measure publication frequency or detect a stale feed.
Address representation differs by chain
The common EVM join converts native bytes to lowercase 0x hex:token_id as UTF-8 bytes, so use from_utf8(asset_address). Sui stores native package bytes. Use prices whenever you need one cross-chain join on (blockchain, token_id).