← all findings
low CROSS_SURFACE_PRICE_MIX

GOOGL: off-chain share price and on-chain token price differ by 0.019%

subject GOOGL (0x2e0847E8910a9732eB3fb1bb4b70a580ADAD4FE3) · methodology assay-rh-v0.2.0 · detected 2026-09-21T20:52:21.000Z

The Chainlink feed returns a multiplier-adjusted TOKEN price (354.9037), while Robinhood's REST /prices endpoint returns the RAW UNDERLYING share price (mid 355.6600). These are different quantities related by uiMultiplier(): underlying x 1.000193924 = 355.7290 (residual -0.232%, 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.019%.

Impact
1.94 bps · 0.0194%
feed 354.9037 vs underlying-mid 355.6600 x multiplier 1.000193924 = 355.7290
Evidence — 2/2 citations re-fetched and byte-compared
mismatched 0 · pruned 0 · verified 2026-09-21T20:52:34.124Z
uiMultiplier() == 1000193924414112587
chain 4663 · block 69098551 · uiMultiplier()
0x2e0847E8910a9732eB3fb1bb4b70a580ADAD4FE3
0x0000000000000000000000000000000000000000000000000de167133335034b
latestRoundData().answer == 35490365690
chain 4663 · block 69098551 · latestRoundData()
0xF6f373a037c30F0e5010d854385cA89185AE638b
0x000000000000000000000000000000000000000000000001000000000000032b00000000000000000000000000000000000000000000000000000008436400fa000000000000000000000000000000000000000000000000000000006ab18cea000000000000000000000000000000000000000000000000000000006ab18cf6000000000000000000000000000000000000000000000001000000000000032b
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 355.6600 (not multiplier-adjusted)
fetched 2026-09-21T20:52:30.608463617Z
https://api.robinhood.com/rhj/prices/GOOGL