Safety features

The Puzzle team cares about the safety of funds supplied to our protocol. That’s why we’ve implemented a set of features that make the protocol one of the safest money market:

1. XTN (ex USDN) !=$1

One of the weaknesses of Vires is the hardcoded USDN price which made it too profitable to use USDN as collateral for borrowing USDT and USDC. Such borrowing involves no risk of being liquidated, since prices of stablecoins in Vires relate to each other 1 to 1 and moreover this enables a higher loan-to-collateral ratio.

This was one of the reasons for the insolvency of USDT and USDC markets of Vires — all funds were borrowed by whales who would not pay back, making withdrawal of supplied assets impossible. Puzzle Lend oracles use real market data to estimate the price of XTN, hence the risk and return of borrowing with XTN as collateral is fairer. You needn’t worry that a whale run will drain all stablecoin reserves.

2. Insolvency protection

When market utilization reaches 90%, the protocol begins reducing the LT* of the utilized asset by 0.25% per day. This helps to avoid the market state where a user cannot withdraw their deposit (i.e. all liquidity is borrowed). This reduction lowers the borrowing limit (and Account health) of users who have borrowed an asset of the insolvent market, incentivizing them to repay their debt. If their Account health falls to zero, their debt will be liquidated, causing them to lose a portion of their collateral. When the utilization rate reaches 90%, LT starts increasing back by 0.25% per day, as long as the utilization is below that level.

*The higher the Liquidation Threshold (LT), the higher the asset’s borrowing limit relative to the collateral provided.

3. Audited smart contracts

There is always a risk of exploits and bugs in any code. The Puzzle team takes this risk seriously, thus all smart contracts involved in Puzzle Lend have been audited by external entity.

4. TWAP oracles

TWAP — time-weighted average prices. Such oracles collect price data every minute and calculate a mean price within rolling 60 minutes. These secure user funds from attacks based on price manipulation.

For example, an attacker buys a lot of Puzzle token > Puzzle price goes up > the attacker use Puzzle as collateral to borrow USDT while the Puzzle price is high. This usually implies they can borrow more, than their Puzzle tokens were initially worth > Puzzle price drops to the normal level > The attacker profits, protocol takes a loss.

Price averaging makes this type of attack costly — an attacker has to keep up the buy pressure for 60 minutes, resisting the sell pressure of the holders. In most cases, the attacker simply cannot break even.

5. Multiple price feed sources

The protocol receives price data from two sources:

  • Waves Exchange trades

  • wavesCap

It makes the oracle failsafe — even if one oracle is down, the other works. This makes the protocol less prone to attacks on oracles and ensures that no one can take advantage of the incorrect price of an asset to borrow without the intention to return.

Last updated