KelpDAO Recovery — Live Tracker
On-chain status of the 30,765.67 ETH frozen on Arbitrum One after the April 2026 KelpDAO exploit, plus the cross-DAO recovery flow. All data via Indexing Co pipelines.
DVN config changes on LayerZero V2 OApps after the April 18 KelpDAO exploit. The headline below is KelpDAO's own hardening — decoded from on-chain UlnConfigSet events on the mainnet ULN302 send library, with pre/post values pulled from EndpointV2.getConfig() at the block before and at the block of each event.
Going forward: a daily cron snapshots configs for every OApp in the watchlist below, so any future config change shows up here. Event-driven indexing of UlnConfigSet across all OApps (auto-discovery, full historical coverage) is the next step.
KelpDAO rsETH OFT — bridge hardened in a single tx
25 outbound routes upgraded from a single LayerZero Labs DVN to a 4-of-4 set with Horizen Labs, Canary, and Nethermind. Confirmations went 42 → 64.
Per-route diff
| Destination | Before | After | Tx |
|---|---|---|---|
arbitrum eid 30110 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
optimism eid 30111 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
gravity eid 30217 | 2-of-2 · 42 conf LayerZero Labs, Polyhedra | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
taiko eid 30260 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
blast eid 30243 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
scroll eid 30214 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
base eid 30184 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
linea eid 30183 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
bitlayer eid 30274 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
sei eid 30165 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
flow eid 30303 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
lens eid 30335 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
ink eid 30329 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
cronos eid 30362 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
sonic eid 30332 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
soneium eid 30367 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
tron eid 30320 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
berachain eid 30377 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
avalanche eid 30106 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
unichain eid 30339 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
monad eid 30383 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
corn eid 30396 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
plume eid 30398 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
mantle eid 30181 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
morph eid 30390 | 1-of-1 · 42 conf LayerZero Labs | 4-of-4 · 64 conf Horizen Labs, LayerZero Labs, Canary, Nethermind | 0xbf09…b947 ↗ |
iota eid 30325 | 2-of-2 · 42 conf LayerZero Labs, Nethermind | 4-of-4 · 64 conf Stargate, Horizen Labs, LayerZero Labs, Nethermind | 0xd67c…547e ↗ |
Pre/post configs read directly from EndpointV2.getConfig() at the block before and at the block of each UlnConfigSet event — not Kelp's self-reported state. 0x589dedbd… is the LayerZero Labs DVN that was compromised on April 18.
Ongoing watchlist
Latest snapshot per (OApp, route). Daily cron — last run 2026-05-01.
| OApp | Route | DVNs | Confirmations | DVN set |
|---|---|---|---|---|
rsETH OFT (Kelp) KelpDAO | ethereum → arbitrum | 4-of-4 | 64 | |
rsETH OFT (Kelp) KelpDAO | ethereum → optimism | 4-of-4 | 64 | |
rsETH OFT (Kelp) KelpDAO | ethereum → linea | 4-of-4 | 64 | |
rsETH OFT (Kelp) KelpDAO | ethereum → base | 4-of-4 | 64 | |
ZAI OFT Adapter MAHA | ethereum → arbitrum | 1-of-1 | 5 | |
ZAI OFT Adapter MAHA | ethereum → optimism | 1-of-1 | 5 | |
ZAI OFT Adapter MAHA | ethereum → linea | 1-of-1 | 5 | |
ZAI OFT Adapter MAHA | ethereum → base | 1-of-1 | 5 |
node scripts/run-dvn-census.mjs. PRs welcome.