# 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)


---

# 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.astaria.xyz/concepts/starport.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.
