Skip to content

Origination pools

An origination pool is a smart contract that anyone can deploy and manage. It allows lenders to borrow capital and deposit stablecoins, lend, repay, and withdraw to manage their lending operations on chain.

  • Originator pools are the junior most pool of the lending graph.
  • Each smart contract supports a single stablecoin.
  • The stablecoin selected at deployment cannot be changed.

Origination, repayment, and withdrawals are handled manually through contract interactions.

The stablecoin address is set at deployment and is immutable thereafter. You can choose any of the stablecoins here.

Core Actions

Depositing Funds

The wallet that deployed the origination pool acts as the contract manager and is the only one authorized to deposit stablecoins into the smart contract to provide liquidity.

The depositor receives ownership tokens (transferable and denominated in ERC-20). At the next release external capital provider will be able to add liquidity to pools.

Originating

A originator can issue a new loan, specifying:

  • Loan Amount. This can be up to the total assets available in the pool. Available = Assets deposited – Assets lent

  • Interest Rate. Daily compounding interest is applied using the following formula: Outstanding Debt = Principal Amount × (1 + Annual Interest Rate / 365) ^ (Days Elapsed)

    This formula calculates the total amount owed by the borrower at any given time, accounting for interest accrued on both the principal and the previously accumulated interest.

  • Loan Duration. Currently, the pool supports durations in months, up to 36 months.

Funds are sent to the borrower's wallet. Upon origination:

  • Borrower gets stablecoins ERC-20 and receives Debt Points (non-transferable).
  • The lender’s smart contract receives Receivable Tokens (transferable and denominated in ERC-20).

Repayment

The borrower needs to send the liquidity to the contract manager's wallet. The contract Manager calls the repayment function on behalf of the borrower repaying the loan = principal plus interest.

Partial repayments are supported and proportionally reduce both Debt Points and Receivable Tokens, based on the following formula:

Debt Points Burned = (Amount Repaid / Debt Value) × Total Points

Buffer for Interest Accrual

A small buffer of 0.001 of the stablecoin of the loan is added in the transaction to cover any interest accrued during transaction processing. This buffer accounts for additional interest that may accrue during the time it takes for the transaction to be confirmed on-chain. Any excess amount will be automatically refunded to the borrower’s wallet.

Withdrawal

The Contract manager can withdraw idle stablecoin balances from the smart contract at any time.

Asset Type

Asset TypeTransferableDescription
Debt PointsNoTrack borrower obligations per contract.
Receivable Tokens (Not available in V1)YesRepresent lender claims over borrower repayments.
Ownership Tokens (Not available in V1)YesTrack investor deposits per contract