# Loan approval process

### Voting on loan applications

To vote on loan applications, you need stkTRU. To learn more about how to acquire stkTRU please view the section on [Staking](https://docs.brila.finance/brila-protocol/brla-token/stake). Once you have stkTRU you can visit the [Stake](https://app.truefi.io/stake) page and vote on the loan applications listed on the page.&#x20;

The stkTRU balance with which you can vote on loan applications is equal to the stkTRU balance held by your wallet when the loan application was created. You will not be able to vote on loan applications with any stkTRU balance acquired after a loan application was created.

Stakers can either vote YES or NO with stkTRU on a loan application. Voting YES means you are predicting that the loan is not likely to default, and voting NO means you are predicting that the loan is likely to default. Stakers can vote with the entire stkTRU balance of their wallet, including the stkTRU balance delegated to their wallet address. &#x20;

Voting on loan applications does not lock stkTRU, stakers can use their stkTRU balance to vote on multiple loan applications.&#x20;

### What’s the voting period for voting on loan applications?&#x20;

There is no specific time period for stkTRU holders to vote on loan applications. After a loan application is live on the TrueFi platform, stkTRU holders can start voting on the loan until the loan application is funded by the lending pool or cancelled by the borrower.&#x20;

However, there is a minimum time period that must pass before a loan can be funded by the lending pool. This time period is called the minimum voting period which corresponds to the votingPeriod parameter set in the TrueLender smart contract.&#x20;

Visit the etherscan link to the TrueLender (proxy) smart contract, click on Contract, then click on Read as Proxy. You will find the parameter votingPeriod in seconds.&#x20;

stkTRU holders can modify or cancel their votes any number of times before the loan has been funded by the lending pool or cancelled by the borrower.

### How are loan applications approved?&#x20;

stkTRU holders vote YES or NO on whether to approve a loan request. A loan is approved if it satisfies two conditions.

1. Minimum # of votes (15 million as of Sept 2022)
2. Minimum ratio of YES-to-NO votes (at least 80% of votes YES, as of Sept 2022)

Only whitelisted borrowers can submit their loan applications to the `TrueRatingAgencyV2` contract. Whitelisted addresses will return true when queried against `allowedSubmitters` in the `TrueRatingAgencyV2` contract. &#x20;

Loans are approved or rejected based on conditions set in three smart contracts: TrueFi lending pool contract (`tfUSDC` et al), `TrueRatingAgencyV2`, and `TrueLender2`.&#x20;

<table><thead><tr><th width="217">Contract</th><th>Address</th></tr></thead><tbody><tr><td>TrueLender2</td><td><a href="https://etherscan.io/address/0xa606dd423dF7dFb65Efe14ab66f5fDEBf62FF583">0xa606dd423dF7dFb65Efe14ab66f5fDEBf62FF583</a></td></tr><tr><td>TrueRatingAgencyV2</td><td><a href="https://etherscan.io/address/0x05461334340568075bE35438b221A3a0D261Fb6b">0x05461334340568075bE35438b221A3a0D261Fb6b</a></td></tr></tbody></table>

### Incentive for voting on loan applications

stkTRU holders receive rewards in the form of TRU tokens for voting on loan requests. The rewards become claimable as soon as the loan is withdrawn by the borrower and the status of the loan becomes active. Rewards are distributed to voters based on their share of the total votes received:

`TRU Reward for voting = (# TRU voted by user / # total TRU votes) * (Total TRU Reward)`, where

* `Total TRU Reward = (Loan interest * TRU distribution factor * rewardMultiplier)`
  * where `Loan interest = (loan APR * term in days * principal) /365`. Loan APR, term, and principal can be obtained from the respective loan token contract
  * `rewardMultiplier` can be found from the [TrueRatingAgencyV2](https://etherscan.io/address/0x05461334340568075bE35438b221A3a0D261Fb6b#readProxyContract#F18) contract
  * `TRU distribution factor` is calculated as `remaining` divided by `amount` from the [RatingAgencyV2Distributor](https://etherscan.io/address/0x6151570934470214592AA051c28805cF4744BCA7#readProxyContract) contract


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.brila.finance/brila-protocol/other-concepts/legacy-dao-pools/loan-approval-process.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
