Skip to content

rwa-yield: fix USDY probe (OndoOracle read, no more bridge-burn false negative) - #1369

Merged
Flotapponnier merged 1 commit into
devfrom
feat/rwa-yield-usdy-oracle-fix
Jul 24, 2026
Merged

rwa-yield: fix USDY probe (OndoOracle read, no more bridge-burn false negative)#1369
Flotapponnier merged 1 commit into
devfrom
feat/rwa-yield-usdy-oracle-fix

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Fixes the -9% USDY row on bench 089.

Before: totalSupply(now) - totalSupply(30d) → negative because ETH-side supply shrinks as holders migrate to Solana. Yield = -901 bps.

After: OndoOracle.getAssetPrice(USDY) → oracle NAV grows monotonically with rebase, independent of bridge/subscription flow. Yield = 349 bps.

Uses the same OndoOracle contract (`0x9Cad45a8BF0Ed41Ff33074449B357C7a1fAb4094`) and same helper (`readAavePriceOracleNAV`) already used by OUSG. USDY is registered there.

Live from VPS

Token Delivered 30d Promised Deviation
USTB 354 352 +2
USDY 349 355 -6 (was -1256)
OUSG 335 350 -15
SyrupUSDC 485 482 +3

Full cohort now tracks within ±20 bps. Bench 089 is presentable.

Also refactors 3 shared helpers (`blockOffsetBySeconds`, `annualizedYieldBps`, `erc20TotalSupplySelector`) from usdy.go into common.go for reuse.

USDY totalSupply on Ethereum was SHRINKING (bridge burns to Solana
outpacing rebase mints), producing false negative delivered yield
(~-9%). Replace naked totalSupply delta with OndoOracle.getAssetPrice
read - same oracle already used by OUSG (Aave IPriceOracle).

Now: 349 bps delivered vs 355 promised = -6 bps deviation.
Independent of any bridge / subscription flow.

Extracts blockOffsetBySeconds + annualizedYieldBps + totalSupply
selector to common.go for reuse.
@Flotapponnier
Flotapponnier merged commit 6395b34 into dev Jul 24, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant