If you have a loan on a DeFi platform, the safety of that loan depends on two things:
- Your current Loan to Value ratio
- The protocolâs maximum Loan to Value ratio
In theory, this is quite simple to communicate, but in practice can become quite tricky.
How liquidation works in DeFi
The maximum amount you can borrow against the value of your collateral is known as the maximum loan to value ratio.
This ratio is determined by the protocol and will usually be somewhere around 65-90%. If you exceed this level, your collateral will start being sold to cover the debt.
This being crypto - and stomach-churning volatility being the norm - the value of your collateral can swing up and down.
This can put you at risk of exceeding the max LTV.
How to show risk
tldr; there is no standard way of showing this risk. This is annoying.
Â
Basically, we need to show the difference between the userâs LTV and the max LTV.
The smaller that difference, the riskier their position is.
Â
This apparently simple problem is surprisingly difficult in practice.
This is partly because of how we visualise numbers:
- We think of values âgoing upâ and âgoing downâ.
- We think of 1 as being âlowâ and 10 as being âhighâ.
- We think of progress bars âincreasingâ to the right and âdecreasingâ to the left.
Â
You will see what I mean with the following examples.
Abracadabra
Scale
0% â 100%
100% = bad
Â
When this bar is at 100%, this means there is no difference between my LTV and the max LTV. Therefore I will be liquidated.
In other words, when my positionâs health is 100%, it will die. đ¤Ł
Abracadabra also show a "required drop in price" which again points to the inconsistent match between language and visuals⌠this is useful info but we think of the price "dropping" and causing the health level to "fall", yet the health bar goes "up" to 100%, which is badâŚ
Â
Sushi
Scale
0% â 100%
100% = bad
Same as Abracadabra, but no progress bar. A traffic light dot instead.
Â
Alpaca Finance
Scale
0% â 100%
0% = bad
Â
Alpaca show the BUFFER between LTV and max LTV instead. This inverts the usual data and as the difference between your debt ratio and the liquidation zone decreases, so does the bar. This seems more reasonable. Alpaca have a better grasp of visualisation and they call the difference the âKill Bufferâ. They also add a cool illustration.
Â
Aave
Scale
1 â ???
1 = bad
Â
Aave do their own thing here and introduce a âhealth factorâ. When the number hits 1, you get liquidated. I donât see how this is intuitive. Surely if youâre going to have a sliding scale that moves negatively, you would make it end at zero? Nor is it clear how this relates to the 41.5% current LTV.
Â
Angle
Scale
1 â ???
1 = bad
Same deal as Aave, but no traffic light colours.
Â
Health Factor?
Iâve actually done a small amount of user research around this. Not enough to take it to the bank, but I did speak to friends and colleagues who work in web3. Mostly pulled from a co-working space I go to, plus some telegram groups. So weâre looking at a crypto-savvy crowd but one that includes users who have never taken a loan, as well as users who use them all the time.
Admittedly, it wasnât a huge sample size, but I quickly uncovered two things:
- Users who are already familiar with a health factor, quite like it.
- Users who who have not used a health factor, dislike it and find it confusing.
This suggests it is a sub-optimal method for explaining how safe a loan position is. If youâre a new user and youâre monitoring your loan position to make sure you donât get liquidated, you want to quickly assess the situation and not have to make mental calculations. Some of the other tricks explained below tested much better, and were generally seen as clearer.
Other UI tricks to make it clearer
Traffic light colours on the numbers
Simple green, amber, red work very well as quick signifiers.
Â
Illustrations
Emojis or custom illustrations like the Llama are easily recognized.
Traffic light dots
Same as putting the colour on the data, but a bit more subtle.
Â
Descriptions e.g. Low, Medium, High.
The user doesnât have to âtranslateâ an abstract number into a status.
Â
Conclusions
- 100% health suggests it is healthy. Do not represent a bad outcome with 100% health.
- Better to do a x â 0 scale. Or 0 â x
- âHealth factorâ is very abstract and hard to understand
- Real data like âprice at liquidationâ or ârequired price drop until liquidationâ are more useful
- Visual indicators like health bars, emojis, illustrations and traffic lights are helpful
- Stating risk as low, medium, high etc can make things clearer
- Too many numbers are confusing.
Â
These can be combined together in a way that suits the projectâs individual brand.