Unit Protocol
Price oracles

What are oracles?

An essential part of the DeFi ecosystem, oracles allow protocols to incorporate of both on and off-chain data for use in their smart contracts.
Unit Protocol uses oracles to gather current price data on the dozens of tokens accepted as collateral.
You can see Unit Protocol oracle contracts here: https://github.com/unitprotocol/core/blob/master/CONTRACTS.md

Example of an oracle price feed

Price quote from Chainlink oracle

Sources underlying an oracle price feed

Detail feeding Chainlink oracle price quote

The oracle price feed used in Unit Protocol

Unit Protocol risk and liquidation calculation based on oracle price feed

Why is this important?

You need to have access to accurate and reliable pricing information to set the parameters for borrowing USDP, managing collateralised debt positions (CDPs), and, when necessary, liquidating those positions.

Unit Protocol and oracles

Initial attempts to use Keep3r and Chainlink proved to be unreliable. It was clear that a new solution was needed. So, in April 2021, Unit Protocol underwent a major upgrade to address the issue. During that time, all $USDP borrowing limits were temporarily set to zero on all collaterals except ETH, which used Chainlink. During the upgrade, all oracles were successfully migrated to Chainlink. This solution meant that we could add even more collaterals, while also bringing down the overall expense of retrieving data. As we inherited the security underpinning Chainlink oracles, Unit Protocol now has the most accurate pricing data possible.
As a backup to the Chainlink price oracles, Unit Protocol maintains a Keydonix-based oracle solution which relies on a time weighted average price (TWAP) from Uniswap v2.