How the NAV
Oracle Works
Multiple authorised providers independently publish NAV snapshots for the same asset. The oracle aggregates them into a tamper-resistant median, tracks deviation across providers, and flags staleness when data grows old.
Diagram — multi-provider NAV publishing
Each authorised provider independently calls publishNAV() with their own valuation and methodology hash. Every snapshot is an append-only on-chain record assigned a sequential index.
Diagram — median aggregation
Provider snapshots sharing the same valuation timestamp are sorted and their median is taken. Deviation in basis points (bps) measures how far the furthest provider sits from the median — a quality signal for consumers.
Diagram — staleness classification
Each subject/currency pair has a staleness config with two thresholds. A heartbeat flags missing provider publishes. A maxValuationAge flags data whose underlying valuation is too old to trust.
Live smart contract · Ethereum Sepolia
Stores NAV snapshots per subject, currency, and basis. Computes median aggregations on-demand from provider snapshots sharing the same valuation timestamp. Staleness configs are configurable per pair.
Contract Address · Sepolia
0xE6a1B2c4D8f0A3e7C5b9D2f4A6c8E0b1D3f5A7c9A median of independent providers cannot be manipulated by a single bad actor — at least half must agree.
Deviation in basis points is published alongside the median, letting consumers judge provider consensus quality.
Configurable heartbeat and valuation age thresholds classify each NAV as FRESH, HEARTBEAT_STALE, or VALUATION_STALE.