Frax sfrxUSD
Live . ethereum . 0xcf62F905562626CfcDD2261162a51fd02Fc9c5b6
What this vault advertises, against what it actually paid, measured from its own share price on chain over a 30 day window. Everything below is recomputed hourly and every figure on this page comes from the snapshot named at the bottom. Nothing here is typed by hand.
Advertised
5.00%
set rate
Realized
4.84%
30 day window
Gap
advertised figure not read recently enough to compare
advertised figure last read on 2026-08-31 and now older than we will difference against a live reading, so no gap is stated.
What Frax published.
Current earnings rate 5% APY
Figure we recorded
5%
Basis
set rate (spot-administered)
Label on their surface
Current earnings rate
Read on
2026-08-31
Age at the end of our window
28.9 days, limit 10
Source
https://frax.com/earn
Open the page we read it from. It is a first-party surface by rule. An aggregator figure is never recorded in this column, whatever it says.
This capture is older than we will difference against a live reading, so no gap is stated above. That is our own staleness, not theirs. Both numbers stay visible with their dates.
Recompute it yourself.
The realized figure is two calls and one exponent. Both calls are pinned to a block height, so they return the same values for you as they did for us, forever. Use any archive endpoint. We deliberately do not name one: a reproduction that runs on our RPC is not a reproduction.
The call
Chain
ethereum
Contract
0xcf62F905562626CfcDD2261162a51fd02Fc9c5b6
Method
convertToAssets(uint256)
Argument
1000000000000000000 (one whole sfrxUSD share, 18 decimals)
eth_call data
0x07a2d13a0000000000000000000000000000000000000000000000000de0b6b3a7640000
Returns
frxUSD, 18 decimals
The argument is one whole share in the SHARE token's own decimals, which is not always eighteen. Kerne's own skUSD reports twenty four, so calling it with 1e18 returns a millionth of the right answer. Ask the vault for its decimals rather than assuming, exactly as our collector does.
At the start of the window
Block
25863943 (0x18aa707)
Timestamp
1788043019 (2026-08-29 22:36 UTC)
Share price returned
1.208106120477816101
At the end of the window
Block
26078982 (0x18def06)
Timestamp
1790635019 (2026-09-28 22:36 UTC)
Share price returned
1.212809559490970742
Start of window, cast
RPC_URL=... cast call 0xcf62F905562626CfcDD2261162a51fd02Fc9c5b6 "convertToAssets(uint256)(uint256)" 1000000000000000000 --block 25863943 --rpc-url "$RPC_URL"End of window, cast
RPC_URL=... cast call 0xcf62F905562626CfcDD2261162a51fd02Fc9c5b6 "convertToAssets(uint256)(uint256)" 1000000000000000000 --block 26078982 --rpc-url "$RPC_URL"Start of window, raw JSON-RPC
{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0xcf62F905562626CfcDD2261162a51fd02Fc9c5b6","data":"0x07a2d13a0000000000000000000000000000000000000000000000000de0b6b3a7640000"},"0x18aa707"]}End of window, raw JSON-RPC
{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0xcf62F905562626CfcDD2261162a51fd02Fc9c5b6","data":"0x07a2d13a0000000000000000000000000000000000000000000000000de0b6b3a7640000"},"0x18def06"]}Both calls return an integer in the smallest unit of frxUSD. Divide by 10 ** 18 to get the share price printed above. Set RPC_URL to any archive endpoint you trust.
The arithmetic
growth = 1.212809559490970742 / 1.208106120477816101
elapsed = 1790635019 - 1788043019 = 2592000 seconds
annualized = (growth ^ (31536000 / 2592000) - 1) * 100
= 4.8411% (0.389323% over the window)
Simple compounding at the observed rate, on a 365 day year. No fee assumption, no reinvestment assumption, no smoothing. If your arithmetic lands somewhere else, that disagreement is the finding and we want it: liam@kerne.fi.
Frax's right of reply.
Frax did not ask to be measured and has not sent a reply. This slot is open, free, permanent and published unedited, including a reply arguing that our method is wrong. Nothing is charged for it and nothing is offered in exchange.
The terms, and the form, are at the Right of Reply. If the disagreement is about arithmetic rather than framing, the faster door is the checker: send the two block heights and the two share prices you read, and the figure is corrected in public.
Context for this row.
Live and accruing, and the row that shows why the date on an advertised figure matters as much as the figure. Frax renders a current earnings rate of 5 percent inside the widget that deposits frxUSD and returns sfrxUSD, which keys the number to this exact vault, and both token chips in that widget carry the Ethereum mark, so it is the vault this row measures rather than Frax's deployment on its own chain. Read the pair with the dates in front of you, because most of the gap stated on this row is a rate change rather than a shortfall. Frax sets this rate rather than deriving it from live market conditions, and the chain shows that exactly: sfrxUSD grew at 4.10 percent a year, to four decimal places, every single day from 2026-07-30 through 2026-08-26, and at 4.80 percent a year, to four decimal places, every day since 2026-08-27. A thirty day realized reading near 4.2 percent is therefore almost exactly what Frax's own two rates imply across that month, and it is what a holder actually received. What the rate history does not account for is the last fifth of a point: the vault's own reward parameter is set at its ceiling and pays 4.80 percent a year today, while the page renders 5. Two further things a reader should hold rather than a verdict. Frax calls it a current rate and carries no window on it, so it is recorded here as a spot figure and compared on the same footing as Sky's governance set rate. And sfrxUSD is denominated in frxUSD rather than in dollars, so as with every row on this board the share price growth is measured in the underlying; frxUSD traded at par when this row was added.
This page measures one axis and one only: advertised yield against realized yield. It is not a rating, not an audit, and it says nothing about whether Frax is safe or whether its reserves are what it says they are. A protocol in an announced wind down paying nothing is behaving correctly. The reserve axis is a different page, at the reserve transparency scorecard.
Take this row with you.
This page
https://kerne.fi/honesty-index/frax-sfrxusdCitation
Kerne Honesty Index, 2026-09-28: Frax (sfrxUSD) advertised 5.00%, realized 4.84% from on-chain share-price growth, gap advertised figure not read recently enough to compare (advertised figure last read on 2026-08-31 and now older than we will difference against a live reading, so no gap is stated). Source: https://kerne.fi/honesty-index#row-frax-sfrxusdBadge, markdown
[](https://kerne.fi/honesty-index#row-frax-sfrxusd)Badge, HTML
<a href="https://kerne.fi/honesty-index#row-frax-sfrxusd"><img src="https://kerne.fi/honesty-badge.svg?row=frax-sfrxusd" width="360" height="112" loading="lazy" alt="Kerne Honesty Index: advertised versus realized yield"></a>Row in the API
https://kerne.fi/api/honesty-index/row/frax-sfrxusdWhere these numbers came from.
Snapshot generated
2026-09-28 22:37 UTC
Snapshot source
live store
Signature
verified, signer 0x84949170e0ad0f9bd8686a4aa4922c10f5fdc4ea
Row key
frax-sfrxusd
The signature is checked on every render rather than assumed from the presence of a field. A snapshot that does not verify is served with that said plainly instead of borrowing the word.
Board last read 2026-09-28. Every figure on this page is regenerated from https://kerne.fi/honesty-index and none of them is stored in this file.