How to create safe and efficient loan terms with the Ethereum Credit Guild

The Ethereum Credit Guild (ECG) has seven essential terms that structure credit issuance on the platform. These terms include:

address collateralToken;
address borrowToken;
uint256 interestRate;
uint256 callFee;
uint256 callPeriod;
uint256 creditLimitCurrent;
uint256 creditLimitRemaining;
uint256 creditLimitMax;

What are these terms? How can we use them to facilitate an efficient credit issuance system?

First is the collateral token, represented by collateralToken. This is the token a user will post as collateral to borrow assets in the ECG. For example, a coin like PEPE is probably not appropriate to serve as a collateralToken due to the fact that the ECG might have trouble finding someone to sell the collateral to in the case of a user default.

Second is the borrowToken, which is the unit of credit the borrower borrows in an ECG loan. The starting unit of credit is roughly denominated in USD, known as CREDIT. The borrowToken should be considered to be in a “pair” relation with the collateralToken. This pair relationship is mainly based on the correlation of the two assets. Assets that are “correlated” (or whose prices move similarly with each other, such as BTC and ETH) make safer pairs than assets that are uncorrelated. This is because correlated assets are less likely to radically change in price compared to each other, making it necessary to call a loan (for example if the price of the collateralToken drops 80% and the price of the borrowToken rises 80%, there would be a high likelihood the ECG would be underwater on the loan). A collateralToken such as stETH would make a great pair with borrowToken such as ETHCREDIT (a unit of credit pegged to/denominated in ETH) because the prices of stETH and ETH move extremely closely with each other. Because of their high correlation, there is lower risk for the protocol to issue loans on this pair and so the other loan terms can be more lenient.

Third is the interestRate, which is the rate of growth of a user’s debt, denominated in borrowToken. Since most people only take out USD denominated loans, it’s worth noting that high interest rates can cause dangerous compounding effects when used with volatile borrowTokens. For example, if a user has accrued 10% interest on ETHCREDIT, the price of ETHCREDIT rising would increase a borrower’s debt (in USD terms) by an additional 10% compared to when they first started the loan. Choosing a low interestRate can also serve to incentivize CREDIT borrowers to collateralize CREDIT with decentralized assets. For example, ECG could offer 0% interest borrowing on ETH collateral to incentivize ETH borrowers to increase CREDIT’s decentralized collateral backing. This could help make CREDIT more resistant to the risk of other assets on the platform. However, interestRates also need to be sufficient to convince GUILD stakers to allocate CREDIT to the loan term.

Calling Terms

Fourth is the callFee, which is the fee paid to the borrower in exchange for the system closing out their loan. Having a loan closed when a borrower doesn’t wish for it to be closed is an undesirable process, to the callFee compensates the borrower for this inconvenience. callFees should generally be higher the more volatility a borrower is forced to experience due to their loan being closed. If I had ETH as a collateralToken and CREDIT as a borrowToken, it would be painful to have my loan closed as the assets are uncorrelated (for example if I had to sell ETH quickly at a loss due to my loan being called). It’s far less painful for correlated assets to get called, as the borrower likely will be able to easily repay the loan (as their collateral closely matches their liabilities).

Fifth, callPeriod is the amount of time a user has to repay their loan. callPeriod should be decided based on how much risk GUILD stakers believe a certain pair has of default. A quicker callPeriod mandates that a borrower will be forced to repay their loan quicker. This protects lenders as it gives less time for the market price of the collateralToken to vary in case collateral seizure is necessary. Assets that are correlated can sometimes benefit from shorter callPeriods, as if a highly correlated loan is being called there is a high likelihood it may be due to some external factor such as a smart contract bug being detected in the collateralToken. Setting a high callPeriod can make borrowers feel safer that they have time to repay their position without being swiftly liquidated, but increases risk for lenders.

Credit Limit Terms

creditLimitCurrent is the amount of borrowToken that can be borrowed from a given loan term. For example, if a GUILD staker allocates 1M CREDIT to a loan term, the creditLimitCurrent for that term is 1M. creditLimitRemaining is the amount of borrowToken remaining to be borrowed. If 700k of that is borrowed, the creditLimitRemaining for that pool is 300K. Setting a high credit limit lets borrowers borrow a large quantity of assets from the ECG, but increases the risk that the loan’s specific collateralToken defaulting poses to the protocol. Assets with a high risk of quickly defaulting should have a low credit limit, whereas deeply liquid and safe assets should have higher credit limits.

creditLimitMax is a term which GUILD stakers can use to limit the maximum creditLimitCurrent that a loan can have. This helps the majority of GUILD stakers protect against a wealthy minority enforcing excessively risky loan terms on a significant portion of the protocol’s assets. As an individual GUILD staker, you won’t have to set creditLimitMax or creditLimitRemaining terms on your loans, but it’s important to know that they exist.

Now that you have a decent understanding of the loan terms, feel free to post your collateral onboarding request here RFP-1: Starting Loan Terms.

Any questions? Feel free to post them in the comments or send a direct message on my twitter.