Lines of Credit
Automated lending pools governed by supply/demand curve
Last updated
Automated lending pools governed by supply/demand curve
Last updated
For technical docs, see Lines of Credit technical details
TrueFi Lines of Credit (also referred to as Automated Lines of Credit or "ALOCs”) are lending pools for a single borrower, where the interest rate paid by borrowers is determined by a configurable interest rate curve.
For a brief demo, see the video below:
TrueFi Lines of Credit provide borrowers a flexible way to raise capital and lenders a way to deploy capital while maintaining high liquidity.
TrueFi Lines of Credit use supply and demand dynamics to set interest rates, giving lenders incentive to supply capital to pools above target utilization rates and borrowers incentive to maintain optimal liquidity ratios in each pool.
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.
Yes, each line of credit has a specified maturity date (endDate
). All debt and interest is due by this maturity date. Once maturity has passed, borrowers cannot draw additional capital and lenders cannot lend additional funds to this line of credit.
Once a Line of Credit is created, lenders can put funds into the pool if they meet the lender restriction requirements that have been configured (lines of credit can be permissionless, or permissioned pools).
Lenders can withdraw from the pool’s idle funds at any time funds are available. As lenders enter or exit the pool, the utilization of the pool changes, and thus, the lender APY changes as the interest rate paid by the borrower changes.
Once a line of credit has been created, borrowers can withdraw idle funds at any time before the pool's maturity (endDate
). After maturity, deposit and borrow actions within the line of credit are disabled, and borrower must repay all principal and interest accrued.
Interest owed by the borrower is accrued block-by-block. Similarly, lenders accrue interest each block as the pool value increases (pool value = principal + interest accrued).
Note that for borrowers, interest owed is calculated upon the principal borrowed (i.e. interest amount is not compounded, borrower does not “pay interest on interest”).
Borrowers work with TrueFi DAO governance to create a line of credit. 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 Line of Credit approval by the TrueFi DAO and recommends parameters (see section below What are the parameters for each Line of Credit?)
If vote passes, then the address requesting creation is allowlisted for line of credit creation. Borrower deploys Line of Credit with approved parameters.
Borrowers define base parameters:
Underlying token: can denominate pool in any ERC20 (including 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 pool cannot exceed this amount
“Lender restrictions” (aka deposit strategy): pool can be permissioned, can use whitelist or signature to determine who can lend
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 contributors are happy to consult with borrowers to help set these curves.
For brief demo of configuration, please see this for video of Lines of Credit interest rate curve configuration: https://twitter.com/TrueFiDAO/status/1511034505028583426
Lines of Credit pay a protocol fee to the TrueFi DAO treasury. Fees are quoted on a per annum basis, accrue block-by-block, and are paid upon each smart contract interaction (lend/withdraw/disburse loan/repay loan).
The example below illustrates how the protocol fee works:
Protocol Fee example
Take an example line of credit Verum Fund, which holds 1,000,000 USDC worth of loans and assume protocol fee = 50 bps per annum (0.50%).
Assuming the value of Verum Fund grows linearly from 1,000,000 USDC to 1,100,000 USDC over the course of 30 days (avg. value of 1,050,000 USDC), the line of credit would pay a protocol fee of 431.51 USDC for this time period:
Protocol fee = 1,050,000 USDC * 0.50% * (30/365) = 431.51 USDC
For up-to-date fee rates on each vault, please see vault pages at https://app.truefi.io/.
Yes, see here: https://github.com/g0-group/Audits/blob/master/TrueFiDec2022.pdf
Yes, see Line of Credit tutorial.