Section 15 of 15

Final Build
+100 Lynx

TroveManager: redeemCollateral and Base Rate Decay

Final Build

Submit your complete protocol and run the full test suite. Earn the "liquity-v1-builder" badge on completion.

Key takeaway: Redemption is what enforces the LUSD peg floor. Any LUSD holder can call redeemCollateral(amount) to exchange LUSD for ETH at face value (1 LUSD ≈ $1 of ETH), minus a small fee. The redemption walks the SortedTroves list from the tail (lowest-NICR Troves first), burning LUSD against each Trove's net debt and pulling out proportional ETH. Each redemption updates the base rate: baseRate += redeemedLUSDFraction / BETA (where BETA = 2), and the base rate decays exponentially over a 12-hour half-life via _decPow(MINUTE_DECAY_FACTOR, minutesPassed). The redemption fee is max(0.5%, baseRate) × ETHDrawn, paid in ETH to LQTYStaking. This is the final capstone — when this works, your Liquity V1 reconstruction is complete and deployable.

What Redemption Does

When LUSD trades below $1 on the open market, redemption becomes profitable. An arbitrageur buys LUSD cheap (say at $0.99), calls redeemCollateral, and receives $1 worth of ETH minus the redemption fee. They pocket the spread. This pressure naturally pushes LUSD back to $1. The mechanism makes the peg self-correcting without any oracle-based stabilization or central authority.

The trade-off: redemption is paid by individual Troves — specifically, the riskiest ones. The Trove with the lowest NICR has its debt reduced and an equivalent amount of ETH extracted at face value. The owner of that Trove sees their collateral go down but their debt go down by the same dollar amount; their ICR stays roughly the same. What changes is their coll-to-debt ratio in absolute terms — they end up with less of both, but better positioned.

This creates a real incentive structure: low-NICR Trove owners are at risk of being partially redeemed. They have an interest in maintaining higher collateral ratios. The protocol's risk discipline emerges from this peer pressure, not from a parameter.

Your Complete Protocol

Solution.sol
Solidity
Loading editor...

Sign up free — keep reading + earn 100 Lynx

Zealynx Academy is free. Track your progress, earn Lynx, and climb the leaderboard.

Sign up free to continue

Already have an account? Log in