Liquidations and the Stability Pool
The stability pool serves as a primary safeguard to ensure the solvency of the system. Its role is to provide the necessary liquidity to cover the debt from liquidated vaults, thereby guaranteeing that the total
mkUSDsupply is always adequately collateralized.
Whenever a vault is liquidated, an equivalent amount of
mkUSD(corresponding to the remaining debt of the vault) is destroyed from the stability pool's balance to settle its debt. As a result, the entirety of the vault's collateral is transferred to the stability pool.
The stability pool is financed by users (known as stability providers) depositing
mkUSDinto it. Over time, these stability providers witness a proportional reduction in their
mkUSDdeposits, but in return, they gain a proportional share of the liquidated collaterals.
Given that vaults are usually liquidated at slightly below
120%collateral ratios, it is anticipated that stability providers will amass a larger
usdvalue of collaterals relative to the debt they offset.
Stability providers benefit from financing the stability pool in several ways.
To start with, stability providers get access to discounted collaterals (from all the supported collaterals in Prisma) from liquidations without the need to spend gas or run liquidation bots.
As liquidations happen just below the
MCR, which is greater than
100%, stability providers receive a discount of
MCR - 100%on the liquidated collateral, thus experiencing a net gain when a vault is liquidated.
Assume a total of
2,000,000 mkUSDexists in the stability Pool, and you've deposited
If a vault with
200,000 mkUSDdebt and
300 rETHcollateral faces liquidation when the
$666, and another with
100,000 mkUSDdebt and
200 wstETHcollateral is liquidated at a
$666, you'll be impacted based on your 10% pool share.
Specifically, your deposit will decrease by
10%of the liquidated debt, amounting to
30,000 mkUSD. This means your deposit will diminish from
200,000 to 170,000 mkUSD. In compensation, you'll acquire 10% of the liquidated collateral:
20 wstETH. At the given price, this collateral is valued at
$33,300, rendering you a net profit of
$3,300from the liquidation event.
Stability providers can coordinate and vote to maximize the share of emission directed toward stability pool deposits
In order to maintain full collateral backing for the entire
mkUSDsupply, vaults that descend beneath the minimum collateral ratio of
120%are subject to liquidation.
The debt associated with the liquidated vault is nullified and absorbed by the stability pool, and the collateral is redistributed amongst the stability providers.
Despite the liquidation, the vault owner retains the full amount of
mkUSDborrowed but suffers an overall loss up to
20%in value. Consequently, it is crucial for borrowers to maintain their collateral ratio above the minimum threshold of
120%, and ideally, they should aim to keep it above
Anyone can initiate the liquidation of an vault once its collateral ratio falls below the Minimum Collateral Ratio of
120%. To incentivize this action, the liquidator is rewarded with a gas compensation.
Liquidating vaults involves certain gas costs that the liquidator must bear. To mitigate these costs, the protocol allows batch liquidations of multiple vaults, reducing the cost per vault. However, to ensure liquidations remain profitable even when gas prices skyrocket, the protocol provides a gas compensation determined by the following formula:
Gas Compensation = 200 mkUSD + 0.5% of vault's Collateral
200 mkUSDis sourced from the Liquidation Reserve, while the variable
0.5%portion is taken from the liquidated collateral. This slightly diminishes the liquidation gain for stability providers.
The way liquidations are enacted varies depending on certain conditions. This table elucidates all the different scenarios.
= Individual Collateral Ratio
= Minimum Collateral Ratio
= Global Total Collateral Ratio
= Stability Pool
When the stability pool lacks funds, an alternate liquidation process known as "redistribution" comes into play. In this scenario, the system reallocates the debt and collateral held within liquidated vault to all other vaults currently in existence. This reallocation is performed based on the collateral value of each receiving vault.
Collateral transferred to the stability pool in the contexts of liquidations can be claimed by depositors. Before being able to claim the user must accrue its current apportioned amounts.
Operations which perform such an accruing are
- 1.Depositing to the pool
- 2.Withdrawing from the pool (also 0 amount)
- 3.Claiming Prisma rewards
To avoid an extra transactions the claimer can assess if the accrued value is up to date with the following client side check:
claimable = sp.getDepositorCollateralGain(account)
for i in range(len(claimable)):
if claimable[i] > 0:
assert sp.collateralGainsByDepositor(account, i) == claimable[i]
if this check passes, the user can call
claimCollateralGainsnormally using the indexes with non zero claimable amounts in the claimable array. if this check fails, they must either:
- 1.claim any pending PRISMA rewards first
- 2.send a transaction to withdraw 0 mkUSD from the stability pool, updating the claimable balance.