Mechanism

Using Collar for Borrowing

Collar is a lending protocol for pegged cryptoassets.
As an illustration, throughout this article we will only consider the example of borrowing USDT using USDC.

Borrowing Basics

An example of depositing USDC to borrow USDT using Collar
On a market for borrowing USDT using USDC, users can deposit n USDC into a Collar vault as collateral and get back two types of tokens: n CALL tokens and n COLL tokens, both minted with an expiry that specifies the duration of the loan. These tokens have the following properties:
Before expiry anyone can:
  • Redeem 1 CALL and 1 USDT for 1 USDC
  • Redeem 1 CALL and 1 COLL for 1 USDC
After expiry anyone can:
  • Reedem 1 COLL for x USDT and y USDC, where
    x+y=1x+y = 1
    and
    x=total USDTtotal (USDT+USDC)x = \cfrac{\mathrm{total\thinspace USDT}}{\mathrm{total\thinspace (USDT + USDC)}}
    in the vault.
This just means the lender receives a mix of USDT and USDC that is in proportion to the amounts repaid and defaulted (respectively) by all the borrowers.
Essentially, when a borrower deposits USDC into the vault, a covered call option and a protective put option are minted. The covered call acts as the borrower's deposit proof and is kept by the borrower. The protective put option is sold to a lender for his USDT. The price difference between the put option and the USDT acts as the loan interest.
TLDR Each loan in Collar involves 4 types of tokens: the asset deposited by a borrower as collateral (BOND token), one that represents the borrower's right to repay the loan (CALL token), the right to the debt (COLL token), and the asset borrowed (WANT token). Borrowers sell their COLL tokens to lenders for their WANT tokens. For more details, please see Collar Tokens.

Borrowing In-Depth

When a borrower wants to borrow USDT using USDC, they deposit USDC into a Collar vault as collateral and receive calUSDC tokens proving their deposit and colUSDC tokens representing their debt, and then they sell the colUSDC for USDT on a Uniswap-like AMM that is incentivized through COLLAR governance token emissions. When they want to repay the loan they have 2 options. The first is to repay the USDT to the vault and burn their calUSDC to unlock their USDC. The second is to sell their USDT back for colUSDC and burn their calUSDC to unlock their USDC. Using the second option ensures the borrower pays interest only on the duration of the loan (the first option is provided to borrowers to be used in cases of lack of colUSDC liquidity).
Importantly, the loan interest is determined by the USDT/colUSDC price. There are several market forces controlling this price:
  • at expiry, USDT ~= colUSDC, since colUSDC will be redeemable for USDT/USDC
  • the price of 1 colUSDC will always be less than 1 USDT, as otherwise someone can arbitrage by minting colUSDC, selling it for USDT, and then repaying the loan with USDT
  • the price of colUSDC should rise as expiry approaches since the opportunity cost gets lower (assets will be unlocked in less time)
Furthermore, If colUSDC << USDT:
  • buy pressure on colUSDC will increase both from lenders and from those who have borrowed USDT at an earlier time because they will sell it back for colUSDC and retrieve their USDC, arbitraging the system.
Therefore, the price should follow a pattern similar to this:
Time until expiry
colUSDC/USDT price
6 months
0.95
5 months
0.96
...
...
1 month
0.99
Expiry
1
A borrower who borrows on one month and repays the loan in the next month will only have to pay the difference in price between these two times as the interest for their loan. Buy pressure on colUSDC comes from lenders who want to pocket the premium (buy colUSDC for $0.95 and wait 6 months to get $1 back).

Parallels with Traditional Finance

calUSDC is effectively a call option on USDC, allowing its holder to buy USDC with USDT for a set price up until expiry, hence it's name.
On the other hand, colUSDC is a claim on the loan collateral that can only be exercised after expiry, so we chose to prefix it with col (for collateral).
This construction is similar to a collar, an option strategy from traditional finance used to limit both downside and upside. It is based on buying a put option and financing that by selling a call option on the same asset, and that's where our protocol gets its name.

Protection Against De-Pegs

Borrowing assets using Collar gives you protection against de-pegs of both the asset you borrow and the one you deposit as collateral (although not both at the same time). These are the possible scenarios for borrowers of USDT using USDC as an example:

USDC De-Pegs

Borrowers keep the USDT and never repay the loans.
The vault contains USDC, so, at expiry, the lenders redeem their colUSDC for USDC.

USDT De-Pegs

Borrowers repay the USDT and burn their calUSDC to unlock the USDC.
The vault contains USDT, so, at expiry, the lenders redeem their colUSDC for USDT.

USDC and USDT Stay Pegged

Borrowers either keep the USDT, repay the USDT and burn their calUSDC to unlock the USDC, or buy back colUSDC and burn it and their calUSDC to unlock the USDC.
The vault contains both USDT and USDC depending on the choices made by the borrowers, so, at expiry, the lenders redeem their colUSDC for a mix of USDT and USDC.

Minimizing Pairs

With the mechanism described so far, we'd need to establish a new AMM pool for each BOND/WANT token pair. This would heavily split liquidity across pools, as you'd need
O(n2)O(n^2)
pairs to cover all possibilities.
Instead, in the cases of DAI, USDC, and USDT as BOND tokens, we plan to only have a single pool in which all 3 are paired against Curve's 3Crv LP token, as that will allow us to get liquidity against DAI, USDC and USDT with a single pair. From the user's side this just adds an extra step to the flow, as the borrower will need to withdraw the asset they want from the 3Pool after borrowing 3Crv from Collar. Please see CIP 1.