Hi @parkhodu.eth thanks for taking the time to put in a proposal!
Can you elaborate on the specifics of what you’re proposing? After reading your snapshot proposal and this thread I still don’t really understand exactly what’s proposed here, or how it would work mechanically.
Are you suggesting that as borrowers accrue debt, some portion of the debt is accrued in $WELL, and to unwind positions people need to also pay back $WELL in addition to their borrowed assets?
If that’s the proposal then (as @Luke mentioned) that will require quite a bit of engineering work to integrate directly into the protocol’s comptroller, and it also would need a thorough security review to be safely promoted to replace the existing comptroller.
If the idea is that any borrowers on the protocol need to repay in their borrowed asset AND $WELL, I think that’d have a negative effect overall on the protocol. In the short term it may cause buy side pressure on $WELL, but longer term it opens the landscape for a competitor that doesn’t do this, and if you’re an end user frankly the user experience wouldn’t be great (lots of confusion around why people can’t pay their loans back, larger players leaving the protocol due to this mechanism, lots of UX work to try to make it a good user experience, etc).
There’s also a significant challenge of pricing $WELL to even be able to assess its value in terms of paying back a user’s debt (if it’s integrated directly).
This might be better implemented as a “vault” or something on top of and integrating with Moonwell - if you were to build something like that you could market it as a sort of insurance product - imagine a product where users basically interact with the protocol as normal, but also open an approval to their $WELL or stella LP tokens for a new contract. If a user is within some % of being liquidated, the vault automatically withdraws some amount of well/LP tokens, market sells them, and calls repayBorrowBehalf
on behalf of the user to re-capitalize them.
Unfortunately that doesn’t add buy-side pressure which seems like the presumed goal of this proposal, but the idea demonstrates the sorts of things that can be built independently of the core protocol to achieve things in a more frictionless way. IMO the point of being an open protocol is more or less that it does one core thing and does it well, and allows for people to build things that integrate directly with it.
That same vault concept can definitely be expanded on to do all sorts of neat and novel things and this is basically how things like yield optimizers work under the hood - they don’t make tweaks to the core protocol but instead build abstractions on top of existing protocols which is a lot easier to ultimately do IMO.