Lending in crypto is predominantly done by over-collateralization. The typical use case is to lock-in ETH, BTC etc and borrow a stablecoin such as USDC and UST. To borrow in DeFi, you need to have crytos. Your real world assets or a high credit score with Experian does not matter. This fundamentally restricts the borrowing pool to the people who are already involved with DeFi or are semi-curious about it. If DeFi needs to expand, it needs to tap in the real world use-cases of lending and this is where protocols like Goldfinch come in.

Protocol Design

To understand any protocol, the first step is to list down all its stakeholders and their incentives.

Goldfinch has four major stakeholders:

Borrowers: Participants who borrow from the protocol. They propose a borrower pool with key terms of the loan. (APY, Amount, Use of capital)

Backers: They analyze the borrower pool and decide whether the protocol should lend to the borrower. Backers supply the first loss capital, implying that when a borrower defaults, they (backers) are the first ones to lose their capital. Justifiably, for all this extra risk, their APYs are higher.

Liquidity Providers: They are passive investors who supply capital for stable yields. LPs deposit money to a senior pool which, in-turn, allocates it to multiple borrower pools. LPs do not participate in deciding which borrower pools to lend to.

Auditors: They approve borrowers before they can borrow. Auditors decide whether borrowers appear to be legitimate, and not whether protocol should lend them.

Incentives run the world

Borrowers: What is the incentive for any borrower to repay given that these loans are under/not collateralized. First, borrowers want to borrow from the pool on a consistent basis. So, any failure to repay limits their ability to borrow. If a borrower is deriving value from the protocol due to ease of access or lower cost of capital, it’s safe to assume that they will borrow and repay within the specified periods. Second, borrowers need to share their public addresses when proposing borrower pools. Failure to repay will reflect in the wallet and can be used across DeFi to determine their credit worthiness. Third, off-chain legal agreements between borrowers and backers can be formed to minimize risk. But, what about the scenario when the borrower is fraudulent? This is where the protocol’s other stakeholders such as Backers and Auditors come in.

Backers: At the core, backers are rewarded with higher APYs for taking higher risk. Backers provide first-loss capital and determine (indirectly) how much capital to allocate from the senior pool to borrower pool. But, how does the protocol reward them with higher APYs. In simple terms, a portion of the APYs earned by lending from senior pool is allocated to the backers for their active role.

Liquidity Providers: LPs are passive investors that allocate capital to senior pool rather than separate borrower pools. This diversifies their position and increases the likelihood of stable returns. Currently, the protocol has a target range of 50-200M$ and a target balance of 100M$ for the senior pool. The GFI (native token) rewards are maximum when the senior pool is closer to 50M$, and decreases linearly from there on till it becomes zero at 200M$ and above.

Auditors: An independent body of auditors serve as an effective mechanism to prevent fraud due to Borrower-backer collusion. Auditors stake GFI to participate and are selected randomly on the basis of amount staked. Auditors receive rewards if they vote with the majority (Yes/No), and have their stakes slashed if they take vote in the opposite direction.

Mathematics of it

Senior Pool APY Calculation: As per the initial parameters set in the protocol, the rewards will be at max distribution rate (0.5% of the monthly supply) if the senior pool is ≤ 50M$. Similarly, the distribution rate will be 0% for senior pool ≥ 200M$. Between 50 and 200M$, the distribution rate decreases linearly with the increase in senior pool.

Senior Pool Rewards


We can use two points in the image (50M%, 0.5%) and (200M$, 0%) to calculate the line equation.

\[y = (-0.5x + 100)/150\]

Replace \(x\) with the value of senior pool to get the GFI Distribution Rate per month \((y)\).

Backer Liquidity Mining APY Calculation: Once a backer deposits USDC in a borrower pool, their capital is locked for the duration of the loan period. The protocol ties rewards to the interest received from a particular borrower pool. Simply put, more interest earned is equal to better rewards. A backer providing capital to a borrower pool with 10% interest will get more rewards compared to a borrower pool with 1% interest. But, how do you differentiate a borrower pool with 10% interest rate now (when the protocol is unproven and risky) vs a borrower pool with the same interest rate in 2025 (less risky). For this, the protocol uses a exponential decay function to better reward backers who are supplying capital in these early days. But, what if a borrower defaults in the last few months and is unable to pay back the principal, in that case, the backers would have received rewards till the preceding month. The GFI rewards should not be just tied to the interest payments but also to the principal repayment for better accountability.

Differential Interest Rate: The protocol acknowledges that the backers do most of the heavy-lifting of vetting deals and therefore, should be better compensated for that extra risk (first-loss capital) and effort. But, how do you ensure that? Give backers a higher interest rate compared to senior pool LPs. The protocol generates this by allocating a certain multiplier of the backer supply to the borrower pool. Think of it like this. Borrowers commit 10M$ to a borrower pool, and the senior pool commits 30M$ (Assuming Leverage ratio of 3). The borrower interest rate is 10%. But, the interest rate received by LPs is 10% - certain % allocated to junior pool. What is the APY for backer?

Total Interest Generated = 10% of 40M$ = 4M$

APY for Senior Pool LPs (Assuming 2% IR is allocated to junior pool) = (10-2)% of 30M$ = 2.4M$

Interest Remaining = 4M$ - 2.4M$ = 1.6M$

APY for Backer Pool = (1.6M$/10M$)*100 = 16%

Due to leverage multiple and a %age allocation of interest from senior to backer pool, the protocol is able to incentivize backers for their extra risk.

Leverage Model: In the above model, the backers supplied 10M$ and the senior pool 30M$, implying a leverage ratio of 3. AFAIK, protocol currently uses a static Leverage ratio of 3. The core team has also laid down a model in the docs which shows how this ratio will be calculated in the future. The model depends on the following three parameters:

  • Capital supplied by the backers (S): More the capital supplied, the higher is the leverage ratio.
  • Distribution Adjustment (D): This measures the distribution of the capital supplied by backers, implying that if a few backers have supplied the majority of capital to the pool, then the adjustment will be low, thus, effectively reducing the leverage ratio. The formula used is:

    \[D = 1 - \sum s_n^2\]

    \(s_n\) denotes the percent supplied by each backer.

    Eg: 10 backers each supply 10% to the borrower pool (\(s_n = 0.1)\), then \(D = 0.9\)

    To show the other extreme, let’s say, one backer supplies 91% of the capital, while the remaining 9 allocate 1% each. In that case, \(D = 0.171\)

  • Leverage Ratio (L): This measures the absolute number of backers supplying to the pool. More the number of backers supplying, higher the leverage ratio. (Upto \(L_{max}\))

    \[L = L_{max} * \frac{max(0, b - B_{min})}{B_{max} - B_{min}}\]

    To give an example, let’s say that 100 backers each supplied 1% capital to a given borrower pool \((D = 0.99)\) vs 10 backers supplying 10% each \((D = 0.9)\), do you see the problem with that. The formula for distribution adjustment does not directly account for the absolute number of backers. 100 backers supplying 1% capital each is a much better scenario than 10 backers supplying 10% each, but the delta in Distribution Adjustment does not properly account for it.

    Let’s assume \(B_{min} = 5\), \(B_{max} = 105\) and \(L_{max} = 3\). \(L\) in the case of 10 backers will be \(0.15\), but for 100 backers, \(L\) will be \(2.85\). Now, you can see how that starts to impact the final amount allocated from senior pool.

The total amount allocated from Senior Pool (A) is simply the multiplication of above three parameters:

\[A = S * D * L\]

Conclusion

There are other important aspects of the protocol which I have not covered in this post such as Senior Pool token FIDU and its launch on Curve, secondary markets for backer NFTs, tokenomics of GFI and other community related grants and activities. You can check out their roadmap to understand the direction they are taking. Overall, I am really excited about this category of protocols which are trying to build a real world bridge between crypto and traditional finance. Even within tradFi, the sub-category of international debt market is huge and full of inefficiencies and protocols like goldfinch can create a lot of value in this space. Sharing this from the founders as an end note:

“So let us start by saying something crazy. We think it’s inevitable that all private debt will move on chain. All of it. The whole multi-trillion dollar market of it. Eventually, for people running companies, it will seem silly to get a loan from a private bank rather than a crypto protocol. Going to a bank will be like bartering your goods with your neighbors instead of using the internet to sell them online.”