TrueFi Docs
  • What is TrueFi?
  • 🔎User Guide
    • Lend
      • How to lend
      • How to withdraw
      • Onboarding / KYC (for permissioned pools)
    • Borrow
      • Receiving a loan
      • Repaying a loan
    • Manage
      • Onboarding for managers
      • Creating a vault
      • Disbursing loans
      • Managing KYC/KYB requirements
  • âš¡TrueFi Protocol
    • Lines of Credit
      • Line of Credit tutorial
      • Lines of Credit technical details
    • Asset Vaults
      • Asset Vault tutorial
      • Asset Vault technical details
    • Credit Vaults
      • Credit Vault tutorial
      • Credit Vault technical details
        • Credit Vault contract overview
        • Waterfall details
    • Index Vaults
      • Index Vault tutorial
      • Index Vault technical details
    • TRU token
      • Staked TRU
      • How to Get TRU
    • Other concepts
      • Controllers
      • Instruments
        • FixedInterestOnlyLoan
        • BulletLoans
      • [Legacy] DAO pools
        • delt.ai loan: Jan 2023 airdrop claiming instructions
        • delt.ai loan: July 2023 airdrop claiming instructions
        • delt.ai loan: October 2023 airdrop claiming instructions
        • delt.ai loan: Jan 2024 airdrop claiming instructions
        • delt.ai loan: Apr 2024 airdrop claiming instructions
        • delt.ai loan: Nov 2024 airdrop claiming instructions
        • Loan approval process
        • Lender FAQs
          • Lending to DAO pools
          • Farming TRU rewards
          • Withdrawing funds
          • How lending pool (LP) tokens work
          • How loan tokens work
          • SAFU (Secure Asset Fund for Users)
          • Risk Mitigation
        • Developer docs
      • Other legacy contracts
        • Managed Portfolio [legacy]
        • Flexible Portfolios [legacy]
          • Flexible Portfolio contracts
    • Audits
Powered by GitBook

General

  • TrueFi app
  • Docs

Governance

  • Tally
  • Snapshot

Community

  • Forum
  • Twitter
On this page
  • Loan Parameters
  • Loan states & state transitions

Was this helpful?

Export as PDF
  1. TrueFi Protocol
  2. Other concepts
  3. Instruments

FixedInterestOnlyLoan

PreviousInstrumentsNextBulletLoans

Last updated 2 years ago

Was this helpful?

FixedInterestOnlyLoans is an ERC-721 contract. Each minted NFT represents a loan that must be paid back to the NFT owner.

Loan Parameters

Each loan is parametrized by:

  • Underlying token with which funds are lent out and repaid (e.g. USDC)

  • Principal debt (minting price)

  • Period payment (interest paid at each installment)

  • Period length (a period when the borrower pays installments)

  • Period count (total number of installments)

  • End date (date of the last installment to be paid together with the principal, set when the loan is started)

  • Recipient’s address

  • Grace period (time by which borrower can be late in repayment of each installment)

  • A canBeRepaidAfterDefault flag that allows a loan to be repaid after a loan was marked as defaulted

Loan states & state transitions

A loan can have one of the possible statuses: Created, Accepted, Started, Repaid, Canceled, or Defaulted.

Upon minting the loan status is set to Created. In this state, a borrower can accept a loan by calling acceptLoan(id) and the loan status is changed to Accepted.

The NFT owner can call start(id) on loans whose status is Accepted. When a loan is started the loan end date is calculated for the loan and the loan status is changed to Started.

The NFT owner can mark loans as canceled whose status is Created or Accepted.

The NFT owner can mark loans as Defaulted whose status is Started and the current block time is after a current period endDate + gracePeriod time.

The NFT owner can update the loan's gracePeriod at any time by calling updateInstrument(id). The NFT owner must call repay(id, amount) to recalculate repaid periods and the current period end date.

The repaid amount must be equal to the period payment or period payment + principal for the last installment. The loan can be repaid after it was marked as defaulted only if the proper canBeRepaidAfterDefault flag was set to true.

âš¡
LogoGitHub - trusttoken/contracts-helium: TrueFi smart contracts second release 2022.GitHub