← all findings
low CROSS_SURFACE_PRICE_MIX

NVDA: off-chain share price and on-chain token price differ by 0.078%

subject NVDA (0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC) · methodology assay-rh-v0.2.0 · detected 2026-09-21T20:56:31.000Z

The Chainlink feed returns a multiplier-adjusted TOKEN price (227.3061), while Robinhood's REST /prices endpoint returns the RAW UNDERLYING share price (mid 226.9500). These are different quantities related by uiMultiplier(): underlying x 1.000775159 = 227.1259 (residual 0.079%, attributable to bid/ask spread and quote timing). Valuing balanceOf() with an off-chain share price, or computing a premium/discount between an on-chain token price and an off-chain share price, produces a phantom error of 0.078%.

Impact
7.75 bps · 0.0775%
feed 227.3061 vs underlying-mid 226.9500 x multiplier 1.000775159 = 227.1259
Evidence — 2/2 citations re-fetched and byte-compared
mismatched 0 · pruned 0 · verified 2026-09-21T20:56:39.614Z
uiMultiplier() == 1000775159164630595
chain 4663 · block 69101039 · uiMultiplier()
0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC
0x0000000000000000000000000000000000000000000000000de377b4760af643
latestRoundData().answer == 22730606190
chain 4663 · block 69101039 · latestRoundData()
0x379EC4f7C378F34a1B47E4F3cbeBCbAC3E8E9F15
0x0000000000000000000000000000000000000000000000010000000000000432000000000000000000000000000000000000000000000000000000054ad9866e000000000000000000000000000000000000000000000000000000006ab18a8b000000000000000000000000000000000000000000000000000000006ab18a980000000000000000000000000000000000000000000000010000000000000432
Off-chain inputs — NOT covered by the byte-verified guarantee
The citations above are re-fetched from chain state and byte-compared. The values below cannot be, because they do not live on chain. They are listed so you can tell the difference.
underlying share bid/ask used for the mid 226.9500 (not multiplier-adjusted)
fetched 2026-09-21T20:56:35.865508472Z
https://api.robinhood.com/rhj/prices/NVDA