KelpDAO Unbacked rsETH
Reviewer-first evidence page for fixtures/replays/kelpdao-unbacked-rseth. The claim boundary is scoped to the committed simulation inputs, canonical hash, and deterministic rerun listed below.
ff46b6a1bbcddc4064f1f6eae58c65c291b4856167e800c1c475825c788d0b09 What broke
full_backing fired at tick 1. The recorded reason was field=`lst_supply * exchange_rate_config.exchange_rate_bps <= total_assets * 10000` first fired at tick 1.
KelpDAO / rsETH is used here as the named incident inspiration for an unbacked-LST shape: LST supply exceeds the underlying assets that should back it, so each token claim no longer maps cleanly to real backing.
Riptide does not replay EigenLayer, Kelp Protocol, bridge code, or Ethereum transactions. The case study models the accounting geometry on a minimal Solana liquid-staking fork.
Replay shape
The replay initializes a liquid-staking pool with total_assets = 10000, lst_supply = 10000, and exchange_rate_bps = 10000.
At tick 1, an admin-only `admin_mint_lst(5000)` instruction increases LST supply without adding underlying assets or recomputing the exchange rate. The pool now has 15000 LST claims against 10000 assets.
Why it matters
This liquid-staking protocol class matters because a supply path that creates LST claims without matching assets can make downstream collateral and redemption assumptions false. The replay mirrors the unbacked-rsETH shape associated with KelpDAO's April 2026 LayerZero bridge exploit ($292M drained, wrapped rsETH stranded across 20+ chains), but it does not claim to reproduce EigenLayer, Kelp, rsETH, or bridge transactions.
Public coverage used to motivate the unbacked-LST shape. The replay itself is bounded to the committed Solana fixture and deterministic artifacts.
Secondary coverage
Reproduce
Start from a clean checkout, install the CLI, then rerun the committed replay configuration. The expected canonical hash is listed in Artifacts.
Installcurl -fsSL https://riptide.run/install | sh Rerun cd fixtures/replays/kelpdao-unbacked-rseth && riptide replay config.json --allow-invariant-violationsThe public rerun script is mirrored as an artifact; this page renders the minimal command path so reviewers do not need to read generated comments.
Artifacts
ff46b6a1bbcddc4064f1f6eae58c65c291b4856167e800c1c475825c788d0b09fixtures/replays/kelpdao-unbacked-rseth2bca411f1a8a09313db0e4afcadf822e3442a73feconomic-shape replay`full_backing` asserts `lst_supply * exchange_rate_bps <= total_assets * 10000`. The canonical evidence shows `full_backing` first fires at tick 1 and remains fired through the terminal tick.
- T1
full_backingfield=`lst_supply * exchange_rate_config.exchange_rate_bps <= total_assets * 10000` first fired at tick 1
What this does not prove
- a byte-level reproduction of EigenLayer / Kelp Protocol / rsETH source, or the specific bridge transactions involved in the incident,
- an audit or safety claim about Kelp Protocol, EigenLayer, or any deployed restaking platform,
- a cross-chain replay (KelpDAO is on Ethereum; this pack reproduces the *economic shape* on Riptide's Solana liquid-staking toy program).