← all findings
medium SHARE_COUNT_MISREPORT

SPY: balanceOf() is 1.001717991x away from share-equivalents

subject SPY (0x117cc2133c37B721F49dE2A7a74833232B3B4C0C) · methodology assay-rh-v0.2.0 · detected 2026-09-21T20:48:14.000Z

SPY reports uiMultiplier() = 1001717991187472003 (1.001717991). Under ERC-8056 a corporate action moves this multiplier rather than balances, so balanceOf() returns tokens, not share-equivalents. Share-equivalents = balance * uiMultiplier() / 1e18. Any surface presenting balanceOf() as a share count understates it by 0.1715% (the true count is 1.0017x the raw balance). Token value computed as balance * Chainlink feed price is unaffected, because the feed is already multiplier-adjusted.

Impact
17.18 bps · 0.1715%
totalSupply raw 27545.5999 tokens vs 27592.9230 share-equivalents (delta 47.3231). Presenting the raw balance as a share count understates by 0.1715%; equivalently the true count is 1.0017x the raw.
Evidence — 2/2 citations re-fetched and byte-compared
mismatched 0 · pruned 0 · verified 2026-09-21T20:48:22.919Z
uiMultiplier() == 1001717991187472003
chain 4663 · block 69096116 · uiMultiplier()
0x117cc2133c37B721F49dE2A7a74833232B3B4C0C
0x0000000000000000000000000000000000000000000000000de6d134a5d8de83
totalSupply() == 27545599852230000000000
chain 4663 · block 69096116 · totalSupply()
0x117cc2133c37B721F49dE2A7a74833232B3B4C0C
0x0000000000000000000000000000000000000000000005d53ffd62c2a5a43c00