vault.Coins[2v28] to 0 and call keeper.SetVault. Shortfall is then computed with vault 2v28 contributing nothing to vault_L1. No matching existing event type — logged to ctx.Logger() only. L1 assets churn to new vault operationally.
pool.BalanceAsset and pool.BalanceRune by the per-pool shortfall. Burn ΔR from Asgard (mandatory bank pairing). Solve RUNEPool.ReserveUnits so providers stay whole; reserve absorbs the full POL loss. ReserveUnits adjustment logged only (no existing event type).
saver.Units, savers pool depth, and burn the released synth supply from Asgard. Savers-owned synths only — free-floating holders (Rujira, swap-derived) unaffected.
pool.BalanceAsset/Rune, burn ΔR from Asgard. Same pool mechanics as step 1.
pool.BalanceAsset — absorbed pro-rata by remaining LPs of each pool. No explicit mutation beyond step 1 writes.
| asset | shortfall | step 1 POL drain | step 2 reserve burn | after step 2 | savers depth | savers / total synths | step 3 haircut | step 4 treasury |
|---|---|---|---|---|---|---|---|---|
| ETH.XRUNE | 73,253,586 | — | — | 73,253,586 | 0 | 0% | — | treasury |
| DOGE.DOGE | 3,464,758 | 72,302 | 3,392,456 | 0 | 12,239,813 | 67.5% | 0 | — |
| ETH.THOR | 3,208,326 | — | — | 3,208,326 | 0 | 0% | — | treasury |
| ETH.USDT | 1,136,651 | 198,410 | 27,022 | 911,218 | 3,515,725 | 98.2% | 2591 | — |
| ETH.TGT | 779,500 | — | — | 779,500 | 0 | 0% | — | treasury |
| ETH.FOX | 476,224 | — | — | 476,224 | 0 | 0% | — | treasury |
| BSC.USDC | 273,164 | — | — | 273,164 | 0 | 0% | — | treasury |
| AVAX.USDC | 175,057 | — | — | 175,057 | 645,147 | 98.9% | 2713 | — |
| BSC.USDT | 119,499 | — | — | 119,499 | 0 | 0% | — | treasury |
| ETH.GUSD | 60,220 | — | — | 60,220 | 0 | 0% | — | treasury |
| ETH.LUSD | 58,552 | — | — | 58,552 | 0 | 0% | — | treasury |
| BASE.USDC | 49,041 | — | — | 49,041 | 0 | n/a | — | treasury |
| AVAX.USDT | 41,191 | — | — | 41,191 | 0 | 0% | — | treasury |
| ETH.USDP | 37,906 | — | — | 37,906 | 0 | 0% | — | treasury |
| ETH.VTHOR | 34,029 | — | — | 34,029 | 0 | 0% | — | treasury |
| BSC.TWT | 32,945 | — | — | 32,945 | 0 | n/a | — | treasury |
| BSC.BUSD | 32,143 | — | — | 32,143 | 0 | n/a | — | treasury |
| GAIA.ATOM | 12,255 | — | — | 12,255 | 39,254 | 97.3% | 3121 | — |
| ETH.LINK | 1,041 | — | — | 1,041 | 0 | 0% | — | treasury |
| ETH.SNX | 998 | — | — | 998 | 0 | 0% | — | treasury |
| ETH.ETH | 739 | — | — | 739 | 4,880 | 99.5% | 1514 | — |
| AVAX.SOL | 389 | — | — | 389 | 0 | 0% | — | treasury |
| BCH.BCH | 174 | 174 | — | 0 | 5,603 | 99.7% | 0 | — |
| BSC.BNB | 45.74 | — | 45.74 | 0 | 4,845 | 97.1% | 0 | — |
| BASE.ETH | 43.37 | — | — | 43.37 | 0 | n/a | — | treasury |
| BASE.VVV | 29.58 | — | — | 29.58 | 0 | n/a | — | treasury |
| ETH.AAVE | 27.86 | — | — | 27.86 | 0 | 0% | — | treasury |
| BSC.ETH | 15.61 | — | — | 15.61 | 0 | n/a | — | treasury |
| ETH.DPI | 11.43 | — | — | 11.43 | 0 | 0% | — | treasury |
| ETH.WBTC | 3.78 | — | — | 3.78 | 0 | 0% | — | treasury |
| ETH.YFI | 1.05 | — | — | 1.05 | 0 | n/a | — | treasury |
| BSC.BTCB | 0.51 | — | — | 0.51 | 0 | n/a | — | treasury |
| vault surplus — no waterfall needed | ||||||||
| AVAX.AVAX | 0 | — | — | 0 | — | — | 0 | — |
| BTC.BTC | 0 | — | — | 0 | — | — | 0 | — |
| ETH.DAI | 0 | — | — | 0 | — | — | 0 | — |
| ETH.USDC | 0 | — | — | 0 | — | — | 0 | — |
| LTC.LTC | 0 | — | — | 0 | — | — | 0 | — |
| SOL.SOL | 0 | — | — | 0 | — | — | 0 | — |
| TRON.TRX | 0 | — | — | 0 | — | — | 0 | — |
| TRON.USDT | 0 | — | — | 0 | — | — | 0 | — |
| XRP.XRP | 0 | — | — | 0 | — | — | 0 | — |
Shortfall = pool.BalanceAsset + trade_depth − vault_L1_excluding_2v28. Step 1 POL drain = asset_redeem_value × (ReserveUnits / PoolUnits) — only the reserve-bucket fraction (55.76% at snapshot) of the LP may be drawn; provider bucket is made whole via ReserveUnits_post solve. AVAX.USDC and BSC.BNB return 0 because inflated synth_units collapse the LP share to near-zero. Step 2 reserve synth burn from /cosmos/bank/v1beta1/balances/{reserve}. Step 3 bps = floor(after_step2 / savers_depth × 10000). THOR.RUJI and THOR.TCY excluded — native Cosmos assets with no L1 vault backing. Vault 907x DOGE (3.68M) is UTXO fragmentation, not an ADR-028 waterfall item. All amounts are 2026-05-25 live chain state; re-run at upgrade height.