Skip to main content
economic-shape replay Lending Incident ·

Loopscale Collateral Mispricing

Reviewer-first evidence page for fixtures/replays/loopscale-collateral-mispricing. The claim boundary is scoped to the committed simulation inputs, canonical hash, and deterministic rerun listed below.

Canonical hash d6d71b3b79be760d486f510606866bdccb4be4d9ab8c2df19e45409ad7b386ff
[ 01 ]

What broke

Outcome / verdict

collateral_health fired at tick 2. The recorded reason was field=`bad_debt` observed=4175.0 == expected=0.0.

Loopscale's April 2025 incident is used here as the named inspiration for a collateral-mispricing shape: collateral is accepted at an inflated value, the borrower draws down against that valuation, and the position becomes unrecoverable when the pricing surface corrects.

Riptide does not replay Loopscale's production program, account state, or LP-token NAV calculation. This case study models the inflated-collateral-to-bad-debt geometry on Riptide's Solana lending fork.

Replay shape

The replay starts with a borrower healthy under oracle price 200: collateral = 100 and debt = 13500. At tick 1, the oracle corrects to 100, taking the position below the liquidation threshold.

At tick 2, a liquidator settles the borrower. The available collateral cannot cover repay plus liquidation bonus, so the pool records 4175 bad debt.

[ 02 ]

Why it matters

This lending protocol class matters because overvalued collateral can authorize borrows that become unrecoverable once the pricing surface corrects. The replay mirrors the collateral-mispricing geometry associated with Loopscale's April 2025 incident on a Solend-shaped toy lending fork, but it does not replay Loopscale bytecode, account state, or LP-token NAV calculation.

Public incident communications used to motivate the collateral-mispricing shape. The replay evidence itself is bounded to the committed toy-program fixture.

Primary context

[ 03 ]

Reproduce

Start from a clean checkout, install the CLI, then rerun the committed replay configuration. The expected canonical hash is listed in Artifacts.

Install curl -fsSL https://riptide.run/install | sh Rerun cd fixtures/replays/loopscale-collateral-mispricing && riptide replay config.json --allow-invariant-violations

The public rerun script is mirrored as an artifact; this page renders the minimal command path so reviewers do not need to read generated comments.

[ 04 ]

Artifacts

Canonical hash d6d71b3b79be760d486f510606866bdccb4be4d9ab8c2df19e45409ad7b386ff
Source path fixtures/replays/loopscale-collateral-mispricing
Source commit 2bca411f1a8a09313db0e4afcadf822e3442a73f
Evidence type economic-shape replay

`collateral_health` is the replay-scoped invariant name for the collateral-mispricing claim; it is bound to the toy lending pool's `bad_debt == 0` signal. The canonical evidence shows `collateral_health` fires once at tick 2.

[ 05 ]

What this does not prove