Uniswap is an automated liquidity protocol: a decentralized exchange based on opensource smart contracts. This fully on-chain market allows to swap Ethereum and ERC20 tokens.
Anyone can contribute to a Uniswap liquidity pool, by depositing an equivalent value of the 2 assets corresponding to the pair of the exchange, as described in the Uniswap V1 Whitepaper. The automated liquidity protocol is based on a constant product formula, which can result in profits or losses, depending on the volatility of the pair. Liquidity providers are rewarded through commissions composed of exchange fees (30 bps) and spread which depends on the market conditions as explained in this model of Uniswap returns.
Users who provide liquidity to Uniswap pools get UniTokens representing a share of the liquidity. Effectively, these tokens are derivatives of the underlying Ethereum/ERC20 pair. They are backed and instantly redeemable in the two underlying currencies through the smart contract. Therefore, the risks of the UniTokens are a combination of the risks of the underlying currencies.
To continue expanding the frontier of possibilities, Aave is bringing these Uniswap liquidity assets to the lending space as collaterals. To avoid potential contagion, these new assets are included within an independent secondary market with its own risk profile. This has the benefit of allowing different types of liquidity without threatening the protocol's primary market funds. Loans guaranteed by the liquidity tokens can only be taken in stablecoins to contain any volatility risk on the liability side.
The following Uniswap liquidity pools have been considered:
The risks of the Uniswap secondary market are derived from the methodology described in the currency risk section as well as the following analysis.
UniTokens share the risks of underlying assets with a few extra risks linked to increased complexity of the smart contract. Uniswap liquidity pools have been launched at different time, however the underlying smart contract is the same, having been audited by Consensus Diligence in April 2019 and assessed with a runtime verification. The Uniswap V1 liquidity pool smart contract first came into effect in March 2019 and holds around 500,000 transactions across the different pools. Applying the methodology developed for the currency risk assessment, the Uniswap smart contract risk is B.
For each UniToken, the overall smart contract risk is calculated as the minimum between the Uniswap contract risk and the average of the risks of the underlying currencies.
In terms of counterparty risk, liquidity tokens are fully decentralized with underlying assets held by the smart contract with the code being the law.
The counterparty risk is the average of the counterparty risk of the underlying currencies.
UniTokens are backed half and half by Ethereum and the corresponding ERC20 pair leading to exposure to the market risks of the underlying tokens which are described in the currency risk section.
Some adjustments are carried on the risk parameters to account for the specificities of the UniToken model.
The risks of the UniTokens are assessed for each liquidity pool currency pair based on the assessment above and the currency risk ratings of the primary market. An additional assessment as been carried for sETH which is not part of the primary market.
Since Uniswap liquidity tokens are backed by a pair of tokens, the theoretical risk parameters correspond to the average of the risk parameters of the underlying currencies. sETH is a high risk currency not included in the primary market, so therefore consider it has the highest risk parameters.
Aave is the first protocol to integrate UniToken, so it is necessary to convey a conservative approach. Uniswap prices have been subject to manipulation linked to their rather low volume, for example during the BzX exploit. To protect from this risk, the protocol calculates the price of UniTokens based on ChainLink’s price oracle as described in the price discovery section with the calculation successfully audited by Consensys Diligence.
To further protect the protocol, a 7% security margin is added to the loan to value and liquidation threshold.
Additionally, the UniToken liquidation process is more complex: liquidators need to liquidate on Aave, then redeem on Uniswap. This results in higher gas costs with cascading effects in case of network congestion. To smooth the process, the liquidation bonus is set at 10% for all UniTokens.
These adjustments to risk parameters ensure liquidations can be carried on with profit under stressed market conditions guarding the solvency of the protocol.