Usual sUSD0
Live . ethereum . 0xd861bE82dEe3223CFBEd160791f6550b0704D406
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
none published
Realized
4.09%
30 day window
Gap
no claim to compare
this protocol advertises no yield figure.
What Usual published.
Usual publishes no yield figure we can record for sUSD0 on a first-party surface, so this row carries a realized reading and no comparison. That is a description of what is published, not an accusation.
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
0xd861bE82dEe3223CFBEd160791f6550b0704D406
Method
convertToAssets(uint256)
Argument
1000000000000000000 (one whole sUSD0 share, 18 decimals)
eth_call data
0x07a2d13a0000000000000000000000000000000000000000000000000de0b6b3a7640000
Returns
USD0, 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
25539888 (0x185b530)
Timestamp
1784140607 (2026-07-15 18:36 UTC)
Share price returned
1.028548608472338769
At the end of the window
Block
25755112 (0x188fde8)
Timestamp
1786732607 (2026-08-14 18:36 UTC)
Share price returned
1.031946505723079609
Start of window, cast
RPC_URL=... cast call 0xd861bE82dEe3223CFBEd160791f6550b0704D406 "convertToAssets(uint256)(uint256)" 1000000000000000000 --block 25539888 --rpc-url "$RPC_URL"End of window, cast
RPC_URL=... cast call 0xd861bE82dEe3223CFBEd160791f6550b0704D406 "convertToAssets(uint256)(uint256)" 1000000000000000000 --block 25755112 --rpc-url "$RPC_URL"Start of window, raw JSON-RPC
{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0xd861bE82dEe3223CFBEd160791f6550b0704D406","data":"0x07a2d13a0000000000000000000000000000000000000000000000000de0b6b3a7640000"},"0x185b530"]}End of window, raw JSON-RPC
{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0xd861bE82dEe3223CFBEd160791f6550b0704D406","data":"0x07a2d13a0000000000000000000000000000000000000000000000000de0b6b3a7640000"},"0x188fde8"]}Both calls return an integer in the smallest unit of USD0. Divide by 10 ** 18 to get the share price printed above. Set RPC_URL to any archive endpoint you trust.
The arithmetic
growth = 1.031946505723079609 / 1.028548608472338769
elapsed = 1786732607 - 1784140607 = 2592000 seconds
annualized = (growth ^ (31536000 / 2592000) - 1) * 100
= 4.0943% (0.330358% 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.
Context for this row.
Live and accruing, with no advertised figure to compare against, and that absence is a deliberate reading rather than a gap in our research. Usual's own documentation for sUSD0 states that the yield rate is set by governance and varies with market conditions, and neither the product page nor its factsheet publishes a current number. Its app does render percentages nearby, and none of them belong in this column: a 13 percent staking rate and a 51 percent locking rate are for USUAL, the governance token, and a 17 percent figure appears inside a positions widget rather than as a rate the protocol offers on this vault. Sourcing any of those here would have accused Usual of a claim it did not make. What can be said is checkable and comes from Usual itself: sUSD0 is a non-rebasing ERC-4626 vault whose value accrues through a rising exchange rate, denominated in USD0 rather than in tokens, which is exactly the quantity this board measures. So the realized column stands on its own for this row.
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 Usual 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/usual-susd0Citation
Kerne Honesty Index, 2026-08-14: Usual (sUSD0) advertised none published, realized 4.09% from on-chain share-price growth, gap no claim to compare (this protocol advertises no yield figure). Source: https://kerne.fi/honesty-index#row-usual-susd0Badge, markdown
[](https://kerne.fi/honesty-index#row-usual-susd0)Badge, HTML
<a href="https://kerne.fi/honesty-index#row-usual-susd0"><img src="https://kerne.fi/honesty-badge.svg?row=usual-susd0" 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/usual-susd0Where these numbers came from.
Snapshot generated
2026-08-14 18:37 UTC
Snapshot source
live store
Signature
verified, signer 0x84949170e0ad0f9bd8686a4aa4922c10f5fdc4ea
Row key
usual-susd0
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-08-14. Every figure on this page is regenerated from https://kerne.fi/honesty-index and none of them is stored in this file.