LUSD: verify
Every figure here was read from Ethereum at block 26107477. The sheet below is produced by the same generator as the analyst's hand-verification sheet: repeat any call it lists on your own node at that block and you should get the same number.
# Stress spot-check — LUSD @ 26107477
- bundle `0ab3ea7c` · tree `43316e2a` · stress `015d9a4d`
- cells 23 · checks 26/26 · headline **M1-s50-d0-lp0** (memo §6.2.6)
## 1. The headline cell, by hand
| quantity | value | where it comes from |
|---|---|---|
| m1.pre.ratio | 3.687201 | Σ collateral × (1+shock)(1−d) × price ÷ Σ net debt; collateral and debt per position in `out/raw/<block>.json`, price the bundle's own `external_collateral_value / external_collateral_sum`, NOT a re-simulated `fetchPrice()` |
| m1.post.ratio | 3.687201 | the same over the book left after absorption |
| m1.gap | 0.000000 | post − pre, the mechanism's measured contribution (DET-39) |
| m2.bad_debt | 0.00 LUSD | Σ (debt − collateral × price) over REDISTRIBUTED troves with CR < 100% — DET-51's `redistributed_positions_below_100` identity, not the receiving troves' post-CR; base units `0` |
| m2.pct_supply | 0.0000000000 | ÷ `supply.supply_ruled` = 26,160,997.85 |
| m3.forced_sell_volume | 0.00 | = bad_debt, DET-25's Member-1 identity |
| m3.exit_depth | 8,324,384.17 | LP-0, so equal to DET-31 depth(0.02) = 8,324,384.17 |
| m3.ratio | 0 | forced_sell ÷ exit_depth |
## 2. DET-51 — H3 absorption and H4 redemption
| quantity | value | where it comes from |
|---|---|---|
| sp_balance | 7,568,229.65 | `StabilityPool.getTotalLUSDDeposits()`, the bundle's own read (DET-51's capacity lineage is `{sp_balance_read}`) |
| sp_effective_cell (headline, LP 0) | 7,568,229.65 | `sp_balance × (1 − 0)` — the LP axis is DEPOSITOR flight |
| tcr_post (headline) | 3.687201040821500745972972059 | Σ surviving collateral × shocked price ÷ Σ surviving debt |
| recovery_mode_flag | False | `tcr_post < CCR` (1.50), reported not modeled (P-6.01 R12) |
| redistributed_debt | 0 | debt the Pool could not offset, pushed pro rata onto survivors |
| redemption_capacity (compound) | 784,829.94 | redeemable before baseRate + 0.005 > 0.02 at the decayed rate 0.000000000000000161 |
Member-1 cells carry `redemption_capacity = 0, reason = "crash path excluded"`, which is the entry's own wording.
## 2b. The whole trove book, so `m1.pre` is a hand sum (70 rows)
Price basis `external_collateral_value / external_collateral_sum` = 2,664.98780095 per ETH; the headline cell shocks it by -0.50 to 1,332.49390047. ICR is at the SHOCKED price, MCR = 1.10 — no row reaches it, which is R-B6.1.
| owner | debt (LUSD) | coll (ETH) | coll × shocked price | ICR |
|---|---|---|---|---|
| `0xdf5b9374ab6b8ff23499214be5b4f942719895e8` | 7,176,480.47 | 17,254.8917 | 22,992,037.93 | 3.2038 |
| `0x77ee52b29358386e31765b07396d53229a2079af` | 2,845,525.62 | 6,784.3580 | 9,040,115.60 | 3.1770 |
| `0x3594141c2aa65409642716c7075785fdc9704a9a` | 2,371,534.83 | 5,708.5858 | 7,606,655.73 | 3.2075 |
| `0xcb16f82e5949975f9cf229c91c3a6d43e3b32a9e` | 1,728,626.15 | 4,095.5934 | 5,457,353.16 | 3.1570 |
| `0xe3935519abc87c090dd95ad593aa2aef10a9c409` | 1,485,666.19 | 3,934.0293 | 5,242,069.98 | 3.5284 |
| `0x6c26a07ccff2783577ee911d4c6907cf59775554` | 1,200,200.00 | 3,000.0000 | 3,997,481.70 | 3.3307 |
| `0xac5406aebe35a27691d62bfb80eefcd7c0093164` | 976,033.93 | 2,500.0734 | 3,331,332.56 | 3.4131 |
| `0x954f2a8b86aa586c3cc3a2088b72e2a560d7dc22` | 806,195.02 | 2,420.0000 | 3,224,635.24 | 3.9998 |
| `0x3170bd1144e67e4f146a22a1307c1d10b9f4ab81` | 667,248.93 | 1,615.3227 | 2,152,407.58 | 3.2258 |
| `0xc0e12a9b712f91f79e6bb718c86dcc6b7a5a36d4` | 574,586.94 | 1,500.0000 | 1,998,740.85 | 3.4786 |
| `0xa3cc97cfcb38a8b1cac7dc7692557c305d6ac75f` | 473,949.18 | 1,234.5218 | 1,644,992.75 | 3.4708 |
| `0xb42884463079951dedf4f8840d5fd610c3ec6d94` | 453,067.29 | 2,000.6503 | 2,665,854.38 | 5.8840 |
| `0x60e69297e961794d226d01695619b019dcee1ef8` | 445,497.88 | 1,550.3997 | 2,065,898.20 | 4.6373 |
| `0x1384b4515544e520956e4fa7f5a10c7fb0ac3729` | 408,710.16 | 967.4824 | 1,289,164.41 | 3.1542 |
| `0x57ef012861c4937a76b5d6061be800199a2b9100` | 380,473.22 | 998.0893 | 1,329,947.85 | 3.4955 |
| `0x308c5a2713154412da157d69095f3db09336d627` | 342,052.27 | 950.0000 | 1,265,869.21 | 3.7008 |
| `0x54bc1c2c0fcaedcc2e68c97774f4f873c1d24d08` | 298,584.30 | 741.0163 | 987,399.68 | 3.3069 |
| `0x0fd0489d5ccf0acc0ccbe8a1f1e638e74cab5bd7` | 283,660.35 | 745.3584 | 993,185.46 | 3.5013 |
| `0x35f8a4f1e964cc339420700c6548339db0f59609` | 277,445.00 | 895.2700 | 1,192,941.81 | 4.2997 |
| `0x2291f52bddc937b5b840d15e551e1da8c80c2b3c` | 259,906.27 | 4,177.9390 | 5,567,078.27 | 21.4196 |
| `0xfc7a4653c19b529772c033d92a525db05fdf9723` | 230,302.13 | 581.4978 | 774,842.27 | 3.3645 |
| `0xb62f4f38bca544dedea1d1e1b00e802fe13fbfc7` | 217,487.63 | 649.7231 | 865,752.03 | 3.9807 |
| `0x423eda6652d0636930d350cb60a01eb1f45afc3f` | 206,121.63 | 557.0000 | 742,199.10 | 3.6008 |
| `0x28dbf056f8d3f2c62a9158ee959e1648f1a99afb` | 173,434.51 | 651.2666 | 867,808.71 | 5.0037 |
| `0x3f9a843c93ff9ce638287249ef93dc5c91944455` | 165,881.15 | 395.6016 | 527,136.69 | 3.1778 |
| `0xc167c7f8a36403c45d7f248c059ab0bb05169262` | 156,824.92 | 388.4721 | 517,636.64 | 3.3007 |
| `0x8eb2e0cebcd191625037a042c9edf67b7f7fd74c` | 146,177.27 | 482.6618 | 643,143.92 | 4.3998 |
| `0x0653a6ca0c0cf8fd243eb423e0d4c105218ac334` | 132,113.48 | 349.4910 | 465,694.63 | 3.5250 |
| `0x5fbdb238a05ed167c1a61f7a34189cad837f2af6` | 123,335.01 | 348.9227 | 464,937.33 | 3.7697 |
| `0x13f073bb6338036649e16e256f31784666a8fbbb` | 119,200.00 | 300.0000 | 399,748.17 | 3.3536 |
| `0x6d3709ba7d09428b76f4ec604f60a3ca336c78b2` | 94,331.09 | 534.0918 | 711,674.01 | 7.5444 |
| `0xfb68e6b3562a6a569e4731e055b62bbbb81d9d1e` | 94,170.62 | 300.0000 | 399,748.17 | 4.2449 |
| `0xc1c589dc0922399b966f515d4b6436707d679974` | 94,150.00 | 238.9000 | 318,332.79 | 3.3811 |
| `0x654239b299759a7d0b364c27943de9087067bd71` | 86,464.76 | 208.5806 | 277,932.41 | 3.2144 |
| `0xed42e2b0269b59ed86ca32dcf46b41a5ce0ec869` | 80,392.21 | 700.0000 | 932,745.73 | 11.6024 |
| `0x0f2b381c99b48914cab5efbeef38fccc3ccd894a` | 72,636.18 | 220.0000 | 293,148.66 | 4.0358 |
| `0x903628bf8e703766277279ca8eb7bfb5e32107a5` | 68,878.14 | 268.0059 | 357,116.17 | 5.1848 |
| `0xa1cba1fcef2cd7379f74feec9a7d8b17d430cc6f` | 50,245.37 | 135.1680 | 180,110.55 | 3.5846 |
| `0x8dfd545a2d6ba57d0ccfb060a0eefe01f41f2902` | 42,410.00 | 500.0000 | 666,246.95 | 15.7097 |
| `0x8b4b889cd88ae68205d620678373b1dee08e775a` | 38,432.60 | 91.9420 | 122,512.11 | 3.1877 |
| `0xc7718cfa793ddc5d012740a4f7b2c7dd8f793a4e` | 35,389.00 | 86.7870 | 115,643.12 | 3.2678 |
| `0x29b2c24f61c77e33190d1e7b7533b490a35776b5` | 32,019.14 | 85.0000 | 113,261.98 | 3.5373 |
| `0xbaf230e1792b548aec3f69ed19fccdfc9f7807be` | 26,812.95 | 98.8327 | 131,693.90 | 4.9116 |
| `0x9b60a3b60cc6a8190f085a729b374af9170a9f16` | 22,805.77 | 54.9900 | 73,273.84 | 3.2130 |
| `0x2489ac126934d4d6a94df08743da7b7691e9798e` | 20,199.90 | 96.5299 | 128,625.53 | 6.3676 |
| `0x441497e2fc4e697d1d604204dc8e1d1d992c9684` | 17,174.67 | 46.0206 | 61,322.21 | 3.5705 |
| `0x8b32b71f2a7096019c2e0cd289ae0bda493ff792` | 16,362.00 | 39.5000 | 52,633.51 | 3.2168 |
| `0x04ca2a945ccba92ca2443024c07c99f81e71547f` | 15,000.00 | 200.0000 | 266,498.78 | 17.7666 |
| `0xddf3679cf581bc66f491b01ab6742310aedb1a1c` | 13,298.90 | 206.2900 | 274,880.11 | 20.6694 |
| `0xe1137ee95345037529ea444985f7634bd05a3c8c` | 13,123.05 | 33.5300 | 44,678.52 | 3.4046 |
| `0xca5b42f5058cf62edd84c9d2449dd82d5b0a71e9` | 10,486.35 | 57.5733 | 76,716.03 | 7.3158 |
| `0x1b277ae7faf0e08f53d1a90285d8d0236e0b59bf` | 10,126.38 | 25.2037 | 33,583.81 | 3.3165 |
| `0xbfe7a0c2ebf129b62e4e60a0cee8574cda1ac3c5` | 10,000.00 | 50.0000 | 66,624.70 | 6.6625 |
| `0x77e0441e260361e0792c1c0fb7dcef9b8b900df0` | 7,235.00 | 19.0000 | 25,317.38 | 3.4993 |
| `0x192fdca9492bc6ba7c21b3bc74686268eb1ac026` | 6,717.78 | 18.6900 | 24,904.31 | 3.7072 |
| `0xcabc0e1eebd9fc9ec64d47a06cb2d43792e1977b` | 6,219.95 | 21.5310 | 28,689.97 | 4.6126 |
| `0x9c141191af1ecee536eaafed87ee483a69986a47` | 6,012.00 | 14.7000 | 19,587.66 | 3.2581 |
| `0xaa6aa84452b7325c55df93690233c7fb8df7cf65` | 5,705.45 | 63.9386 | 85,197.79 | 14.9327 |
| `0xd2f92747e7aeb37ffb1d504012901a2aef34b39c` | 5,478.09 | 13.9027 | 18,525.28 | 3.3817 |
| `0x0afa8cd32e5ddfffbc99931ea6721f42da227251` | 5,225.00 | 20.0000 | 26,649.88 | 5.1005 |
| `0x262d4ff9641d13713c0732f9649f9d88d71f7acb` | 4,778.86 | 11.8270 | 15,759.39 | 3.2977 |
| `0x7d3894d3e8a8e504b1fa66ae506e8b15b3e900b4` | 3,735.00 | 9.2691 | 12,351.02 | 3.3068 |
| `0xbb8c4751f50cfef766e7f158a68c348f3441a62b` | 3,608.52 | 12.2316 | 16,298.49 | 4.5167 |
| `0x1b1d03bbc0fe2cf701fe12195eba9d99001e605d` | 3,014.02 | 7.3000 | 9,727.21 | 3.2273 |
| `0xeb613bf4f4f4b49063350c7fd57f7a99e41c6538` | 2,016.79 | 7.4369 | 9,909.61 | 4.9136 |
| `0x2dcd95925df5e9ed3f9080fb0d5f63a2fa55dc6c` | 2,009.10 | 5.0000 | 6,662.47 | 3.3161 |
| `0xc0635f6318b8b19b8ed3902b6f4987f9419e7c9d` | 2,009.01 | 4.7526 | 6,332.81 | 3.1522 |
| `0x8f44e2ccbf1c358cc9604e15ed61a7752ed31c2b` | 2,001.51 | 10.2837 | 13,702.91 | 6.8463 |
| `0x7fe6e94fc0d5019a954d71d8dc350bcedc9a48aa` | 2,000.99 | 89.6932 | 119,515.63 | 59.7282 |
| `0xdfbca62b0d9d7c90a9192674d715e33683551ac7` | 2,000.00 | 6.5000 | 8,661.21 | 4.3306 |
| **total** | **26,160,997.85** | **72,391.2195** | **96,460,858.49** | **3.6872010408** |
That last cell IS `m1.pre.ratio` = 3.687201040821500745972972059.
## 3. The Member-2 headline cell — M2-t0.93-lp0
| quantity | value | where it comes from |
|---|---|---|
| m3.forced_sell_volume | 0.00 | zero by construction — no stable node and no GSM (DET-43); base units `0` |
| m3.exit_depth | 7,724,626.11 | the cell's own venue set, DET-35 |
| m3.ratio | 0 | forced_sell ÷ exit_depth |
**Counterfactual `Tellor_fallback`** — carried unsized on this cell: PriceFeed contract constants at block 26107477: TIMEOUT 14400 s; MAX_PRICE_DEVIATION_FROM_PREVIOUS_ROUND 50%; MAX_PRICE_DIFFERENCE_BETWEEN_ORACLES 5%; status() = 0 (0 = chainlinkWorking). modeled outcome unchanged under primary; fallback engaged does not alter stock-only capacity
## 4. The pinned reads to reproduce
**Every call below is a pinned read at `run_block` 26107477** — the same block the bundle was assembled at (R-13). Pin the block inside the JSON-RPC body; a `tag` query parameter is silently ignored by some proxies (P-3.39).
**Decoding note.** Pools compiled with old Vyper (0.2.8 and earlier) return a padded buffer rather than a single word — LUSD's `0xed279fdd` answers `get_dy` with ~4 KB. **Decode the first 32-byte word**; the rest is padding. Verified by the analyst on 2026-09-13, whose first word matched this sheet to the wei.
The depth m3 divides by is the sum over K-subset(0.90) = 1 pools. On each, call `get_dy` with the recorded `dx` — **`i` and `j` are the recorded argument values, not placeholders** — and check the implied marginal price sits at 1 − s = 0.98 ± ε:
- `0xed279fdd11ca84beef15af5d39bb4d4bee23f0ca` → `get_dy(i=0, j=1, dx=8324384173909953478653151)` = 7991648243514986675153766; implied 0.9800000136707280867251204185 (within ε: True)
## 5. Assumptions carried on this artifact
- **absorption** — absorption is the Stability Pool, not a sale: a trove below MCR is offset against the Pool (debt burned, collateral paid to depositors) and the remainder is REDISTRIBUTED pro rata by collateral onto surviving troves. LUSD is therefore exempt from the sell-side bound (DET-52) - no forced sale exists on the absorption path - and the LP axis haircuts the Pool (`sp_effective_cell = sp_balance x (1 - LP_cell)`, DET-51).
- **bad_debt_definition** — `bad_debt` = the REDISTRIBUTED troves' own shortfall: sum over liquidated troves with CR < 100% of (debt - collateral x price), per DET-51's `redistributed_positions_below_100 -> bad_debt` identity. The receiving troves' post-redistribution CR is NOT the definition; reading it that way would count one shortfall once per trove it landed on.
- **engagement_thresholds** — no trove reaches MCR on the ruled grid; first liquidation at an ETH shock of -82.55% (min ICR 6.3044 -> 1.1), recovery mode at -79.66% (TCR 7.3744 -> 1.5), TCR below MCR at -85.08%; Liquity v1 is wound down to 70 troves
- **m2_curves** — {'0.88': {'0.005': 6078113631277748596031827, '0.01': 6784475824703090789209774, '0.02': 7296173205776364474862469, '0.05': 7762900791569535161012941}, '0.93': {'0.005': 6452236908837343232915297, '0.01': 7190105437655161982349078, '0.02': 7724626106327215395875707, '0.05': 8212170869679056883860334}, '0.97': {'0.005': 6751507446445807974750366, '0.01': 7514578180066159007779148, '0.02': 8067355936926455993615107, '0.05': 8571553120704565371647212}}
- **oracle_assumption** — LUSD carries no EMA_lag line: Liquity v1 has no LLAMMA and no per-market price EMA. Section 7's assumption for LUSD is instant observation of the PriceFeed at `run_block`, and the price basis is the bundle's own `external_collateral_value / external_collateral_sum` - NOT a re-simulated `fetchPrice()`. `lastGoodPrice()` is read and disclosed beside it and lags by design, because only `fetchPrice()` rewrites it (P-6.01 R13).
- **structural_insulation** — structurally insulated; exposed through exit venues only