Lines of Credit ("ALOC")
Automated Lines of Credit (“ALOCs”) are lending pools for a single borrower, where the interest rate paid by borrowers is determined by a configurable interest rate curve.
Example of Automated Line of Credit portfolio


Why is this useful?

Automated Lines of Credit provide borrowers a flexible way to raise capital and lenders a way to deploy capital while maintaining strong liquidity.
Borrowers define the rate curve in a way such that lenders are incentivized to put more funds into the pool when borrowers are drawing capital at a higher utilization rate.

How do interest rates work?

It’s generally (but not always) the case that as utilization increases, the interest rate increases (but not past a ceiling interest rate, chosen by the borrower) and as utilization decreases, the interest rate decreases (but not past a floor interest rate, chosen by the borrower)
From the borrower’s perspective: Borrower expresses that they are willing to borrow between [x]% and [y]%, with an ideal utilization rate of [90]% so that some amount of instant liquidity is available to lenders.
From the lender’s perspective: Lenders want to deploy capital to loan opportunities without losing the ability to withdraw funds when needed. In return, lenders earn a dynamic rate based on the pool utilization and interest rate curve configuration.

How do ALOCs get created?

Borrowers work with TrueFi DAO governance to create an ALOC. This should be done as a standard proposal to TrueFi DAO describing all the parameters involved in the proposal. It is a 2 step process. Borrower requests ALOC approval by the TrueFi DAO. Borrower recommends parameters (see section below How are ALOCs configured?) If vote passes, then the address requesting is whitelisted for ALOC creation that adds to our factory. Borrower deploys ALOC with agreed parameters

How can ALOCs be configured?

  1. 1.
    Borrowers define base parameters:
    • Underlying token: can denominate pool in any ERC20 (incl but not limited to USDC,USDT,WETH,etc)
    • protocolFee (const) = 50 bps paid by lender at withdrawal
    • premiumFee [optional]: = set to 0 by default; can be configured by borrower
    • endDate: all loans must be repaid by end date
    • maxSize: principal in portfolio cannot exceed this amount
    • “Lender restrictions” (aka deposit strategy): portfolio can be permissioned, can use whitelist or signature to determine who can lend
  2. 2.
    Configure Interest rate curve (similar to Aave/Compound/other protocols, borrowing rates are defined by a rate curve). For a worksheet example, see this spreadsheet.
    • Set Interest rate min/optimum/max
    • Set interest rate curve “kinks”
    • Note: TrueFi core team are happy to consult with borrowers to help set these curves For brief demo of configuration, please see this for video of ALOC interest rate curve configuration:

How does lending to an ALOC work?

Once a portfolio is created, lenders can put funds into the portfolio if they meet the lender restriction requirements that have been configured. Lenders can withdraw from the portfolio’s idle funds at any time. As lenders enter/exit the portfolio, the utilization of the portfolio changes, and thus, the lender APY changes as the interest rate paid by the borrower changes.
When a lender withdraws, they pay 50 bps to TrueFi protocol treasury.

How are fees calculated?

When a lender withdraws, they pay fees to TrueFi protocol treasury which consist of protocol fee and [optional] premium fee.
Protocol fee is always 50bps. The premium fee can be set by the borrower and also goes to the protocol. As an example, a DAO borrower could incentivize TrueFi DAO to deploy their ALOC by increasing the premium fee they choose to pay to the protocol.

How does borrowing from an ALOC work?

Borrower can withdraw idle funds at any time before the ALOC’s endDate. After the end date, deposit and borrow actions within ALOC are disabled, and borrower has to repay all the loans.

How is interest accrued?

As lenders enter/exit the portfolio, the utilization of the portfolio changes → as the utilization changes, the Borrow APY for the borrower changes.
Note: Borrower’s interest owed is calculated only on the principal borrowed (i.e. interest amount is not compounded, borrower does not “pay interest on interest”).