To avoid relying on altruism, add a keeper reward:
fixed “call fee” paid from reserve buffer (bounded), and/or
percentage of recovered value (capped)
Reward must be parameterized per profile and capped to prevent griefing.
Auction system
Auction House (AuctionHouse)
Sells seized collateral for rwaUSD (or for a reference stablecoin that is immediately converted and burned, implementation choice). Preferred mechanism here is descending-price sale with partial fills.Why:
fast convergence
simple keeper strategy
handles volatile conditions better than thin order books
1. Auction parameters (per profile)
Stored in RiskRegistry:
startPremium: multiplier on reference price at start (e.g., 1.05×)
decayCurve: price decay function over time
duration: max auction time
lotSize: collateral per lot (or debt target per lot)
minFill: minimum purchase size
restartThreshold: if auction runs too long or price too low, allow restart
2. Auction lifecycle
Kick
Unwind Engine calls AuctionHouse.kick(...)
collateral is transferred from adapter to auction custody