web3wagmi
← All standards

ERC-8330 Subject-Linked NAV Snapshot Oracle

ReviewERCcreated 2026-07-05requires ERC-165

Defines subject-linked NAV streams with provider attribution, corrections, invalidation, staleness, and aggregation

Authors: Chris Turner, David Hay (@david-hay), Reagan Simpson (@krumg111), Collins Musyimi (@Musyimi97)

ERC-165 interface ids

Computed here as the XOR of the selectors each interface defines.

INAVSnapshotOracle0x6dd5275b
INAVAggregation0x9835ada2

Functions this standard introduces (24)

0xb39dcaa0aggregatedNAV(bytes32,bytes32)view
0xcdfaf975currentSnapshotIndex(bytes32,bytes32,uint256)view
0x474920a0deviationThreshold(bytes32,bytes32)view
0xb30a6ebfgetSnapshot(bytes32,bytes32,uint256)view
0xe798ab25heartbeat(bytes32,bytes32)view
0x1e99ab55invalidateSnapshot(bytes32,bytes32,uint256,bytes32)
0x3a900c95isSnapshotCurrent(bytes32,bytes32,uint256)view
0xca79c9f5isSnapshotInvalidated(bytes32,bytes32,uint256)view
0x7fbc65belatestAggregationTimestamp(bytes32,bytes32)view
0xdc6b17d3latestNAV(bytes32,bytes32)view
0xd8c7e1cdlatestNAVByProvider(bytes32,bytes32,address)view
0x2b4a9247latestNAVStatus(bytes32,bytes32)view
0x66f1c4eemaxValuationAge(bytes32,bytes32)view
0xf3ee3b2fproviderSnapshotAt(bytes32,bytes32,address,uint256)view
0x15443fd4providerSnapshotCount(bytes32,bytes32,address)view
0x42a5e9efproviderSubmissionAt(bytes32,bytes32,uint256)view
0xfa698ee6providerSubmissionCount(bytes32,bytes32)view
0x001ffb8dpublishNAV(bytes32,bytes32,bytes32,int256,uint8,uint64,bytes32,string,uint256)
0xcf0e9683quorum(bytes32,bytes32)view
0x649fd396setAggregationConfig(bytes32,bytes32,uint256,uint256)
0xea527742setNAVBasis(bytes32,bytes32,bytes32)
0xb475f53bsetStalenessConfig(bytes32,bytes32,uint64,uint64)
0x5ca5c864snapshotCount(bytes32,bytes32)view
0xb7ed605dstreamNAVBasis(bytes32,bytes32)view

Events (6)

Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.

0xd3daa09ea27a8df8d428ccd9167a2a26eba8bfb9c97899976cd6fa92e991afe0NAVPublished(bytes32,bytes32,address,uint256,int256,uint8,bytes32,uint64,bytes32,uint256)
0xe7b01340d52a7ed30662bbb2894acab76169cb0b7dae143adb61f24bd793b4beStalenessConfigUpdated(bytes32,bytes32,uint64,uint64)
0xed6f2bb89efe4a91d76ffeb9d5f3a7ea807d4549ab4ed4b9e7875c27d84c8cc4NAVBasisConfigured(bytes32,bytes32,bytes32)
0x5387f5c49557fa4b0414467752bcf0348989790e4477ff7990f4c2b00c62d111NAVSnapshotInvalidated(bytes32,bytes32,address,uint256,address,bytes32)
0x044397d5271f36b2d252d606162f05251f0fed8e307e6bcb072cc4accddb89a2NAVDeviationDetected(bytes32,bytes32,uint64,int256,int256,uint256)
0xa0460ca4c86786744389e49738602c0b89a91de22673d6e476999480110420c9AggregationConfigUpdated(bytes32,bytes32,uint256,uint256)

Depends on (1)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion