# Protocol Overview

Paladin Lending is a decentralized, non-custodial governance lending protocol where users can either loan the voting power in their governance token, or borrow some voting power.&#x20;

Depositors stake governance tokens or derivatives that grant voting power in exchange for yield, while borrowers can leverage their voting power to gain more influence temporarily.\
\
You can find the code here : <https://github.com/PaladinFinance/Paladin-Protocol>

Quick overview video: <https://www.youtube.com/watch?v=81cznxkI9pU>

#### Below, you will find a brief description and link of all the functions currently used in Paladin :&#x20;

### **PalPools**

Independent pools where the underlying governance token is deposited in exchange for **PalTokens**, and allows users to borrow governance power.

### **PalTokens**

**ERC20** tokens representing your deposit in a **PalPool** as well as the yield earned.

### **PalLoans**

Contracts are created by **PalPools** to hold the governance power borrowed by the user. A **PalLoan** is a **Clone** of one of the **Delegator** contracts, depending on the token to delegate. Each **PalLoan** is represented by a **PalLoanToken.**

### **PalLoanTokens**

**ERC721** tokens representing the ownership of a **PalLoan**. As any **ERC721** token, **PalLoanTokens** can be transferred to change the owner of a **PalLoan**.

### **Delegators**

Updatable delegation logic for a specific Governance token.

### **Controller**

Contract listing all deployed **PalPools** & **PalTokens** and checking their current status. It is also handling the Paladin Liquidity Mining system

### **Interest Module**

Calculations of Utilization Rate, Borrow Rate & Supply Rate for **Pools**

### **Address Registry**

Contract to fetch the address of the different **PalPools**, **PalTokens** (ERC20), the **Controller** & the **PalLoanToken** (ERC721)
