Loan (Borrow)

Money markets, facilitated by coupons

Users can borrow accepted assets from Coupon Finance by putting up collateral and buying coupons from the market. Coupon purchases are seen as an upfront interest payment on borrowed assets. Since interest is paid only once and upfront, it provides a fixed-rate loan. Consequently, the borrower assumes a long position on interest rates.

A Loan Position NFT (Non-Fungible Token) is minted for every loan. This NFT keeps track of expiry, liquidations, and accounting. The loan must be repaid before expiry, or it becomes due for partial liquidation.

Users must lock the corresponding coupons when borrowing, and repaying their debt before the expiry unlocks the coupons which they can sell back into the market to get part of the interest they paid back. If interest rates rise fast enough, this process could net a profit for the borrower from interest alone.

Interest Rate Paid by Coupon Purchases

The interest rate paid by coupon sales is the following.

Let p=average spent on coupon purchases per unit of the underlying assetLet d=duration until the last coupon expiresAPY=((1/1p)1 year/d1)×100%\text{Let }p=\text{average spent on coupon purchases per unit of the underlying asset}\\ \text{Let }d=\text{duration until the last coupon expires}\\ \text{APY}=((1/1-p)^{1\text{ year}/d}-1)\times100\%

Let's see how we derived this equation through an example.

A loan for 100 ETH was taken for two epochs, with the first and second epochs ending in four and ten months, respectively. This will require 200 coupons, 100 coupons for each epoch. If there are enough coupons for sale at the first and second epochs at 0.041 and 0.059, the total cost of buying the coupons needed would be 4.1 + 5.9 = 10 ETH.

At first glance, this looks like borrowing 100 ETH for ten months costs 10 ETH in interest. However, since 10 ETH has been paid upfront, the loan looks more like a loan for 90 ETH, and 10 ETH more must be borrowed to truly borrow 100 ETH. An additional loan of 10 ETH will cost 1 ETH, and so on, creating an infinite geometric series of loans to fill 100 ETH. The sum of this geometric series would add 11.111... ETH to the loan, making the debt 111.111... ETH for borrowing 100 ETH. Since this must be paid back in ten months, adjusting for a year would result in an interest rate of roughly 13.48%.

An interesting observation from the example is that while the coupons for the second epoch cost less than the first epoch per month, the interest rates of borrowing for just the first epoch (13.38%) would have been lower than the interest rate for two epochs (13.48%). Even though coupons cost less at epochs further away, the interest will compound more, making it more expensive to borrow at longer terms, as should be with common sense.

Borrowing in Practice

The cyclic process of buying coupons and borrowing more to cover to cost of the coupons is pre-calculated and executed through a flash loan. This means that a bigger loan than the user intended is taken out to buy enough coupons to cover the initial loan as well as the loan to buy the said coupon. Users will see that the debt is larger than their initial intention, and the added amount must be repaid before expiry, acting as the interest payment.

Collateral

To borrow, the loan must be overcollateralized. This collateral will be lent on Aave to generate protocol yield. This yield compensates for the losses incurred when market-making, allowing Coupon Finance to offer competitive rates consistently.

The borrowing capacity depends on two key factors: the type of collateral used and the volume supplied. Each asset pair is assigned a liquidation threshold and liquidation target. The threshold establishes the maximum amount that can be borrowed against a given collateral.

In order to prevent users from inadvertently borrowing excessively and potentially triggering a liquidation event, a precautionary measure has been set in place. Initially, our front end will use the liquidation target instead as the maximum borrowable amount.

The liquidation target is a measure that indicates the extent to which a liquidation can be initiated once the Loan-to-Value (LTV) exceeds the designated liquidation threshold. It serves as a safety net for borrowers, ensuring they are not unfairly liquidated beyond the means to keep the system solvent.

The liquidation threshold and target can be found here.

Last updated