Honesty board
What each dollar says it pays, next to what it paid.
21 yield bearing dollars. For each one that publishes a rate, the rate it advertises beside the rate its vault actually paid over 30 days, read from chain, signed every hour, and open for anyone to recompute.
fetch("https://kerne.fi/api/honesty-index") { "kind": "kerne.honesty-index.v1", "rows": 21, "window_days": 30, "generated_at": "2026-09-12T21:37:26Z", "signer": "0x8494…c4ea" }
0x1186…7a6aEvery published rate, advertised against realized.
KerneskUSD · BasePublishes this board. skUSD holds kUSD, which is backed one for one by USDC with reserves signed every hour.
0x96F5…fA14- TToristrUSD · Ethereum10.69%10.67% advertised
- AAvantsavUSD · Avalanche8.44%10.47% advertised
- NNoonsUSN · Ethereum7.35%7.17% advertised
- CCapstcUSD · Ethereum5.63%5.66% advertised
- MMaplesyrupUSDC · Ethereum4.94%No rate advertised
- FFalcon FinancesUSDf · Ethereum4.91%4.60% advertised
- MMaplesyrupUSDT · Ethereum4.57%No rate advertised
- EEthenasUSDe · Ethereum4.52%4.22% advertised
- AAegissYUSD · Ethereum4.50%6.00% advertised
- FFraxsfrxUSD · Ethereum4.48%5.00% advertised
- UUsualsUSD0 · Ethereum4.11%No rate advertised
- SSkysUSDS · Ethereum3.54%3.52% advertised
- SSparksUSDC · Ethereum3.54%3.52% advertised
- CCurvescrvUSD · Ethereum1.12%0.83% advertised
- NNeutrlsNUSD · Ethereum0.66%2.20% advertised
Five more rows, paused or winding down
- Stables LabssUSDX · EthereumDormantRealized 0.00%
- ResolvwstUSR · EthereumIn recoveryRealized 0.00%
- YieldFiyUSD · EthereumIn recoveryRealized 0.00%
- ElixirsdeUSD · EthereumSunsetRealized 0.00%
- LevelslvlUSD · EthereumSunsetRealized 0.00%
Advertised rates are each protocol's own figure, labelled as it labels them (a projected, set or averaged rate) and dated the day we captured it. Realized is annualized from on chain share price growth over the same 30 days for every row. Rates move. This is a signed snapshot, not advice.
Check any row in one call.
Nothing on the board needs trusting. Take Ethena's sUSDe: read its share price at two blocks 30 days apart, annualize the growth, and you land on the realized figure above.
Every row carries its vault, its blocks and both readings in the signed JSON, so any RPC endpoint reproduces it.
0x9D39…3497- Block 25,748,83613 Aug 2026
1.24326866 - 30 days later
- Block 25,964,06712 Sep 2026
1.24779125
cast call 0x9D39A5DE30e57443BfF2A8307A4256c8797A3497 \ "convertToAssets(uint256)(uint256)" 1000000000000000000 \ --block 25964067