# Starport

## What is Starport?

Starport is a simple kernel framework used for composing lending protocols on the Ethereum Virtual Machine (EVM). Starport itself is not a lending protocol, but instead handles the data availability and agreement enforcement that is required for any lending protocol. In Starport, there are three distinct actors: **borrowers**, **lenders**, and **fulfillers**.

Starport supports collateralized loans and options for any ERC-20, ERC-721, or ERC-1155 assets. Rebasing and fee-on-transfer tokens are not supported.&#x20;

## Starport's core components

The Starport kernel is supported by two core contracts: `Starport` and `Custodian`.&#x20;

`Starport` is the entry point for origination and refinancing. The duty of `Starport` is to enforce the agreements of originate and refinance, as well as maintain the record of loan state.&#x20;

`Custodian` is the entry point for repayment or settlement. The duty of the `Custodian` is to custody the borrower collateral and enforce loan settlement and repayment conditions. `Custodian` is not a strict implementation. Borrowers and lenders can provide differing implementations of the `Custodian` that support the Custodian interface. However, a gas efficient default `Custodian` contract will be provided with Starport.&#x20;

## **Modules**&#x20;

Modules are implementations of the module interfaces that are untrusted by the core. Each module serves a purpose within the lending lifecycle providing parameters and conditions for the core contracts to enforce.&#x20;

The duty of the `Pricing` module is to provide the conditions of repayment to the Custodian and the conditions of refinance to the Starport contract.&#x20;

The duty of the `Status` module is to provide the status of whether a loan is active or inactive. An inactive status allows a loan to be settled. An active status allows a loan to be repaid.&#x20;

The duty of the `Settlement` module is to provide the conditions of settlement to the Custodian. Settlement is more commonly referred to as liquidation, but is a restrictive definition for this framework.

***

[The full Starport whitepaper can be found here.](https://github.com/AstariaXYZ/starport-whitepaper/blob/master/starport-whitepaper.pdf)
