Core Protocol Functions
Minterest seeks to be the money market lending protocol of choice for lending and borrowing, with a user experience and economic model that better benefits protocol participants. Minterest, as a protocol-driven ecosystem, can support existing wallets with high adoption like MetaMask, Ledger and others. It is able to do this because the protocol is built on top of Moonbeam, an Ethereum-compatible smart contract parachain on Polkadot.
This section outlines the core functionality of Minterest protocol.
When users participate in the Minterest protocol and supply assets, they access the Minterest protocol interface and supply their assets via signed transactions.
Once the assets are lent by the lender, the protocol directs those assets to the matching pool of underlying assets of the same designation as those lent and issues a receipt token.
The receipt token is a non-fungible internal accounting mechanism, its functionality never leaves the system. It operates as a bookkeeping tool, enabling the tracking and recording of a user’s asset lifecycle within the Minterest ecosystem.
Each token asset type supported by the protocol is in a separate pool, and each pool has its own distinct economy model, fully independent of all other pools. A pool of underlying assets, all receipt tokens, and the economy model form a unit called a market.
When a user chooses to withdraw their lent assets from the pool, the receipt token is used to calculate any additional interest based on the value of assets lent by the user. The protocol then sends the original asset quantity plus the additional interest balance to their wallet address.
While receipt tokens are always a component of the protocol’s architecture, users are able to transfer their receipt token from their wallet to another which in doing so, results in the balance of token assets associated with the receipt token also being transferred to the new wallet.
When borrowing a specified amount, the borrower supplies the required amount of collateral and the protocol releases tokens from the pool of the borrowed underlying asset. When a borrower repays, the protocol returns the tokens from the borrower to the pool of the borrowed underlying asset and updates their lend/borrow utilisation ratio (defined below).
The interest rate calculation is an accrual, based on asset values in relation to their markets. The calculation is applied to all borrowers of a market uniformly and adjusted over time, as the relationship between the amount lent to and the amount borrowed from a market changes.
Interest rate calculations on a market are updated every time any transaction is undertaken for this market, including (but not limited to) lending, borrowing, repaying or liquidating the asset.
The interest rate is tracked for each money market, and is captured by a Borrow Index (Interest Rate Index), which is calculated each time the interest rate changes.
Borrowing from the Minterest protocol is over-collateralized, meaning the amount a user can borrow is less than the amount they supply as collateral, and the maximum proportion is known as the Utilisation Limit. The Utilisation Limit is always a fractional proportion of the collateral supplied and expressed as a percentage, e.g. a borrower may not borrow more than 80% of their supplied collateral.
Utilisation Limits are specific for each underlying asset pool and are applied for each token pair in lend and borrow pools. As an example, if Bob supplies 100 USD in DAI and 100 USD in ETH, with relative Utilisation Limits of 30% and 50%, the maximum loan value available will be the sum of 30 USD in DAI and 50 USD in ETH, or 80 USD in total.
The solvency of any borrower position depends on the Utilisation Ratio, which is the ratio between the loan amount and the collateral they are required to supply to secure it. Again, if Bob borrows a value of 60 USD backed by collateral valued at 80 USD, the Utilisation Ratio will be 60/80 or 0.75. If the Utilisation Ratio reaches 1 or more, Bob’s position is insolvent, and the protocol will liquidate the required portion of Bob's collateral assets to bring his portfolio back to solvency within allowable Utilisation Limits.
The Utilisation Ratio is also affected by the price movements of assets and is adjusted block-by-block according to market values determined via the protocol’s pricing oracle. If the Utilisation Ratio falls below the required threshold, the borrower will have to repay a portion of the funds borrowed to regain the required threshold level, or the position will be liquidated.
In the event that the market works against the borrower, with a collateral asset value drop or a loan asset value increase resulting in an insolvent position, the protocol resolves this with an automated liquidation procedure where it takes a share of the collateral priced at a discount and exchanges the collateral for the borrowed asset on market to repay a portion of the loan and bring the position back to solvency.
Referring again to our example above, our user is free to distribute their maximum loan value of 80 USD across as many assets as they wish. All supplied assets will be considered collateral, and any enabled asset can be borrowed against it, including borrowing the same asset that was lent, and is known as an all-to-all approach.
The total lent amount is used to support all borrowings of the user, and vice versa. Every additional loan is apportioned against all previously supplied assets which are used as collateral. All the internal logic, which involves operations with two or more assets at a time, is done through a conversion of assets to USD amounts using pricing provided by the protocol’s oracle.
The protocol compares the USD value of all collateralized positions with regards to the aforementioned Utilisation Ratio with the USD value of all loans, including the accrued interest on lending and borrowing. If the Utilisation Ratio is 1.0 or more, the borrower’s portfolio is subject to liquidation.
Liquidations in lending protocols occur when a borrower’s position becomes under-collateralized, and may occur when:
- the price of a borrowed asset increases and so reduces the comparative value of collateral backing the borrowing
- the price of collateralized assets fall, resulting in the same, or
when borrowing, interest charges consume too much of the collateral
Liquidation processes undertaken when such events occur ensure the accounts of lenders and borrowers and so the protocol’s various token pools remain solvent.
In most lending protocols, liquidation events are executed by a select group of external users, commonly known as liquidators. Liquidators are third-party actors in the DeFi sector who, in such models, undertake activity to ensure the solvency of a wide variety of lending protocols.
Liquidators individually maintain bots to scan lending protocols to identify under-collateralized borrower positions. Every major lending protocol enables liquidators to seek under-collateralized borrower positions at a discount. This can vary from 5% to 15%, and this discount acts as the liquidator’s fee and is their financial reward for undertaking this activity on behalf of the protocol.
Consider the example where Lenny is a liquidator and Bob is a borrower and Bob wishes to borrow in USDC from a lending protocol using ETH as collateral. Assuming the Utilisation Limit for ETH pool is 80%, this means Bob can borrow up to 80 USDC against $100 worth of ETH collateral. Bob adds the $100 collateral in ETH and takes out a loan of 60 USDC. In this scenario, his utilisation ratio will be 60/80 = 0.75.
Unfortunately, ETH’s price declines by 30%, leaving the value of Bob’s collateral at 70 USD ($100 * (1-0.3)), which means the Utilisation Ratio now exceeds 1 i.e. $60/($70*0.8) = $60/$56 = 1.07. For the USDC-ETH pair the liquidation discount, or liquidation fee, is set at 5% by the protocol. Now Lenny, as liquidator, will seek Bob’s ETH collateral at a fixed discount of 5% to market price so he will pay 66.5 USDC to get the 70 USD worth of ETH collateral, which at the time the event occurs results in a 3.5 USD surplus. Liquidators will either choose to hold the underlying asset or to liquidate them on-market so as to lock in this surplus.
DeFi protocols define their own individual fee structures and minimum percentages of loan values that liquidators may liquidate. One of the issues with these existing designs is that a borrower’s position is almost always over-liquidated beyond the amount required to return the borrower’s position to solvency. This occurs for an economically rational reason which is to ensure liquidation events are substantive enough to be economically viable for liquidators.
Such a model has an obvious disconnect in user agendas, given the protocol needs to ensure the number of liquidation events are numerous and valuable enough to maintain an ever-present community of liquidators, with the cost being borne by other ecosystem participants, namely its borrower’s, for whom such a model is arguably less than optimal.
Lending protocols exhibit a lack of insightful user tools providing detailed historical analytics to enable borrowers to make informed risk analysis decisions regarding their portfolios. This highlights an existing tension point, where lending protocols service the needs of borrowers too favourably such that it reduces liquidation events to the extent it undermines the economic viability of liquidators and so the protocol’s key solvency management tool.
Minterest does something very different; the protocol itself undertakes the liquidator role, and so removes the need for external third-party liquidators. Minterest’s automated liquidation process directly benefits borrowers, as algorithms do not require economic incentives to participate in liquidation processes. The protocol is therefore able to economically liquidate significantly smaller percentages of borrower collateral which results in a more equitable and fairer liquidation process, as the protocol only liquidates that amount required to return the borrower’s collateral position back to solvency. In doing so the misalignment of agendas between borrowers and external liquidators disappears.
- An automated bot array runs protocol solvency checks, replacing the external liquidator function in identifying under-collateralized borrower positions. Each bot database mirrors the chain, with portfolio provisioning ensuring security and redundancy.
- Once an under-collateralized position is identified, the collateral required to be sold and the most efficient on-market liquidation strategy are both algorithmically determined.
- Sell pair calculations are finalized, the liquidation event is triggered, and the data is updated on the protocol.
- A designated smart contract further validates if the user is under-collateralized, the existing loan amount, and newly required collateral position such that the user’s Utilization Ratio will be below the required 1.0 position, and then executes the required liquidation.
- The smart contract exchanges the liquidated collateral assets on-market to compensate the borrowed token pool and finally validates the user’s new position as being solvent again.
- If the smart contract determines any precondition or calculation to be invalid, the liquidation event is cancelled.
- Upon confirmation, the user's borrow position is again solvent and the liquidation event is determined to have been completed.
Brief from Josh, CEO at Minterest.