Comment on page
Probity is a system that allows users to lend stablecoin by supplying supported underlying assets. The stablecoin can be borrowed by posting collateral. You can think of Probity as a flexible and secured credit facility. The interest rate for borrowing is calculated based on a curve function for the fund utilization. More detail can be found at Interest Rate. The interest rate is given out to the equity position holder minus protocol fee, which goes toward the Probity's reserve pool. The reserve pool funds the operations of the system and ultimately backstops system debt.
Currently, we have
AssetManagercontracts to handle the following asset types:
The specific assets supported will depends on the administrator(s) of the Probity system as each asset has a different risk profile.
Stablecoin in Probity is created by opening new equity positions, which is done by committing an underlying asset to the lending pool. In the base case, the underlying asset is USD and the equity position is the least risky. However, any underlying asset could be supported, such as a gold commodity token, e-SDRs, Treasurys, or even crypto assets like Bitcoin. Once the stablecoin is created, funds are stored in the system treasury and available to be borrowed.
Those who wish to borrow will need to put up a collateral to open a collateralized debt position. The interest rate the borrower pays is based on the how much percentage of the stablecoin in the treasury has been lent out so as to provide an automated price for liquidity.
The Treasury contract holds the funds created by equity positions and also issues the ERC20 version of the stablecoin. The Treasury also handles PBT (the system governance token), and allows for the withdrawal of PBT to its ERC20 version.
The Teller contract calculates the interest rate based on the current utilization ratio and determines the new rate accumulator and protocol fee values to be updated.
Rate accumulators are how the interest is calculated for debt and equity positions. These values are calculated and updated by Teller. More details on how this is calculated and utilized can be found in Interest Rate. When the new rate accumulators are calculated, a protocol fee is also assessed and credited to the Reserve Pool balance.
For both debt and equity positions, the holder needs to manage assets to maintain a value greater than the risk asset liquidation ratio. When the underlying asset can no longer meet the required liquidation ratio, a liquidation will occur when initiated by an agent, and the asset is auctioned off in order to close the position. When a liquidation event occurs, there is a liquidation penalty. This penalty is assessed and added to the amount of funds to raise in the auction. If there are remaining assets left over after the minimum fundraise has been met, the remainder is returned to the original position holder.
System debt is the amount of stablecoin tokens that are not backed by any underlying asset. Typically, this balance can rise during the liquidation process when the a position's net asset value (NAV) falls below par value of the supplied stablecoin. This balance can also arise when system governance decides to take on additional system debt.
The Reserve Pool contract is the system's reserve capital that can be used to pay off system debt. Governance can also decide how to use these funds in other ways. The Reserve Pool balance will typically go up due to protocol fee collection. Fees are assessed every time a rate accumulator update is completed. Liquidation penalty fees are assessed when a liquidation event occurs.
The governance role acts as the administrator of the Probity system and has the capability to do execute administrative actions, such as 1) adding new assets, 2) modifying fee rate, 3) registering a new trusted contract address, 4) upgrading system contracts, etc... Essentially, the governance role has complete control over the whole Probity system.