# Welcome!

You're still early, but not for long!

<figure><img src="/files/CCrq02MVyHCi7Q2sAfsC" alt=""><figcaption></figcaption></figure>


# I Like It Stable Ecosystem

Welcome to the documentation of the I Like It Stable ecosystem, provided to you by the ILIS DAO. Together, we try to create a pocket of stability in the volitile world of Radix.

The ILIS ecosystem is made up of:

1. The ILIS DAO
2. The Flux Protocol
3. The STAB Protocol

**ILIS DAO**\
A non-profit DAO, incorporated in the Marshall Islands as *I Like It Stable DAO LLC.* The ILIS DAO is a decentralized organization that tries to support (and if necessary, govern) anything related to stable assets on Radix DLT.

**Flux**\
The newest borrowing protocol governed by the ILIS DAO, providing Radix with 1:1 USD pegged stable asset called fUSD. The protocol greatly improves on the foundations laid by the STAB Protocol, and is heavily inspired by Liquity V2.  Flux' unique selling points are its **user-set interest rates**.\
\
**STAB Protocol**\
The first protocol governed by the ILIS DAO, with the purpose of providing Radix DLT with a stable asset called STAB. The STAB Protocol has been battled tested, and held up well all this time. The protocol's vision is to provide **fair-priced stability.**


# ILIS DAO

For the people, by the people.

As previously stated: the ILIS DAO is a non-profit DAO, incorporated in the Marshall Islands as *I Like It Stable DAO LLC,* with as its purpose, taken directly from its [Operating Agreement](/ilis-dao/official-documents):

> *build, manage, and support open-source software in the field of digital stable assets for the Radix DLT, with the goal of fostering transparent, fair, and accountable systems that promote community-driven initiatives and societal benefits, without the aim of profit generation.*

Decisions made by the ILIS DAO, whether it be about internal affairs or the governing of protocols, are made and executed on-chain as much as possible. These proposals are voted on by members of the ILIS DAO, using[ ILIS](/miscellaneous/tokens/ilis-dao/ilis) tokens. The governance token of the DAO that represents membership.


# Flux

Flux is a decentralized borrowing protocol that allows users to deposit various collateral types and mint the stablecoin **fUSD**.

It serves three main purposes:

* Existence of the decentralized stablecoin **fUSD**
* Borrowing of **fUSD** through **Flux Generators**
* Generating yield when depositing **fUSD** into **Flux Reservoirs**

Flux is the spiritual successor to the STAB Protocol, greatly improving upon it. It is heavily inspired by Liquity V2, and allows users to choose **their own interest rate**.


# STAB Protocol

STAB 'em to death!

The first protocol governed by the ILIS DAO, with the purpose of providing Radix DLT with a stable asset called STAB. So, uhm, how exactly does this work? Let's do a little STAB Protocol crash course!

## STAB Protocol for Dummies

### Creating STAB

STAB is created through the STAB protocol in a similar fashion as stablecoins such as DAI or LUSD are created: it is borrowed.

#### Borrowing

To borrow STAB, the user provides the protocol with a collateral. The collateral value must be higher than 150% of the borrowed STAB's value (reffered to as the MCR from here on) and ensures the borrowed STAB is always backed by assets of at least their value. In return for this collateral, the protocol provides the borrower with the freshly-minted STAB tokens and a Loan Receipt. By showing the protocol their previously acquired receipt, one can prove to be the owner of a loan and exchange their STAB for their collateral again.

#### Liquidations

Of course, the protocol cannot allow STAB to not be fully backed. This leads to some **dangers** that come with borrowing STAB: when one's collateral value falls below the MCR, being liquidated is a possibility. This means a third party is able to pay off the STAB debt in return for part of the collateral. The collateral loss will be higher than 100% of the debt, so being liquidated is no bueno!

To prevent liquidation, it is possible to add some collateral to a loan. Similarly, one can also remove collateral from a loan, as long as the value of their collateral stays above the MCR (or even pay off the entirety of the debt to regain possession of the collateral).

### Ensuring Stability

Uhh alright... very cool, but why exactly would STAB actually be **stable**? In other, more technical words - why does it keep peg?!

#### Interest Rate

A **unique** feature of STAB is that it is **not hard-pegged** to a single USD valuation; STAB tokens are subject to an **interest rate**. The interest rates can vary from -33.33% to +50% per year and are set by STAB supply and demand. The interest rates work on the internal price of STAB. For example, an interest rate of -10% would change STAB's internal price from $1.00 to $0.90 over a year's time. Negative interest is attractive for STAB borrowers, as their debt decreases over time, whereas positive interest is attractive for STAB holders, as their assets increase in value.

As previously mentioned, this interest rate is set by supply and demand. To do this, the protocol keeps track of an internal price (or peg), which it believes STAB should trade at on the open market. If the internal price is higher than the open market price, STAB is in low demand and interest rates increase. Conversely, if the open market price is higher than the internal price, STAB is in high demand and interest rates decrease! To keep track of the STAB price, an AMM is built into the protocol, where the user can swap their XRD for STAB.

Learn more about STAB's interest rate [here](/stab-protocol/technical-info/interest-rate).

#### Redemptions / Forced Minting

The way a variable interest rate is able to change supply and demand is awesome, but sometimes you need something quick and dirty. To this end, redemptions / forced minting can be used.

The **Redemptions** module allows any user to forcefully close the loan with the lowest collateralization ratio by paying off its debt. In return for closing the debt, the user receives its collateral with `100-n%` of the paid off debt's value (with `n` a parameter, the lower it's chosen, the earlier it is attractive use the redemption module). Due to this redemption system, instant arbitrage opportunities appear when STAB is trading below `100-n%` of its peg, essentially creating a hard lower peg at this level.

The **Forced Minting** module does the exact opposite, though it is disabled by default. If the Forced Minting module is enabled, users can force the STAB loan with the highest collateralization ratio to borrow more STAB by providing it with collateral worth `100+n%` of the freshly borrowed STAB. Due to this system, an instant arbitrage opportunity appears when STAB is trading above `100+n%` of its peg, essentially creating a hard upper peg at this level.


# Using ILIS DAO

Select the interface page you wish to know more about.


# Membership

To become an ILIS DAO member, get yourself a Membership ID, and stake ILIS tokens to it.

Real lovers of stability become members of the ILIS DAO. To do so, one can stake ILIS tokens to their Membership ID on the Membership page. As a bonus, staking ILIS also provides the staker with staking rewards!

**Membership info**

On the Membership page, the first thing a user can do is to either create a Membership ID, or select an existing one \[1], and view its details, such as:

\[2] **Staked ILIS**,&#x20;

\[3] **Unstake ready**, unstaking takes 7 days. The amount currently unstaking and ready to claim is shown.

\[4] **Locked until**, one can lock their staked ILIS for an even longer period of time, to receive extra rewards. Locked tokens CANNOT be unstaked.

\[5] **Voting until**, membership IDs are used to vote on proposals. Once a proposal has been voted on, one CANNOT unstake before the end of the proposal, to prevent double votes.

<figure><img src="/files/Og0Yh22zFylI8mCQIi0T" alt=""><figcaption></figcaption></figure>

As we've seen in the previous category, it is possible to **stake** ILIS to the Membership ID, and to **lock** these staked tokens. Either action has it's own section.

**Manage stake**

To **stake**, go to the *manage stake* section and click the *add stake* selector \[1]. Then, select an amount to stake \[2]. You will then be presented with the new amount staked to this ID \[3], the staking APY \[4], and the unstake delay \[5].

<figure><img src="/files/Jk1hkkWEPoq6LI7VaRFJ" alt="" width="519"><figcaption></figcaption></figure>

**Unstaking** is rather similar to staking: go to the *manage stake* section and click the *remove stake* selector \[1]. Then, select an amount to unstake \[2]. You will then be presented with the new amount staked to this ID \[3], the staking APY \[4], and the unstake delay \[5].

<figure><img src="/files/AMIUtawhfjIutRbmIa4O" alt="" width="519"><figcaption></figcaption></figure>

**Manage lock**

A similar section exists for **locking** and **unlocking** stake. Here, a user can lock there stake for a longer period of time, and be rewarded for it. If they change their mind, they can also remove this lock, but this will always cost them more ILIS, than locking will have rewarded them! At the time of writing, this multiplier is 5.

To **lock**, the user goes to the *Manage lock* section, and selects the *lock stake* selector \[1]. Here, they can choose the amount of days they want to lock their stake for \[2], and will be presented with the amount of ILIS they receive for their locking \[3], and the total amount of days their stake will be locked \[4].

<figure><img src="/files/o8rwvQAmSiizoU6JIFeY" alt="" width="519"><figcaption></figcaption></figure>

**Unlock**ing is usually a rather bad deal. Still, if the user wants to unlock, they can do so via the *Manage lock* section, by choosing the *unlock stake* selector \[1]. They can then select the amount of days to remove from their lock \[2], and will be presented with the necessary ILIS payment to remove their lock \[3], and their updated lock \[4].

<figure><img src="/files/R4yNLV4K7hY6CtYeWB7N" alt="" width="519"><figcaption></figcaption></figure>


# Incentives

Help the ILIS DAO achieve its goals, and be rewarded.

{% hint style="warning" %}
With Flux's launch, the previous incentivization of the STAB Protocol has ended to ensure an even playing field!
{% endhint %}

Some actions are deemed positive to the ILIS DAO ecosystem and therefore, we reward these! Performing them provides the user with a **weekly** allocation of ILIS rewards.

All incentivized actions provide the user with a token (liquidity providers receipts, LP tokens, loan receipt, et cetera). A user's contribution is calculated by looking these resources held by them, and their average weekly share.

Rewards are sent out every Sunday, on a random time, to make sure the system is not easily gamed.

**Current incentived actions**

<table><thead><tr><th width="340">Action</th><th width="259">Accompanying resource</th><th>Weekly reward</th></tr></thead><tbody><tr><td>Providing <strong>ILIS/XRD Liquidity</strong> to the <a href="https://ociswap.com/pools/component_rdx1czfuwcgnn7dxjjmz9zcacr347ahkuguz7vr9mcdkmywldg0f7qlylp">OciSwap BasicPool</a></td><td>resource_rdx1t4vvunhvl24nrc8hh99dujuumyllvvsurvu72keaeh74e25358nhah</td><td>50,000 ILIS*</td></tr><tr><td>Providing <strong>ILIS Liquidity</strong> to the <a href="https://radix.defiplaza.net/liquidity/add/resource_rdx1t4r86qqjtzl8620ahvsxuxaf366s6rf6cpy24psdkmrlkdqvzn47c2?direction=base">DefiPlaza pool</a></td><td>resource_rdx1t4z3dn6u57kj069wru4tkmdrx8njz2d9a5rlfsphs87cyuaj9tufv0</td><td>50,000 ILIS*</td></tr></tbody></table>

\* These rewards are shared, and are split between the two pools.

**Incentive information**

If you want information on a specific incentive. You can see some by going to the DAO Portal's [Incentives Page](https://ilikeitstable.com/incentives). Here, you can see all incentivized actions, and select one \[1]. If you want to perform this action, you can click the *contribute* button \[2]. If you first want some more information about the specific incentive, you can read a short description of what it's about \[3], see the total weekly rewards allocated towards this incentive \[4], and what the APY of this actions works out to \[5].

<figure><img src="/files/tVd4uweCzDofh6wecUtw" alt=""><figcaption><p>Information about an incentive</p></figcaption></figure>

**Estimating your share**

On the Incentive Page, the user can see their contribution towards an incentivized action \[1], and how much they will be rewarded for this contribution on a weekly basis \[2].

Important to note is that this calculation of rewards (at \[2]) is based on the user's **current share**, and does not take into account their average share over the previous week, whereas the eventual *real* calcuations to determine rewards do take into account a user's average share!

<figure><img src="/files/9QAs6LJ3IXsh4qqlbty1" alt=""><figcaption></figcaption></figure>


# Governance

On the Governance page, the user can see proposals (past and ongoing), and vote on them.

**ID and Proposal Selection**

On the top of the page, the user can select a Membership ID to vote with \[1], and see how much voting power their ID posseses \[2]. Don't have a Membership ID? Create one on the Membership page!

The plus and minus buttons \[3] can be used to select a proposal to view and vote on.

<figure><img src="/files/LgfCioqNMiWdke7wbBJv" alt=""><figcaption><p>Selecting an ID and Proposal</p></figcaption></figure>

**Proposal title and description**

The next box shows the selected proposal's title \[1] and description \[2]. Pretty straightforward right?

<figure><img src="/files/gez6QV4iTwXQINECAK74" alt=""><figcaption><p>Proposal title and description</p></figcaption></figure>

**Proposal details**

While a good proposal should have a description that clarifies approximately what its results are, not every detail can be in it. In the *Proposal details* section the status \[1] of a proposal, its deadline \[2], attachments \[3] and exact details \[4] can be seen.

Especially the attachments are often interesting, as they often contain a more detailed proposal description. These are **hosted on-chain**, and are therefore immutable!

<figure><img src="/files/Gb6nBsFC0tAqCxR4bvzY" alt="" width="521"><figcaption><p>Seeing a proposals details</p></figcaption></figure>

**Vote**

Once you've familiarised yourself with the contents of a proposal, it's time to vote! You can see how many votes for \[1] and against \[2] have currently been cast, and whether the quorum has been reached already \[3].

To cast your own vote, select for or against \[4], and click the *Vote* button. **Be careful though: once voting, your staked ILIS cannot be unstaked until the vote is over!**

<figure><img src="/files/RhMCEt89TO9h6S7LU2o7" alt="" width="515"><figcaption><p>Voting on a proposal</p></figcaption></figure>


# Technical Info


# Components & Manifests

coming soon


# Source Code

The source code of the ILIS DAO's on-chain components can be found [here](https://github.com/Stabilis-Labs/DAOpensource).

The specific commit used is "e7413f161908ef7af0b56fbcf32189b67bc24d15", and the package has been built with the Deterministic Scrypto Builder.


# Liquidity Bootstrapping Pools

A (fair) pricing game.

{% hint style="info" %}
**The ILIS Liquidity Bootstrapping phase has ended**. See the [**old LBP Page**](https://ilikeitstable.com/lbp) for more information on its past progress.
{% endhint %}

There are two factors that are crucial for any DAO's token:

1. Fair distribution
2. Sufficient liquidity

Airdrops are often used to ensure fair distribution, but as a downside don't necessarily improve token liquidity. IDOs (Initial DEX Offering) are often used to kickstart liquidity, but are either unfair or require a substantial amount of starting capital.

So, how do we achieve both at once? **Liquidity Bootstrapping Pools**!

### What?

You might be thinking, "*Sounds like a buzzword—what exactly is a Liquidity Bootstrapping Pool?!*" Let us explain.

In a traditional liquidity pool, two assets are paired with equal weighting. In other words, the Automated Market Maker (AMM) treats both assets as having the same value. Then Balancer came along and introduced a game-changer: pools with uneven weights! In a **Balancer-style liquidity pool**, the AMM recognizes that one asset can be valued higher than the other, and the exact ratio can be customized. For instance, an 80/20 Balancer pool assumes one asset is worth four times as much as the other.

A **Liquidity Bootstrapping Pool** (LBP) is a special type of Balancer pool where the weights shift over time. For example, an LBP might start with a 95/5 ratio, but gradually transition to a 50/50 balance as the pool matures.

### Why?

"*But, uhm... I still don't know why LBPs are so useful.*"

Yea, right! Remember, two crucial factors in ensuring a healthy token launch are **fair distribution** and **sufficient liquidity**.

IDOs are usually an effective way to gather some liquidity, but are inherently unfair: early buyers usually get way too good of a deal, and become whales too easily. With an LBP's shifting weights, it's possible to start out at with a high token price, that gradually decreases. This discourages early snatching up of all tokens, and rewards patient buyers. An LBP is essentially a fair pricing game, where players try to time their buys perfectly, leading to a fairer distribution. Similar to IDOs though, LBPs are a great way to bootstrap some liquidity!

### Example

In the image below, a hypothetical XRD/ILIS price chart is shown, to give a general overview of an LBP's lifetime and illustrate how certain actions influence the price.

What we see is the price of ILIS denominated in XRD, being traded solely using an LBP. We can see that an ILIS buy increases its price as usual \[1]. However, when no trading takes place, weights shift in such a way that ILIS's price decreases \[2]!

In the example below, the data points shown in cyan are points in time that have already passed. The black line \[4] however, is an extrapolated price, based on the assumptation that nobody uses the LBP to trade ILIS anymore!

<figure><img src="/files/KqLiOaBs6Wny0NwbU6CX" alt=""><figcaption><p>Hypothetical LBP progression</p></figcaption></figure>


# Founders

The ILIS DAO was founded by a Dutchie going by the name Octopus.

Having a background in Physics, Octopus has always loved complex systems. Combine that with an affinity for crypto (and Radix in particular), and one quickly starts fiddling with Scrypto. That is what Stabilis essentially is for him: a hobby that got out of hand.

Though, if you'd ask Octopus, who exactly founded the ILIS DAO is of little importance. He believes in a meritocracy - earn trust by producing results.


# Official documents

The ILIS DAO's rules and regulations are made official through its operating agreement. Read it [**here**](https://radix-files-mainnet.vercel.app/file/internal_keyvaluestore_rdx1krupls6a9x689fnkcpr7nt7n5xl8zmk7gvm2d6rmavxjs6z92dllhg/384a4a5c6fa1354cb068cabb7902932142b211381db0acd0fff7f0458cffa592).

Some other documents necessary for the incorporation of the ILIS DAO, approved by the the Marshall Islands government:

[**Certificate of Formation**](https://ilikeitstable.com/docs/certificate_of_formation.pdf)

[**FIBL License**](https://ilikeitstable.com/docs/FIBL_Certificate.pdf)

[**Corporate Charter**](https://ilikeitstable.com/docs/corporate_charter.pdf)


# Using Flux

### **What is Flux?** <a href="#what-is-ersatz" id="what-is-ersatz"></a>

Flux is a decentralized borrowing protocol that allows users to deposit various collateral types and mint the stablecoin **fUSD**.

It serves three main purposes:

* Existence of the decentralized stablecoin **fUSD**
* Borrowing of **fUSD**
* Generating yield when depositing **fUSD** into Flux Reservoirs

### **What are the differences compared to the STAB Protocol?** <a href="#what-are-the-differences-compared-to-the-stab-protocol" id="what-are-the-differences-compared-to-the-stab-protocol"></a>

While Flux builds upon the foundation of the STAB Protocol, it is profoundly different:

* **User-set interest rates** – Borrowers have more flexibility over their borrowing costs, instead of using control theory to set interest rates.
* **Enhanced redemption system** – An enhanced redemption system ensures a tighter peg.
* **Improved capital efficiency** – More effective use of collateral and liquidity due to changes to the redemption system.
* **1:1 USD peg** – fUSD is 1:1 USD-pegged, which reduces impermanent loss when providing liquidity against USD-pegged assets
* **More accurate price data** – Flux uses pull-based oracles instead of push-based ones.
* **Flux Reservoirs** – The introduction of Flux Reservoirs effectively creates highly effective, yield-bearing savings accounts for **fUSD** holders, separating transactors and holders.

### **Does Flux have governance?** <a href="#does-ersatz-have-governance" id="does-ersatz-have-governance"></a>

Yes, Flux is **fully governed by the ILIS DAO**, a DAO LLC incorporated in the Marshall Islands, ensuring that protocol decisions and incentives are managed by the community.

Unlike immutable systems, the ILIS DAO can make adjustments as needed to improve efficiency and ensure long-term sustainability. In our opinion, this is not something we should fear, but rather embrace.


# Flux USD (fUSD)

## What is Flux USD (fUSD)?

**fUSD** is the **1:1 USD-pegged stablecoin** issued by Flux. It is **fully decentralized, overcollateralized**, and backed only by **XRD and LSULP**.

Unlike most competitors, fUSD is designed for **resilience**:

* **Only backed by crypto assets**—no real-world assets or centralized custody.
* **Directly redeemable**—always convertible in a fast and liquid way.

## Why fUSD instead of other stablecoins?

* fUSD is backed **only by the most decentralized assets**: XRD and LSULP.
* It is **always redeemable** for its underlying assets, meaning it can be swapped **1:1** for the collateral backing it (for a small fee).
* **Flux Reservoirs** allow fUSD holders to earn **real yield** on their deposited fUSD .
* **ILIS DAO support** ensures the smart contracts are protected and governed in a decentralized way, and liquidity providers of fUSD are rewarded using protocol generated interest.

## How does fUSD stay pegged?

Flux **uses a market-driven approach** with user-set interest rates to dynamically maintain the peg.

**If fUSD trades above $1**

* Borrowers reduce rates to minimize redemption risk.
* Lower rates make borrowing fUSD less attractive, **pushing the price back down**.

**If fUSD trades below $1**

* Arbitrageurs redeem fUSD for collateral, **reducing supply** and increasing price.
* Borrowers face higher redemption risk and raise rates, boosting fUSD demand and deposits.


# Borrowing and Liquidations

{% hint style="info" %}

## Don't feel like reading? Watch [this video](https://youtu.be/dIBoZLF0RnQ?si=QqNxeapd0HuGK7z_) to learn how to borrow with Flux.

{% endhint %}

## Why borrow with Flux?

Flux introduces a **user-controlled interest rate system**, allowing borrowers to set and adjust the rate they are willing to pay for their loans. Instead of relying on governance or algorithmic rate setting, market forces determine borrowing costs based on individual risk tolerance.

Each collateral type has its own independent borrowing market, enabling competitive rate discovery and a more flexible lending environment.

Building on the foundations established by the STAB Protocol, Flux maintains a highly secure and decentralized borrowing framework while significantly improving capital efficiency and transitioning to a 1:1 USD-pegged stablecoin.

## How do I borrow fUSD

You can borrow fUSD by providing the protocol with collateral of higher value than the borrowed fUSD. This is called an overcollateralized loan. To ensure collateral is also worth more than debt, liquidations can happen when your loan-to-value (LTV) ratio drops below the Max LTV for your chosen collateral type. When the user loans, they are provided with a **Flux Generator** NFT.

[Learn more about liquidations.](#how-do-liquidations-work-in-ersatz)

## What types of collateral can I use?

Currently, the only supported collaterals are XRD and LSULP.\
\
Only decentralized collaterals will ever be considered while the protocol functions correctly.

## Is there a minimum debt requirement?

Yes, borrowers must take out a minimum loan of **50** fUSD.

## When do I need to pay back my debt?

fUSD loans have no fixed repayment schedule. You can maintain an open loan for as long as you want, provided you keep your loan-to-value (LTV) ratio within healthy limits.

## **Can I always close my loans or reclaim collateral?**

Yes, users can withdraw their collateral deposits at any time, or even close their loan by repaying their debt.

## How do liquidations work in Flux?

Loans are liquidated if their **LTV (loan-to-value) exceeds the maximum limit** (66.67% for XRD and LSULP).

Your loan being liquidated means that your debt is fully paid off, in return for some of your collateral. A borrower whose loan is liquidated incurs a **10% penalty** but can still reclaim any remaining collateral after liquidation.

Flux relies on **Flux Reservoirs** as the primary liquidation mechanism. These pools absorb liquidated debt and collateral, rewarding depositors with liquidation gains in exchange for burning debt. Each borrow market has its own dedicated Flux Reservoir.

If the Flux Reservoir is empty, liquidations can only occur if someone deposits fUSD into it again.

## How do I choose my LTV?

Your ideal LTV depends on your risk appetite and how actively you plan to manage your position. The UI will provide you with an indication of liquidation risk for your chosen LTV.

You will be liquidated if your LTV rises too high, so be careful!

## How am I compensated for liquidating a loan?

Liquidations come with small transaction cost, which the initiator must cover. To compensate for this, and provide a little extra reward, the protocol provides gas reimbursement based on the following formula:

**`FLAT_FEE of collateral + PERCENTAGE_FEE * 100% of debt value in collateral`**

where:

* `FLAT_FEE` is currently `0`.
* `PERCENTAGE_FEE` is currently `0.01`.

## **What is the maximum Loan-To-Value (LTV)?**

The maximum LTV depends on the collateral type:

* **XRD and LSULP:** 66.67%

## **How much will I pay for my loan?**

Flux **charges an extra upfront fee** of 7 days of interest. Additionally, the borrower pays interest **on an ongoing basis**, resulting in their debt increasing over time.

The upfront fee makes short-term loans unattractive. For **flash loans**, a special module exists (learn more). For longer short loans, we recommend using other borrowing platforms.

Borrowers set their own interest rates. For example, if you borrow **10,000** fUSD at a **5% interest rate**, you would owe approximately **500** fUSD **in interest** after one year (512.71 fUSD to be precise, as interest compounds every minute). This interest is added to your outstanding debt.

## What are user-set interest rates?

Flux gives borrowers **full control** over their borrowing costs by allowing them to set their own interest rates. This makes loans more predictable and adaptable to market conditions while stabilizing fUSD's **peg**.

User-set rates establish a **market-driven balance** between fUSD borrowers and holders, ensuring capital efficiency. These rates also act as a primary revenue source for fUSD liquidity providers and Flux Reservoir depositors, creating **sustainable, real yield**.

Borrowers should set their rates based on their **risk tolerance** and potential exposure to redemptions.

[**Learn more about redemption here**](/flux/using-flux/redeem)

## Can I adjust my interest rate?

Yes! You can adjust your **interest rate at any time**. Since you set your own rate, you have full control over your borrowing costs.

However, a fee **equal to 7 days of your chosen interest** applies when:

* Opening a loan.
* Adjusting your rate **less than 7 days after the previous adjustment**.

This prevents borrowers from evading redemptions by quickly increasing and then lowering their rate around a redemption transaction, which would unfairly push redemptions onto higher-interest borrowers.

## How do I decide on the right rate?

Your interest rate directly affects your **redemption risk**, so it should align with your goals and how actively you want to manage your loan.

You can either:

* **Manage your own rate**, balancing lower costs with higher redemption risk.
* **Delegate rate management** to a third party. This is not possible yet, but is on the roadmap, and fairly simple to implement due to Radix' architecture.

Since redemptions **prioritize the lowest interest rates**, it’s often best to keep a buffer of other borrowers with lower rates ahead of you. A **higher rate** increases costs but offers **more stability** in volatile markets.

To help decide, you can see how much fUSD is redeemable before your position when choosing an interest rate.

Additionally, redemptions typically happen when **fUSD trades below $1 minus the current redemption fee**. Keeping track of **past redemption activity** can give you insights into your **overall risk exposure**.

In general:

* **Active borrowers** or those taking short-term loans may benefit from **lower rates**.
* **Passive, long-term borrowers** may prefer **higher rates** for peace of mind.

## **What determines the riskiness of my loan?**

Your risk is shaped by **two key factors**:

1. **Loan-to-Value (LTV)** – Your **debt-to-collateral ratio**, which affects your **liquidation risk**.
2. **Interest Rate (IR)** – The rate you **set yourself**, which influences **redemption risk**.

With full control over these settings, you can **adjust your risk level** to match your strategy. Additionally, you can **open multiple loans**, allowing you to manage different risk profiles across your portfolio.

## **Are there any other fees related to borrowing?**

To prevent **redemption evasion strategies**, a **premature adjustment fee** applies when an interest rate change is made **less than 7 days** after the last adjustment (or loan opening).

* This fee is equal to **7 days of the loan's chosen interest**.
* It is **denominated in fUSD** and added to your loan's debt.
* The same fee applies when **opening a new loan** or **increasing debt** (only on the added amount).

This fee ensures fair participation and prevents users from **minimizing interest payments unfairly**.

## **How many loans can I open with the same address?**

You can open **multiple loans** with the same collateral or across different collateral types. Each loan is represented as a **separate NFT**, giving you flexibility in managing your borrowing strategies.

## **Are loans transferable?**

Yes! Loans are **NFTs**, meaning they can be **easily transferred between wallets**.

More advanced strategies, like **selling loans on secondary markets** (e.g., Trove) are thus possible.

⚠️ **Caution**: if you're looking at raw loan NFT data, make sure you understand its debt is denominated in pool units. Ideally, use a front-end that supports trading Flux Loan Receipts, and instantly converts this pool unit denominated debt into "real debt".

## **How do I loop my exposure?**

Looping lets you **borrow fUSD against your collateral** (XRD, LSULP) and **use it to buy more collateral**, increasing your exposure.

Flux currently doesn't offer **one-click automation** to streamline this process, so you'll have to do this manually. This feature is definitely on our wishlist though, whether that be through a third-party dashboard, or through our own front-end.

## **How are collateral risks mitigated?**

Flux currently maintains **two separate borrow markets** for different collateral types, each with:

* **Independent Flux Reservoirs** for efficient liquidations.
* **User-set interest rates** to adjust risk exposure.
* **Collateral-specific LTV factors** to maintain stability.

Risk is further mitigated through r**edemption logic favoring collateral with less Flux Reservoir support** to maintain balance.

⚠️ **Important**: fUSD remains dependent on XRD and LSULP. While mechanisms exist to maintain overcollateralization, there is **no strict guarantee** if a collateral asset collapses suddenly.

## How does Flux compartmentalize risk among different collateral types?

Risk exposure depends on the user type:

* **Borrowers**: Your risk is **limited to the collateral you hold**. A failure in another collateral type **does not affect your loan**.
* **fUSD Holders**: As a **multi-collateral stablecoin**, fUSDdepends on **effective liquidations** across all borrow markets to stay overcollateralized. Holders are exposed to risks across **all** collateral assets.
* **Earners (Flux Reservoir depositors)**: You are only exposed to the collateral type you choose. However, as an **fUSD holder**, you are still subject to risks like potential **depegging**.


# Earning with Flux

{% hint style="info" %}

### Don't feel like reading? Watch these three videos on Earning with Flux

1. [How to earn fUSD yield using Flux Reservoirs](https://youtu.be/kN796nP1-yw?si=ykVC64mqFecQjPys)
2. [How to earn fUSD yield providing fUSD liquidity](https://youtu.be/z5uGydaWtZo?si=v2dBDqfLG3jZRdug)
3. [How to earn fUSD burning $ILIS](https://youtu.be/ppyyvfJgLF8?si=23as1yVqEE1sxRCI)
   {% endhint %}

### How can I earn with Flux?

The first category of earner with Flux would do so by **borrowing**. A user can **leverage their collateral**—Borrow fUSD and sell to gain more exposure to your chosen collateral.

The second category of earner, profits from borrower's interest payments. To profit from these payments, a user can:

* **Deposit into a Flux Reservoir -** A huge chunk of fUSD interest payments is divided over Flux Reservoirs, which are of crucial importance to the health of the protocol.
* **Provide fUSD DEX Liquidity -** Another part of the interest payments are distributed over fUSD liquidity providers on DEXes.
* **Buying ILIS -** A small part of the interest earned is used to buy back and burn ILIS. Hold ILIS to win here!

The exact distribution of fUSD interest payments is as follows:

* **Flux Reservoirs**: 65%
* **Liquidity Incentivization**: 25%
* **ILIS buybacks**: 10%

## Flux Reservoirs

### What is a Flux Reservoir?

Flux Reservoirs handle liquidations of undercollateralized loan's in a profitable manner. Users can deposit fUSD into Flux Reservoirs to participate and profit from liquidation rewards. To make it even more attractive to deposit fUSD into these Flux Reservoirs, the majority of interest earned by the protocol (65%) is funneled to Flux Reservoirs as well.

### Where does Flux Reservoir's yield come from?

The **yield** comes from two **sustainable sources**:

1. **Interest payments**—a large part of borrower interest goes to Flux Reservoir depositors, paid in fUSD.
2. **Liquidation gains**—Your fUSD is used to liquidate **under-collateralized loans**, earning (staked) **XRD at a discount (\~10%)**.

### What happens when depositing to a Flux Reservoir?

Flux Reservoirs consist of two tokens: fUSD and the collateral type of the market which liquidations it is responsible for. Most of the time, only fUSD should be within these Flux Reservoirs. Then, fUSD is just deposited straight into the Reservoir, and you receive your fair share of pool tokens to represent this deposit. However, when depositing into a Flux Reservoir that also contains some of the collateral token, fUSD is used to buy a part of the Reservoir's collateral token, so the depositor's fUSD/collateral token ratio is equal to the final Reservoir's fUSD/collateral token ratio.

### Can I withdraw my Flux Reservoir contents at any time?

Yes, there is no lockup period. Users are free to withdraw their Flux Reservoir deposits whenever they want. There is no fee tied to it either.

### How is it ensure Flux Reservoir depositors are primarily exposed to fUSD?

Collateral contained within Flux Reservoirs can be bought up with a small discount using fUSD. This is almost always profitable, and ensures that all Flux Reservoir contents are converted into fUSD again after a liquidation. The discount is relatively unsubstantial, so liquidation gains still far outweigh it for Flux Reservoir depositors.

{% hint style="warning" %}
Keep in mind, that if fUSD trades above $1, this mechanism doesn't work as well. People aren't be incentivized to buy back collateral if there's no arbitrage. Depositors are then exposed to price movements of the collateral.
{% endhint %}

### Why are there multiple Flux Reservoirs?

Each collateral type (XRD or LSULP) has a **separate borrow market and Flux Reservoir** to:

1. Maintain **independent interest rates and liquidations** for each collateral asset.
2. Allow depositors to **choose their exposure** based on risk preference.

### How do risks differ between Flux Reservoir?

**Risk** depends on the **pool** you choose:

* Flux Reservoir depositors **only** gain exposure to the collateral they choose.
* Separate pools **compartmentalize risk**, preventing failures in one asset from affecting the whole system.
* **However, all fUSD holders remain exposed** to the overall collateral mix—XRD and LSULP, this includes the fUSD you have deposited into the Flux Reservoir!

## Incentivized Liquidity

### What is Incentivized Liquidity?

fUSD liquidity is extremely important to the success of Flux. Hence, liquidity provision of fUSD on DEXes is incentivized. Provide liquidity, and receive weekly fUSD airdrops.

### Where do these Incentives come from?

A substantial part of borrower interest (25%) goes to incentivizing liquidity provision.

### Where do I provide liquidity?

The liquidity incentives are distributed over two pools.:\
1\. [fUSD / xUSDC on C9](https://www.caviarnine.com/earn/shape-liquidity/pool/component_rdx1cqmx9aqpr36anp960xes8f4wp7skc6pya6k9ra2jtlmlv24qslmwxf) (Shape Liquidity): 80% of incentives\
2\. [fUSD / XRD on Oci](https://ociswap.com/pools/component_rdx1cpmacy5gwzswse56jprvlfhrpnt3mplswupu7qtq8pdz2hywy5uaqd) (FlexPool 50/50): 20% of incentives

### Can I just provide liquidity at every price?

No, for shape liquidity liquidity provision on CaviarNine, only liquidity between 0.95 and 1.05 fUSD/xUSDC is incentivized at the time of writing. See the [Flux Earn page](https://flux.ilikeitstable.com/earn) for the current incentivized ranges.

Also, for shape liquidity, rewards are split in half, one side goes towards supplied fUSD liquidity, and the other to supplied xUSDC liquidity. If one of these is non-existent between 0.95 and 1.05 fUSD/xUSDC, rewards are fully allocated to the one that does exist.

## ILIS Buy Backs

### What are ILIS buy backs?

It is of crucial importance to make sure the ILIS token is valuable, as this is what ensures the safety of the DAO. To make sure there is substantial incentive to hold ILIS, part of the protocol's yield (10%) is funneled into buying back ILIS, and burning it.

[Try it yourself.](https://flux.ilikeitstable.com/burn)


# Redemptions

On this page the user can manage their loans.

{% hint style="info" %}

### Don't feel like reading? Watch [this video](https://youtu.be/XeA5dZEJkkM?si=zroMMY1Merr3McuS) on how Flux keeps peg using Redemptions

{% endhint %}

## What are Redemptions?

Redemptions play a **critical role** in maintaining **fUSD’s peg to the US Dollar** by ensuring that 1 fUSD is always backed by **$1 worth of collateral**. This mechanism operates **entirely on-chain**, without relying on centralized entities or third-party custodians.

At its core, a redemption allows a user to **swap fUSD for collateral (XRD, LSULP) at face value**, treating **1 fUSD as exactly $1**. While redemptions can be initiated by anyone at any time, they are typically **only profitable when fUSD is trading below $1**.

**How Redemptions Work:**

1. The redeemer **sends fUSD to the protocol**.
2. In return, they receive a **mix of collateral (XRD, LSULP)** minus a small **redemption fee**.
3. The collateral is sourced **from borrower's loans**, starting with **loans that are paying the lowest interest rate**.

The redeemed amount per collateral is chosen based on their current Flux Reservoir backing (learn more).

## What if two loans have the same interest rate?

If two loans have the same interest rate, the loan with the highest LTV is chosen first to redeem.

## When can Redemptions occur?

Redemptions **can technically happen at any time**, but in practice, they occur **when it is profitable**.

**Most likely scenario:** When **fUSD trades below $1** (minus the redemption fee), arbitrageurs can redeem fUSD for its underlying collateral at a **discount**, making it an attractive opportunity.

Since redemptions increase demand for fUSD and reduce its circulating supply, they **naturally help restore the peg**.

## Who can initiate a Redemption?

**Anyone** with a sufficient balance of fUSD can initiate a redemption. However, in practice, **redemptions are expected to be performed primarily by professional bots** rather than manual traders.

This ensures redemptions happen **quickly and efficiently**, keeping fUSD stable and liquid.

## What happens if my loan gets redeemed?

A redemption works similarly to **someone else repaying your debt** while claiming an equivalent portion of your collateral in return.

When this happens, an amount of your debt **equal to the redeemed collateral in USD terms** is repaid. The redeemer receives your collateral, minus the **redemption fee**, which remains in your loan. Because redemptions happen when fUSD is trading below $1, this process can even result in a slight **profit** for you, as your debt is reduced at a discount.

**Example (XRD at $0.50):**

* **Before Redemption:** 100,000 XRD collateral, 20,000 fUSD debt
* **After Redemption:** 71,000 XRD collateral, 5,000 fUSD debt

Your **collateral and debt are reduced equally** in USD terms, while the **redemption fee (1,000 XRD in this example) is added back** to your collateral.

## How do Redemptions work with multiple collaterals?

Instead of allowing redeemers to freely choose which collateral to claim, the system **optimizes redemptions** in a way that strengthens fUSD’s overall backing.

Redemptions begin by targeting **loans with the lowest interest rates** in each collateral market. This process continues **until the full amount of fUSD being redeemed is exchanged for collateral**. Redemptions can be **partial or full**, depending on the amount of fUSD involved and the debt structure of the affected loans.

For example, in a scenario where redemptions occur across multiple collateral markets:

* In the **XRD market**, one loan is fully redeemed, while another is partially redeemed.
* In the **LSULP market**, two loans are fully redeemed.

This structured approach ensures **fair and efficient** liquidation of collateral while protecting the system from instability.

## How is the Redemption collateral split determined?

The proportion of collateral used in redemptions is **not fixed** but **dynamically adjusted** to maximize the economic safety of the system. The underlying principle is simple: **riskier collateral types absorb more redemptions** to prevent potential bad debt.

The system calculates risk based on the **size of each collateral market’s Flux Reservoir relative to its total debt**. If a market’s Flux Reservoir is small compared to the total borrowed debt, it is considered **riskier**, meaning a larger share of redemptions will be allocated to it.

For instance, if the **outside debt** (calculated as: `total debt - fUSD in collateral's` Flux Reservoir) across collateral types is:

* 100 fUSD for LSULP
* 50 fUSD for XRD

Then a **redemption** would result in the following collateral distribution:

* **66.67% from LSULP**
* **33.33% from XRD**

This mechanism ensures that the system remains resilient, even in extreme market conditions, by **dynamically balancing risk** across all collateral types.

## Is there a Redemption Fee?

Yes, redemptions come with a **fee**, similar to the STAB Protocol. The **redemption fee remains with borrowers** as part of their collateral.

The **redemption fee is deducted from the total XRD/LSULP** withdrawn during a redemption. Different than with the STAB Protocol, the fee is calculated based on a **dynamic rate** that increases with each redemption and then **decays exponentially** over time, with a **half-life of six hours**.

Each time x fUSD is redeemed, the dymanic rate:

* **Decays based on time** since the last redemption
* **Increases** proportionally to the fraction of the total fUSD supply redeemed (`x / total_fUSD_supply`)

This dynamic structure means that **fees are higher when redemptions happen frequently** but decrease quickly if redemptions slow down.

## How can I stay protected from Redemptions?

Your **risk of redemption** depends on two main factors:

1. **The interest rate you set**
2. **The price of fUSD**

**1. Interest Rate and Redemption Order**

Your interest rate determines how far down the line you are for redemptions. The higher your interest rate, the more fUSD needs to be redeemed before your Trove is affected.

For example, if the front-end shows 41M fUSD ahead of you, this means that 41M fUSD must be redeemed before your collateral is affected.

Dashboards to monitor historic redemption volume are on the roadmap.

**2. The Price of fUSD**&#x20;

Redemptions typically only happen when fUSD trades below $1. If fUSD is above $1, redemptions are unprofitable, and they should pause entirely.

If demand for fUSD remains high—you can lower your interest rate safely without increasing your risk of redemption.


# Technical Info


# Components & Manifests

The Flux protocol consists of multiple smart contracts / components:

* Main Logic Component (holds state, and does calculations on state):&#x20;

  ```
  component_rdx1czgv2hx5lq4v5tjm32u69s5dw8ja0d4qeau2y5vktvaxlrmsfdy08u
  ```
* Stability Pool Component (contains Flux Reservoirs and handles Redemptions):&#x20;

  ```typescript
  component_rdx1cpkye6pp2643ghalcppdxks6kymyu5gla87gf7sk34k0vg7xu57jaj
  ```
* Flash Loan Component (allows user to get fUSD flash loans):

  ```typescript
  component_rdx1crs3hyyf9u7rnlr3m3eayrk5njtpmyt3dxm8n8sz2tkmzt9njpx2wd
  ```
* Payout Component (used for $ILIS burning):&#x20;

  ```typescript
  component_rdx1cpwhw0amk5d477yy0n9dauckk58tuhy49l33jxsfra8ysn5233evtg
  ```
* Proxy Component (main entry point to protocol, used to manage permissions):

  ```typescript
  component_rdx1cpksv4vl6jlflxrsyutxerncadn8gssgsxxkt7p7p3z2qgnwew7ynk
  ```
* Oracle Component (used to validate price messages):&#x20;

  ```typescript
  component_rdx1cpyymlazmr7nxzph2hztn02zl7qe6t8typnqfgfxtw6lvt3aslw4uz
  ```

[The source code for all these components is available.](/flux/technical-info/source-code)


# Source Code

* Flux Protocol source code: <https://github.com/Stabilis-Labs/flux-protocol>\
  The currently deployed version on Mainnet is deterministically built using commit `32d5273`


# Oracle

We use Morpher's oracle. This is a pull oracle, which means that for every Flux transaction that you do, that needs collateral price information, you have to include a signed price message.

It's possible to set up your own Morpher oracle subscription, which you can get these messages from. [Learn how to using their documentation.](https://www.morpher.com/radix/docs)

You're also free to use [our API](https://flux.ilikeitstable.com/api-docs), which allows you to get such signed messages.


# System Parameters

**Max LTVs:**

* 66.67% for both XRD and LSULP

**Redemption fee:**

* Variable, between 0.5% to 5%

**Interest rate change cooldown:**

* 7 days, meaning if you change interest after having previously set it less than 7 days ago, you'll have to pay an **early interest change fee.**

**Borrow fee / early interest change fee:**

* 7 days worth of interest

**Liquidation fine:**

* 110% of debt value taken from your collateral

**Discount for buying collateral from Flux Reservoirs:**

* 1% (in other words, you can buy collateral from Flux Reservoirs at 99% of the real price)


# Dangers

Interacting with Flux is not completely without dangers. Hence it's important to inform you of them.

Some of the main risks are:

**Smart contract risk**\
Errors in the smart contract are always a possibility. Risks include but are not limited to resources getting stuck or resources being drained.

**Liquidation risk**\
When a loan's LTV surpasses the max LTV, it is possible to be liquidated. This leads to having to pay the liquidation penalties.

**Oracle risk**\
Manipulation of the oracle(s) we use can lead to inaccurate liquidations and other actions that should not be possible.

**Depeg risk**\
Market conditions could lead fUSD to trade at a price far from the (target) internal price. Were this to happen repaying a loan (or liquidating), might become unfeasible. It might also become unfeasible to buy back collateral in **Flux Reservoirs**. This would mean depositors are not only exposed to fUSD price, but collateral prices as well.

**Liquidity risk**\
If fUSD liquidity is low, the system starts behaving in a suboptimal way. Reservoir buybacks might not be possible anymore. Other parts of the system might behave in unwanted ways as well.


# Whitepaper

a whitepaper is in the process of being written


# Video content

**Tutorials**

If you don't enjoy reading, you might like these videos going over Flux's main functionality:

* Why use Flux? - coming soon
* [How to borrow fUSD on Flux](https://youtu.be/dIBoZLF0RnQ?si=_LnTEli7o9Ounu15)
* [How to earn fUSD yield using Flux Reservoirs](https://youtu.be/kN796nP1-yw?si=ykVC64mqFecQjPys)
* [How to earn fUSD yield providing fUSD liquidity](https://youtu.be/z5uGydaWtZo?si=v2dBDqfLG3jZRdug)
* [How to earn fUSD by burning $ILIS](https://youtu.be/ppyyvfJgLF8?si=mRyycQ884D9gG30F)
* [How fUSD keeps peg: Redemptions and Interest rate explained](https://youtu.be/XeA5dZEJkkM?si=CdVWAo38yvAClmM9)

\
**Dev Logs**

During the development of Flux, multiple dev logs were recorded. If you're interested in the process, and the thoughts behind its architecture, you might like [this playlist](https://www.youtube.com/playlist?list=PLz9zQtPeULlrXbtAP2RJaZR3S2XZA8MLw).


# Using STAB Protocol

{% hint style="warning" %}
**The STAB Protocol** is in the process of being **decommissioned** to focus efforts on Flux!

Thanks for your support up until this far <3

\
See the below proposal(s) for more information on its decommissioning.
{% endhint %}

{% file src="/files/kqk7RJhpbLPLGStQ06Wy" %}


# Swap

On the swap page, the user can swap their XRD for STAB and the other way around. Providing liquidity to the Stabilis XRD/STAB pool is also possible. The user will then be returned LPSTAB.

**Swap**\
The user can execute their desired trade by swapping. Fill in the desired amount of token to sell \[1], to see the amount of resulting tokens bought \[2]. To switch the token bought, press the switch button \[3].\
\
When swapping, the price impact for the asset you are receiving is shown as a percentage \[4]. If the percentage is green, you're arbitraging. If it's red, you're either trading away from the peg, or overshooting the arbitrage.

<figure><img src="/files/zz6ooG6y6pd2SlgCeIZo" alt=""><figcaption><p>Swapping between XRD and STAB</p></figcaption></figure>

**Manage liquidity**\
Swapping using the XRD/STAB pool relies on users to provide liquidity. This can be profitable, and a Real 7d APY to show whether it is or not \[1]. The total amount of liquidity provided is also shown \[2].\
\
**Adding liquidity** is simple. Go to the correct section of the interface \[3], and choose how much STAB or XRD you want to provide as liquidity \[4]. The interface will calculate the necessary amount for the other token, try it out!

<figure><img src="/files/BZIi9UKD86KCglV3yvXN" alt=""><figcaption><p>Providing XRD/STAB liquidity</p></figcaption></figure>

Providing liquidity will result in <mark style="color:red;">LPSTAB</mark> tokens for the user, which can be used to keep track of the liquidity you've provided and be exchanged in return for the provided liquidity. When you want to **remove liquidity**, go the correct section \[1], and input the amount of LPSTAB tokens \[2] you want to exchange in return for their underlying liquidity.

<figure><img src="/files/ZboEx985TywFoUdFTxDN" alt=""><figcaption><p>Removing XRD/STAB liquidity</p></figcaption></figure>

\
**Statistics**\
On the bottom of the page, some useful statistics are shown. Use them as you see fit!

<figure><img src="/files/jHwl9vrywqAmcVqPSQA6" alt=""><figcaption></figcaption></figure>


# Borrow

The Borrow page consists of a single feature: opening loans of STAB.

{% hint style="info" %}
**IMPORTANT NOTE:** STAB is **NOT** a fixed-peg stable asset such as DAI, USDC or LUSD!\
\
Instead, its peg is variable, meaning it should not always trade at the same price. Its purpose is to provide RELATIVE stability. Read more about the why in the[ Interest Rate ](/stab-protocol/technical-info/interest-rate)section.
{% endhint %}

**Borrow STAB**\
Borrowing STAB is done by providing collateral. First, select one \[1], input the amount of collateral to use \[2], and choose a collateralization ratio \[3]. This ratio needs to be above the Minimum Collateralization Ratio (MCR, currently 150%), to ensure STAB always remains fully backed. Mind the warning shown \[4] - a loan with collateralization ratio below the MCR is prone to being liquidated. Choose a ratio you're happy with, getting your loan liquidated comes with [<mark style="color:blue;">**liquidation penalties**</mark>](/stab-protocol/technical-info/system-parameters)<mark style="color:blue;">**!**</mark> The amount of STAB corresponding to the chosen parameters, is then shown on the bottom of the widget \[5].\
\
Currently only XRD is allowed as collateral.

<figure><img src="/files/r4QzaiBgXAq2JPFhYwP9" alt="" width="522"><figcaption></figcaption></figure>

**Protocol overview**\
The state of the protocol is displayed on to give the user as much insight as possible.

<figure><img src="/files/mFZERD9l4DKh5yxuMjKg" alt=""><figcaption><p>An overview of important protocol data</p></figcaption></figure>


# Manage loans

On this page the user can manage their loans.

When using the STAB Protocol, it is of crucial importance to keep track of your open loans, and ensure their good health.

To manage a loan, the user first has to select one \[1]. They are then provided with some useful information about its **status** \[2], and could close it immediately if they have the necessary STAB to pay off their debt in full.

<figure><img src="/files/mXUxdFCvAvJ1Iv9CXDBZ" alt=""><figcaption><p>Managing a loan</p></figcaption></figure>

With a loan selected, the user can also **manage their collateral** (add or remove collateral) or **manage their debt** (partially pay it off, or borrow more).

**Managing collateral**\
If a user wants to **add collateral**, they should select the "Add collateral" selector \[1]. Here, they can choose how much collateral they want to add \[3], and the interface will show them their new collateralization ratio \[2].

<figure><img src="/files/rOAAGswdQkzjIuhKBZaZ" alt="" width="516"><figcaption><p>Adding collateral to a loan</p></figcaption></figure>

If a user wants to **remove collateral**, they select the "Remove collateral" selector \[1]. Here, they can choose how much collateral to remove \[3]. Be careful though, removing collateral will decrease the collateralization ratio of your loan! This new collateralization ratio is displayed about the input field \[2].

<figure><img src="/files/ckAUW5qOPA6UGkp4Qavd" alt="" width="516"><figcaption><p>Removing collateral from a loan</p></figcaption></figure>

**Managing debt**\
If a user wants to **pay off** some of their debt, they select the "Pay off debt" selector \[1]. Here, they can choose how much STAB debt to pay off \[3]. The new collateralization ratio is prominently displayed \[2].

<figure><img src="/files/Pd94iBhdc0KuL2KBNVIB" alt="" width="521"><figcaption><p>Paying off a loan's STAB debt</p></figcaption></figure>

If a user wants to **borrow more** against their collateral, they select the "Borrow more" selector \[1]. Here, they can choose how much debt to add to their loan \[3], and see the collateralization ratio this results in \[2]. Be careful though, borrowing more will lower a loan's collateralization ratio!

<figure><img src="/files/BdBbQOuCyJ6Eb5HTCBtK" alt="" width="518"><figcaption><p>Adding debt to an open loan</p></figcaption></figure>


# Liquidations

On the Liquidations page, the user can mark loans for liquidation and eventually liquidate them.

When open loans become a liability for the STAB protocol, due to their collateral value being too low (CR < MCR), they become eligible for liquidation: someone pays off their debt in return for a share of their collateral. \
\
For a loan to be liquidated, it first needs to be marked. Then, after a delay of 5 minutes, it can be liquidated by the marker. If the marker decides not to liquidate it, 10 minutes after the initial marking, anyone can liquidate it.\
\
See the [System parameters](/stab-protocol/technical-info/system-parameters) for liquidation penalties.

The liquidation process consists of two steps:

**Step 1: Marking for liquidation**\
To start the liquidation process, eligible loans need to be marked. The user can select how many loans they wish to mark \[1]. The "Mark loans" widget of the interface then automatically checks whether this amount of loans is actually markable. If they are, the user can decide to mark them in return for a **Marker Receipt.**

<figure><img src="/files/EiAQ98WTqL54IoyVcijL" alt="" width="527"><figcaption><p>Mark loans for liquidation</p></figcaption></figure>

**Step 2: Liquidating**\
Option 1: *Liquidating with marker*\
Under the **"With marker"** selector \[1], by selecting a Marker Receipt \[2], the state of a corresponding marked loan can be checked \[3]. If the the user so desires and it is possible, they can then liquidate the corresponding loan by clicking the "Liquidate" button. Sometimes, a marker has expired. The user can then decide to burn it, as it has no further use.

<figure><img src="/files/2AfchAKe1heBnu7yOrde" alt="" width="533"><figcaption><p>Liquidate loans using a Marker Receipt</p></figcaption></figure>

Option 2: *Liquidating without marker*\
Sometimes the marker of a loan does not have sufficient funds to liquidate a loan, or simply forgets about it. So, after a 10 minute delay, marked loans are liquidatable by everyone. Users can do so by selecting the **"Without marker"** selector \[1].

The loan shown to the user will be the loan that has been marked for the longest amount of time. If there are multiple loans available for public liquidation, the user can choose to skip liquidating certain loans \[2]. Information about the loan currently selected to be liquidated is shown on the bottom of the widget \[3]. If these terms seem acceptable, the user can decide to liquidate the loan.

<figure><img src="/files/KAvPNf5NXASESOLyXL3l" alt="" width="521"><figcaption><p>Liquidate loans without Marker Receipt</p></figcaption></figure>


# Technical Info


# Components & Manifests

The three interactions currently impossible through the front-end are using flash loans, redemptions (forced liquidations) and forced minting. These are all handled by the Stabilis Proxy Component.

**Flash loan manifest**

Flash loan receipt resource address: `resource_tdx_2_1ng9qmw3dsv3hfu7fem359llx8049af5thn9gehdrefr4xp7ckggxza`

Proxy component address: `component_tdx_2_1cpv6ach7wxjp79g09c0dcc9c8qy7hw9wxsfpmnr56tgd6a0pk0zk9d`

STAB resource address: `resource_tdx_2_1t57r3zezvsx0gud4p2ed3seteqaahnyzg5ahavamqyxqltkmjqpdxf`

```
CALL_METHOD
  Address("<proxy_component_address>")
  "flash_borrow"
  Decimal("1000")
;

////////////////////////////////////////////////////////////////////////////
/////////////////////// USE YOUR BORROWED STAB HERE ////////////////////////
////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////
//// PUT THE STAB YOU'RE USING TO PAY BACK THE LOAN ON THE WORK TOP ////////
////////////////////////////////////////////////////////////////////////////

TAKE_ALL_FROM_WORKTOP
  Address("<stab_address>")
  Bucket("stab_bucket")
;

TAKE_ALL_FROM_WORKTOP
  Address("<loan_receipt_address>")
  Bucket("receipt_bucket")
;

CALL_METHOD
  Address("<proxy_component_address>")
  "flash_pay_back"
  Bucket("receipt_bucket")
  Bucket("stab_bucket")
;

CALL_METHOD
  Address("<your_account_address>")
  "deposit_batch"
  Expression("ENTIRE_WORKTOP")
;
```

**Redemptions / forced borrowing**

Information on manifests will follow soon, but if you like detective work, the necessary information is already available in the [STAB Protocol GitHub repo](https://github.com/Stabilis-Labs/stab-protocol).


# Source Code

The source code of the STAB Protocol can be found [here](https://github.com/Stabilis-Labs/STAB-Protocol).


# Oracle

The STAB Protocol makes use of the Morpher pull-based oracle.

Updating collateral prices is rewarded with some $ILIS to cover transaction costs. Anyone can update the collateral prices.

In order to do that, please refer to [Morpher's documentation](https://www.morpher.com/radix/docs).


# System Parameters

**Liquidation parameters**

Minimum collateralization ratio (MCR): 150% for all collateral types

Total liquidation penalty: 15% (10% to liquidator, 5% to protocol)

**Interest parameters**

Minimum yearly interest rate: -50%

Maximum yearly interest rate: +50%


# Interest Rate

**What is the STAB interest rate?**\
The STAB interest rate influences STAB's peg (or, internal price). A negative interest rate, for example, makes it cheaper over time to borrow 1 STAB, whereas a positive one does the opposite.

{% hint style="info" %}
**IMPORTANT NOTE:** This means that STAB is not a fixed peg asset! In other words, it shouldn't always trade at the same price.

STAB's target price changes over time, and eventually, a situation could occur where STAB is SUPPOSED to trade at $2, for instance.
{% endhint %}

**Why is this useful?**\
The lower the interest rate, the higher the incentive to **borrow** STAB. And conversely, the higher the interest rate, the higher the incentive to **hold** STAB. As you can see, altering the interest rate will influence supply and demand for STAB.\
\
An asset's price is determined by where the supply and demand curve meet and by altering the interest rate in such a way that the supply and demand curves of STAB meet at the peg, we can ensure stability.

**Choosing the right interest rate**\
To measure supply and demand, we can look at STAB's price on the open market, and compare it with its peg. If STAB is trading above its peg, there is too much demand for STAB, and we need to incentivize borrowing and disincentivize holding. As we have just seen, we can accomplish this by decreasing the interest rate. The other way around works as well, if STAB is trading below its peg, we should increase the interest rate. Repeating this process over and over leads to the discovery of an optimal interest rate, where supply and demand meet: fair-priced stability is found.\
\
**Exact calculations**\
This process of STAB interest rate calculation is done through a PID-controller in the Scrypto blueprint. Every time the protocol is updated the following computation is done:

```rust
interest_rate -= (kp * (price_error / internal_price)
                    + ki
                        * (average_of_last_50_prices
                            / internal_price)))
                    * passed_minutes;
```

With:

```rust
kp: dec!("0.00000000688660713"),
ki: dec!("0.00000000076517857"),
price_error: open_market_price - internal_price,
```

The internal price is then altered accordingly:

```rust
new_internal_price = internal_price * interest_rate.pow(passed_minutes)
```

Minimum yearly interest rate: -50%

Maximum yearly interest rate: +50%

If these values are exceeded by the interest rate calculation, interest rate is automatically set to the exceeded value.<br>


# Real 7d APY

The 7d Real APY as displayed on the Swap page shows how profitable providing liquidity has been the last 7 days, compared to just holding both tokens.

<pre class="language-javascript"><code class="lang-javascript"><strong>7_day_real_apy = ((lp_valuation_now / lp_valuation_7_days_ago)^(365 / 7) - 1) * 100;
</strong></code></pre>

With `lp_valuation_now` being the value of 1 LPSTAB token currently.

And `lp_valuation_7_days_ago` being the value of 1 LPSTAB token 7 days ago **WITH CURRENT STAB and XRD PRICES!**

Because for both valuations the current asset prices are used, it makes for a fair comparison between holding and providing liquidity.


# Dangers

Interacting with the Stabilis ecosystem is not completely without dangers. Hence it's important to inform you of them.

Some of the main risks are:

**Smart contract risk**\
Errors in the smart contract are always a possibility. Risks include but are not limited to resources getting stuck or resources being drained.

**Liquidation risk**\
When a loan's collateralization ratio falls under the MCR, it is possible to be liquidated. This leads to having to pay the liquidation penalties.

**Oracle risk**\
Manipulation of the oracle(s) we use can lead to inaccurate liquidations and other actions that should not be possible.

**Depeg risk**\
Market conditions could lead STAB to trade at a price far from the (target) internal price. Were this to happen repaying a loan (or liquidating), might become unfeasible.


# Whitepaper

To learn more about the STAB Protocol, read its [whitepaper](https://github.com/Stabilis-Labs/STAB-Protocol/blob/main/docs/stab_protocol_whitepaper.pdf).


# Tokens


# ILIS DAO


# ILIS

ILIS (I Like It Stable) is the governance token used the ILIS DAO.

**Resource address:** resource\_rdx1t4r86qqjtzl8620ahvsxuxaf366s6rf6cpy24psdkmrlkdqvzn47c2

**Tokenomics**\
Supply: 100.000.000 ILIS

| Description                                                                                                                               | Amount          | Percentage of Supply |
| ----------------------------------------------------------------------------------------------------------------------------------------- | --------------- | -------------------- |
| ILIS DAO Treasury                                                                                                                         | 67.000.000 ILIS | 67%                  |
| [Founder Retention](https://dashboard.radixdlt.com/component/component_rdx1cz4wa7cq685ctexda4kv3vxw9ezp3234qlcj8jl5vepjsm54467kst/tokens) | 15.000.000 ILIS | 15%                  |
| Liquidity Bootstrap                                                                                                                       | 8.000.000 ILIS  | 8%                   |
| Open Beta Rewards                                                                                                                         | 6.000.000 ILIS  | 6%                   |
| [OTC Sale](https://dashboard.radixdlt.com/account/account_rdx12y528ccdmqge0dgw9ce3vg30vyhax5ynpwakvzafrzzg69texgpe60/tokens)              | 3.000.000 ILIS  | 3%                   |
| Closed Beta Rewards                                                                                                                       | 1.000.000 ILIS  | 1%                   |

**Founder Retention Vesting**

The founder retention is vested at a maximum of 20% of the circulating ILIS supply. This is done through [this ](https://github.com/gguuttss/token-fraction-vester)vesting blueprint (built deterministically with commit \`d8a092a\`). To see the still vested tokens, see [this ](https://dashboard.radixdlt.com/component/component_rdx1cz4wa7cq685ctexda4kv3vxw9ezp3234qlcj8jl5vepjsm54467kst/tokens)component.

**Further functionality**

Apart from participating in governance, further functionality to enable fee distribution is being considered, such as an ILIS burning mechanism in return for protocol fees.


# Membership ID

coming soon

```javascript
resource_rdx1ntsrpxwdvrnzt3kmkx7nlhvy8t5t2ckxqmp9ydpwf92ltjfwn07pkx
```


# Membership ID Unstake Receipt

```javascript
resource_rdx1nfxms582l535nd6ual0h0yk5tpegu9967rzkvwn7h4ym9numqfdwpy
```


# Membership ID Transfer Receipt

```javascript
resource_rdx1ng2up00nfkdtf87ytrqvs6zvu6rgfwgwrw6ksyl6gnz4mpqaj4hhda
```


# Incentives ID

coming soon

```javascript
resource_rdx1ng2nu559nw2lutyl48hafycj42km8qg7v0t4nnqkuwy74c56l3xruu
```


# Incentives ID Unstake Receipt

```javascript
resource_rdx1n25n0u6v9js835tjdzqgfarvzygjntq5d4s74e4nfzjj4nf29tf2dp
```


# Incentives ID Transfer Receipt

```javascript
resource_rdx1ntxajna45s0mqyspfd6hsq5jmxw673skpdr45xphmv8ew4k72j2sdg
```


# Proposal Receipt

coming soon

```javascript
resource_rdx1ngwhlept050nw3evc6fk8stms9n44krh5f9efvl3clusuhlgsy5f8a
```


# STAB protocol


# STAB

STAB (STAble Basis) is a stable asset, brought to life by borrowing it (do so through the dapp's[ Borrow page](https://beta.ilikeitstable.com/borrow)).

Its **unique** feature is that it is not hard-pegged to a single USD valuation; STAB tokens are subject to an interest rate. The interest rates can vary from -33.33% to +50% per year and are set by STAB supply and demand. Negative interest is attractive for STAB borrowers, as their debt decreases over time, whereas positive interest is attractive for STAB holders, as their assets increase in value.\
\
**Resource address:** resource\_rdx1t40lchq8k38eu4ztgve5svdpt0uxqmkvpy4a2ghnjcxjtdxttj9uam

**For an explanation of this interest rate change, see the** [**STAB interest rate.**](/stab-protocol/technical-info/interest-rate)


# LPSTAB

Providing liquidity to the STAB protocol's built in XRD/STAB pool returns LPSTAB tokens to represent your share of the pool. Because they are pool units, that's also where they show up in your wallet.

The XRD/STAB pool is set to take a 0.1% fee, which goes to liquidity providers. On the swap page, you can see the APY on providing liquidity. Curious to know how it is calculated? Go [here](/stab-protocol/technical-info/real-7d-apy).\
\
**Resource address:** resource\_rdx1t59m2c48gtrflsxms35d7alkggyed383fw0mfe98c3v3z6xcqds28h


# Loan Receipt

coming soon

```javascript
resource_rdx1ng373z7kqwvseu4d9rjdq3wux34zu7mtvg9255sl0j7dauuj67dfxz
```


# Marker Receipt

coming soon

```javascript
resource_rdx1nggz77xqf9f5gnklq8vdc204neulhm88eu9z66l2d9meueqn34qtuq
```


# Liquidation Receipt

coming soon

```javascript
resource_rdx1nfwchpaj9fq5uhg96c873xlw08e5hcvqacsn6gk5g8tv4w5tk44fl6
```


# Flash Loan Receipt

```javascript
resource_rdx1ngqggm445297u03dka8r86acvvf2vv5a74y0t0xjdpx5d7thactfa0
```


# FAQ

Got a question? Chances are it's listed here!

**Q: How do I get STAB?**\
A: You can acquire STAB either by borrowing it through the STAB Protocol, or buying it on the open market.

**Q: How do I borrow STAB?**\
A: Borrowing STAB can be done through the [Borrow page](https://beta.ilikeitstable.com/borrow) of the STAB dApp.

**Q: Is borrowing STAB dangerous?**\
A: There are [risks ](/stab-protocol/dangers)to borrowing STAB. A big one is liquidation risk: if your collateral value falls below a certain treshold (MCR), being liquidated is a possibility. Another user then pays off your debt, in return for (part of) your collateral. When this happens, you pay the [liquidation penalties](/stab-protocol/technical-info/system-parameters). To prevent this, keeping close tabs on your loans using the [Manage loans page](https://beta.ilikeitstable.com/manage-loans), is important.

**Q: What is the MCR?**\
A: MCR stands for Minimum Collateralization Ratio, and represents the minimum amount of collateral is needed to not get liquidated. If a loan's collateralization ratio is below the MCR, another user can pay it of and the loan holder will be penalized.\
\
The current MCR is 150% for all collateral types, meaning the collateral value must be above 150% of the debt value.

**Q: What does the interest rate entail?**\
A: STAB's peg is subject to an interest rate. The interest rate can vary from -33.33% to +50% per year and is set by STAB supply and demand. Negative interest is attractive for STAB borrowers, as their debt decreases over time, whereas positive interest is attractive for STAB holders, as their assets increase in value. More about its calculation [here](/stab-protocol/technical-info/interest-rate).

**Q: What is LPSTAB?**\
A: [LPSTAB ](/miscellaneous/tokens/stab-protocol/lpstab)is the LP token of the XRD/STAB pool integrated into the STAB protocol. Providing it with liquidity returns the LPSTAB tokens to represent your share of the pool.

**Q: What is ILIS?**\
A: [ILIS ](https://github.com/gguuttss/stabilis-gitbook/blob/main/miscellaneous/broken-reference/README.md)(I Like It Stable) is the governance token of the ILIS DAO. It is used to vote on proposals, and represents one's membership in the ILIS DAO.


# Glossary

coming soon


# Useful links

* [Stabilis open beta](https://beta.ilikeitstable.com)<br>
* Three-part introduction series to the Stabilis ecosystem:
  * [Contemporary stablecoin design](https://shardspace.app/blog/post/7548dcmp41dgh624q5y9)
  * [The issues with current designs](https://shardspace.app/blog/post/77ytqj841mulw5u1h8wf/)
  * [Stabilis’ solution](https://shardspace.app/blog/post/h4gjjhxmoao0sz8hy2k5)<br>
* [Stabilis Labs GitHub](https://github.com/Stabilis-Labs)
  * [DAOpensource Package](https://github.com/Stabilis-Labs/DAOpensource)
  * [STAB Protocol Package](https://github.com/Stabilis-Labs/STAB-Protocol)<br>
* [STAB Protocol Whitepaper](https://github.com/Stabilis-Labs/STAB-Protocol/blob/main/docs/stab_protocol_whitepaper.pdf)<br>
* [ILIS DAO Operating Agreement](https://radix-files-mainnet.vercel.app/file/internal_keyvaluestore_rdx1krupls6a9x689fnkcpr7nt7n5xl8zmk7gvm2d6rmavxjs6z92dllhg/384a4a5c6fa1354cb068cabb7902932142b211381db0acd0fff7f0458cffa592)


# DISCLAIMER

IMPORTANT!

**I Like It Stable DAO LLC**

A company incorporated in the Marshall Islands that governs the Stabilis Ecosystem (STAB Protocol & ILIS DAO). I Like It Stable DAO LLC is the primary entity with which users are transacting and interacting when using ilikestable.com and its associated services.

**ILIS DAO**

A collection of smart contracts running on the Radix DLT owned by the I Like It Stable DAO LLC that enables its services and  facilitates its decentralized governance, which I Like It Stable DAO LLC provides a frontend / interface for.

**STAB Protocol**

A completely autonomous collection of smart contracts that I Like It Stable DAO LLC provides a frontend / interface for, which I Like It Stable DAO LLC does not own and is not affiliated with.

**IMPORTANT DISCLAIMER:**

Before using any services or applications on ilikeitstable.com, including the ILIS DAO and STAB Protocol interface, you must carefully read and understand the following terms and conditions:

I Like It Stable DAO LLC services and its associated features, including smart contracts, are provided "as is". While some smart contracts have undergone audits, an audit does not guarantee that unforeseen issues won't arise in the future. By using I Like It Stable DAO LLC products, you acknowledge and understand that the utilization of the website, software, smart contracts, and all associated services is wholly at your discretion and risk.

Any potential loss, damages, or liability arising from the use of I Like It Stable DAO LLC products, including those related to smart contracts, is entirely the user's responsibility. Neither I Like It Stable DAO LLC or its affiliates, assumes liability for any such loss, damages, or liability, whether direct or consequential, arising from your engagement with ilikeitstable.com.

I Like It Stable DAO LLC and its affiliates are not responsible for the actions or liabilities of third parties, including but not limited to Radix L1, any external DEXs, or associated smart contract interactions. Any losses or liabilities stemming from third-party actions or contract executions are the sole responsibility of the user.

The I Like It Stable DAO LLC members earnestly advise users to engage with ilikeitstable.com using only assets they can afford to risk, and to exercise prudence and due diligence when navigating the website, associated software, and smart contracts.

I Like It Stable DAO LLC and its affiliates provide no guarantee regarding the accuracy, timeliness, suitability, or completeness of any information on this site and shall not be accountable for errors, delays, or inadequacies in this information or any consequences resulting from its display or use. Any links to third-party sites are purely informational; we neither control nor endorse such sites and bear no responsibility for the content's accuracy therein.

Any potential losses, including but not limited to the loss of tokens, data, or profits arising from ilikeitstable.com, including smart contract engagements, lie squarely with the user.

Users should be aware that engaging with ilikeitstable.com, including its smart contracts and associated financial services, may be subject to specific legal or regulatory constraints depending on their jurisdiction. In particular, residents or citizens of the United States should exercise extra caution due to regulatory uncertainties.

It is the user's obligation to familiarise themselves with and strictly abide by all relevant local, state, national, and international laws, regulations, and policies pertaining to their specific use of ilikeitstable.com. If you are uncertain about the legal status of any activity or transaction, we strongly advise consulting with legal counsel in your jurisdiction before using our platform.

By using ilikeitstable.com, you consent to indemnify, defend, and exempt the I Like It Stable DAO LLC members and its affiliates from any claims, damages, losses, or expenses (including attorney fees) resulting from your usage of the website, software, or smart contracts.

Your use of ilikeitstable.com signifies your understanding and acceptance of this disclaimer and all its terms and conditions.

Be advised that these terms and conditions may undergo periodic revisions, with the updated version consistently available on ilikeitstable.com. Users are tasked with reviewing the current terms regularly to remain updated on any alterations.


# Terms & Conditions

IMPORTANT!

**Terms & Conditions for ilikeitstable.com**

**1. DEFINITIONS AND CONTEXT**

**I Like It Stable DAO LLC:** A company incorporated in the Marshall Islands that governs the Stabilis Ecosystem (STAB Protocol & ILIS DAO). I Like It Stable DAO LLC is the primary entity with which users are transacting and interacting when using ilikestable.com and its associated services.

**ILIS DAO:** A collection of smart contracts running on the Radix DLT owned by the I Like It Stable DAO LLC that enables its services and  facilitates its decentralized governance, which I Like It Stable DAO LLC provides a frontend / interface for.

**STAB Protocol:** A completely autonomous collection of smart contracts, which I Like It Stable DAO LLC does not own and is not affiliated with, but that I Like It Stable DAO LLC provides a frontend / interface for.

**2. IMPORTANT INFORMATION**

**Introduction:** By using ilikeitstable.com and its associated features, you agree to abide by these Terms & Conditions (T\&Cs). Please read them carefully. If you do not agree to these terms, you should not use ilikeitstable.com.

**3. SERVICES**

I Like It Stable DAO LLC owns the ILIS DAO and the STAB Protocol interface. ilikeitstable.com offers various services, including interfaces and staking capabilities.

**4. LIMITATION OF LIABILITY**

* Users are solely responsible for any potential loss, damages, or liability arising from the use of I Like It Stable DAO LLC products. Neither I Like It Stable DAO LLC or its affiliates will be held liable for any losses, whether direct or consequential, stemming from the use of the website and its services.

**5. THIRD-PARTY INTERACTIONS**

Users acknowledge that I Like It Stable DAO LLC and its affiliates are not liable for actions or liabilities of third parties, including Radix L1, external DEXs, or associated smart contract interactions.

**6. USER RESPONSIBILITIES**

* Users should only engage with ilikeitstable.com using assets they're willing to risk.
* Users must abide by all relevant local, state, national, and international laws and regulations. This includes, but is not limited to, regulatory requirements and constraints based on the user's jurisdiction.

**7. INDEMNIFICATION**

By using ilikeitstable.com, users agree to indemnify and hold harmless I Like It Stable DAO LLC and its affiliates from any claims, damages, or losses arising from their use of the platform.

**8. CHANGES TO T\&Cs**

These T\&Cs may be updated periodically. The latest version will always be available on ilikeitstable.com. It's the responsibility of the users to check these terms regularly for any changes.

**9. GOVERNING LAW**

These terms are governed by the laws of the Marshall Islands. Any disputes arising out of or in connection with ilikeitstable.com will be subject to the exclusive jurisdiction of the courts of the Marshall Islands.

**10. CONTACT**

For any questions regarding these T\&Cs, please contact the I Like It Stable DAO LLC.


# Procedure

This page outlines the process of submitting a DAO proposal and voting on it.

**DISCLAIMER:** *This page is still located here, because our Operating Agreement specifies this as its location. Moving it somewhere under the ILIS DAO header should happen relatively soon.*

**This governance procedure is out of date, and was used for the previous iteration of smart contracts. The up to date procedure will follow very soon.**\
\
To submit a proposal to the DAO, one needs to hold at least 1 ILIS and present it to the voting contract ([component\_rdx1cpzm6rgdwgw9p075zsh5kfjuxa9rzzyt47x6xcgzhzydp9lkymyx78](https://dashboard.radixdlt.com/component/component_rdx1cpzm6rgdwgw9p075zsh5kfjuxa9rzzyt47x6xcgzhzydp9lkymyx78/summary)), together with a description of your proposal, using the `propose` method on the voting contract by submitting a transaction manifest\*. All relevant details, such as voting period and conditions for the vote to pass (must be a simple majority or higher) must be included in the description.\
\
An example of a transaction manifest used to submit a proposal:

```
CALL_METHOD
  Address("{your_account_address}")
  "withdraw"
  Address("resource_rdx1t4r86qqjtzl8620ahvsxuxaf366s6rf6cpy24psdkmrlkdqvzn47c2")
  Decimal("1")
;

TAKE_ALL_FROM_WORKTOP
  Address("resource_rdx1t4r86qqjtzl8620ahvsxuxaf366s6rf6cpy24psdkmrlkdqvzn47c2")
  Bucket("proof_of_membership")
;

CALL_METHOD
  Address("component_rdx1cpzm6rgdwgw9p075zsh5kfjuxa9rzzyt47x6xcgzhzydp9lkymyx78")
  "propose"
  "{your proposal's description}" //describe your proposal following the guidelines mentioned above
  Bucket("proof_of_membership")
;

CALL_METHOD
  Address("{your_account_address}")
  "deposit_batch"
  Expression("ENTIRE_WORKTOP")
;
```

After a proposal is submitted, it is displayed on the [official venue](https://ilikeitstable.com/governance), together with the relevant parameters. Voting on a proposal is done through the `vote_on_proposal` method on the voting contract.

To call this method, a manifest like such can be used:

```
CALL_METHOD
  Address("{your_account_address}")
  "withdraw"
  Address("resource_rdx1t4r86qqjtzl8620ahvsxuxaf366s6rf6cpy24psdkmrlkdqvzn47c2")
  Decimal("{amount_to_vote_with}") //fill in the amount of ilis you want to vote with
;

TAKE_ALL_FROM_WORKTOP
  Address("resource_rdx1t4r86qqjtzl8620ahvsxuxaf366s6rf6cpy24psdkmrlkdqvzn47c2")
  Bucket("ilis_to_vote_with")
;

CALL_METHOD
  Address("component_rdx1cpzm6rgdwgw9p075zsh5kfjuxa9rzzyt47x6xcgzhzydp9lkymyx78")
  "vote_on_proposal"
  {proposal_id}i64 //fill in the proposal id of the proposal you want to vote on. This is displayed on the official venue next to a proposal (https://ilikeitstable.com/governance)
  {vote}           //fill in whether you want to vote for or against the proposal, use `true` to vote for, and `false` to vote against.
  Bucket("ilis_to_vote_with")
;

CALL_METHOD
  Address("{your_account_address}")
  "deposit_batch"
  Expression("ENTIRE_WORKTOP")
;
```

After the voting period has passed, and the conditions to pass have been met it is excecuted, preferably autonomously. If a proposal cannot be autonomously executed on chain after passing, the managing members are responsible for executing the necessary steps to enact the proposal.

*\* submitting a transaction manifest to the Radix DLT can be done in multiple ways, but we recommend using the console by RDX Works:* [*https://console.radixdlt.com/transaction-manifest*](https://console.radixdlt.com/transaction-manifest)


# Connection Guide

The Stabilis open beta runs on Stokenet. Interacting with Stokenet is a bit different from the normal Radix experience. Luckily, it's very easy!

To use the Stabilis open beta:

1. **Configure wallet settings**\
   To enable you wallet to interact with a Stokenet app, you need to change some settings. Open the Radix wallet app and click the cogwheel on the top right. Next, click "Preferences" (or "App Settings" for older wallets), where you'll find the "Developer Mode" setting. Enable it, and from the same section click "Network Gateways". Add a new gateway: <https://stokenet.radixdlt.com>. Make sure to select it afterwards.
2. **Create an account**\
   Now your app is configured to Stokenet, you can create an account. Same way you're used to!
3. **Get some Stokenet XRD**\
   To use Stabilis, you will need some XRD. Select your newly created account, click the three dots in the upper left, and then click the "Get XRD Test Tokens" button. This will give you 10,000 XRD to test with. Ran out of XRD? Just repeat the same process.
4. **Go and test Stabilis!**\
   You are ready to use Stabilis. Go to the [Stabilis app](https://beta.ilikeitstable.com/app-home), and click the "Connect" button in the top right! Congratulations, you are connected, and can use the Stabilis app!


# Feedback Reward Program

We want to know what you think! Tell us, and be rewarded.

<mark style="color:red;">**THE DEADLINE FOR BEING REWARDED FOR FEEDBACK HAS PASSED! THANK YOU, FOR ALL YOUR USEFUL FEEDBACK.**</mark>

***Program*****&#x20;d*****eadline:** July 1 23:59! Later feedback is appreciated, but doesn't count towards rewards.*\
\
Provide feedback on our [open beta](https://beta.ilikeitstable.com) and be rewarded ILIS (the protocol's governance token, more information coming soon) at Mainnet launch!\*

Three categories of feedback are accepted:

1. [General feedback](https://forms.gle/gbrkvVZRY615R3P49)\
   Tell us what you liked, and what you didn't. Can only be provided once per person to prevent abuse. Responses can be edited after submitting them. To ensure only one response per person we will collect and verify your email. Don't want this? Don't worry, the other two methods are anonymous!\
   \
   Do so here: <https://forms.gle/ayftNkq3wBMmGPhR7><br>
2. [Suggestions](https://forms.gle/TwNvCLDFDkxXegao8)\
   Have a suggestion, share it! To be eligible for rewards, your suggestion needs to be acknowledged first ([see acknowledged suggestions](/open-beta/acknowledged-suggestions)). It also needs to be new, so making a suggestion similar to one that has already been acknowledged won't count...\
   \
   Do so here: <https://forms.gle/eVgduLA2EAFKE8Kg6><br>
3. [Bug/mistake reports](https://forms.gle/bDAQx6REGDo1SagWA)\
   Found a bug, report it! To be eligible for rewards, your report needs to be acknowledged first ([see acknowledged reports](/open-beta/acknowledged-bugs)). It also needs to be new, so reporting a bug that has already been acknowledged won't count...\
   \
   Do so here: <https://forms.gle/FPStboHuaYuxqHwG9>

Feedback can be on anything. So think documentation, website interface or wallet display.\*\*

Have an innate hate for anything Google? Give feedback in the [Telegram group](https://t.me/ilisdao).

**Reward distribution**

We want to heavily incentivize providing feedback, so (at least) 6% of the total ILIS supply is allocated to rewarding feedback. These tokens will be evenly distributed over all feedback categories (so, 2% per category).

Two minor details apply:

1. The maximum amount of ILIS rewarded for a single piece of feedback / report / suggestion is 0.2% of the total ILIS supply. So if only 5 bugs are reported, 1% instead of 2% will be going to bug report rewards. If possible, the leftover rewards will be added to the other feedback categories, but otherwise stay in possession of the DAO.
2. The maximum amount of received feedback rewards per wallet will be 1% of total ILIS supply. Rewards exceeding this will stay in possession of the DAO.

**Bug or suggestion?**

To know which form to fill in, it might be useful to know what we define as a bug, and what we define as a suggestion.

A **bug** is something that is not working the way it is intended to.

A **suggestion** you make if you would like to see something added or done differently. This doesn't require something to be "broken".

Don't sweat it too much though. If we think you chose the wrong form, we will just treat you feedback as though it was submitted using the other form.

\* The date for *Mainnet launch is not yet set in stone, and could be some way out still. So, don't expect to be receiving your tokens soon.*

*\*\* The Stabilis Labs team is ultimately the one that decides whether bugs/mistakes or suggestions are acknowledged though. For example, a single spelling mistake will probably not get acknowledged. Do send them in though, as we still appreciate ALL feedback.*


# Acknowledged Suggestions

Below is the list of acknowledged suggestions, accompanied by the wallet address of the person having made it.

Have a suggestion that isn't listed yet? Send it in [here](https://docs.google.com/forms/d/e/1FAIpQLSclpVFo6XX_MQsLKIul7UzARzdwcfiUeonHDB8X6jU4iqVTiw/viewform)!

**Acknowledged suggestions\*:**

**General:**

* <mark style="color:blue;">Warn user when input will make transaction fail / don't allow them to input when transaction will fail \[1]</mark>
* <mark style="color:blue;">Add total market cap of STAB on protocol overview \[9]</mark>
* <mark style="color:blue;">Add protocol's total collateral and total debt to protocol overview \[9]</mark>
* <mark style="color:blue;">Specify interest rate as APY or APR \[9]</mark>
* <mark style="color:blue;">Disable buttons when actions aren't possible \[4]</mark>
* <mark style="color:blue;">Show toast notifications for submitted / completed actions \[1]</mark>
  * <mark style="color:blue;">Include link to completed transaction \[9]</mark>
* <mark style="color:orange;">Reset input fields after action \[1]</mark>
  * <mark style="color:orange;">E.g. on swap page, manage liquidity, manage loans</mark>
* <mark style="color:blue;">Clearly display links to form in Feedback Reward Program documentation \[2]</mark>
* Clicking the max. button when using XRD for borrowing / swapping should leave some XRD for the transaction fees \[3]
  * Note: should it really? It's a good shout, but some dApps do, and some dApps don't. For instance, you can pay fees from another account.
* Create video's to explain the protocol and how to use it \[5]
  * Note: very good idea, but will have to wait a bit for the front-end to become more polished so it doesn't have to be changed any time soon.
* Integrate a service that notifies user of pending liquidation of their loans to give them the opportunity to save it \[11] / Allow user to set a warning if their collateral value reaches a certain treshold \[15]
  * Note: awesome idea, but will need some time.
* Additional language support \[13]
  * Note: good idea, but will not come soon, as it's a bit of a waste to translate things that are bound to change anyway.
* Add a STAB/USD chart somewhere \[17]
* <mark style="color:blue;">Add liquidation timestamp to Liquidation Receipt NFTs. \[3]</mark>

**Swap page:**

* <mark style="color:orange;">Improve manage liquidity widget</mark>
  * <mark style="color:blue;">By adding liquidity value \[1]</mark>
  * <mark style="color:orange;">Adding volume \[12]</mark>
* <mark style="color:blue;">Display more decimals for swap output \[4]</mark>
* <mark style="color:blue;">Add TVL of STAB pool \[9]</mark>

**Borrow page:**

* <mark style="color:orange;">Refresh borrowing widget after transaction completion \[1]</mark>
* <mark style="color:blue;">Disable collateral amount input until collateral is selected to make clear a collateral needs to selected or make XRD default collateral \[1]</mark>
* <mark style="color:orange;">Add extra information in loan receipt dropdown such as collateralization ratio / status \[1]</mark>
* Add ability to type in collateralization ratio \[2]
  * Note: not sure about this, don't see it fitting in the current design, further suggestions are welcome.
* Add more collateral types \[8]
  * Note: LSUs are already useable, what other collaterals would you like to see?
* Add price at which loan can be liquidated \[14]
  * Note: is difficult, as the interest rate makes this variable.
* Don't allow borrowing < 1 STAB \[16]
* Use LTV instead of CR. \[18]

**Manage loans page:**

* <mark style="color:blue;">Make closed / liquidated loan receipts burnable \[1]</mark>
* <mark style="color:blue;">Add preview of added/removed collateral \[1]</mark>
* <mark style="color:blue;">Add “In Danger” loan status, for loans that haven’t been marked but have a CR < MCR \[1]</mark>
* Add ability to close multiple loans at a once \[2]
  * Note: is this useful / necessary? How is this going to work? The user will need to close loans which they don't even know the status of. Or some other interface needs to be built. To force the user to pay attention to all loans, it might be better to force them to go through them individually.
* <mark style="color:blue;">Easier way to add / remove collateral to a loan (e.g. max button and slider with percentage of new CR) \[2]</mark>
* <mark style="color:blue;">Disable / remove the remove collateral and close loan sections when appropriate \[5]</mark>
* Add ability to view all loans in table format for a quick overview \[7]
  * Note: good idea, bit hard to fit into the current front end. Maybe some third-party / separate tooling is better suited for this?
* <mark style="color:orange;">Make it possible to borrow more using a loan receipt / pay off part of the loan receipt \[9]</mark>

**Liquidations page:**

* <mark style="color:orange;">Add ability to automatically burn marker after liquidating \[2]</mark>
* <mark style="color:blue;">Display amount of loans that are available to mark / liquidate \[3]</mark>
* <mark style="color:blue;">Liquidation without marker isn't clear, show loans that are available, otherwise knowing how many to skip is impossible \[7]</mark>

**Documentation:**

* Add tiles / photo's of front-end pages in relevant docs sections. \[3]
  * Note: very good idea, but will have to wait a bit for the front-end to become more polished so it doesn't have to be changed any time soon.
* Add documentation about protocol related NFTs such as the liquidation receipts or marker receipts. \[3]
* Add a Privacy Policy \[19]
* <mark style="color:blue;">Modify transaction manifest for flash loans to also deposit leftover tokens afterwards. \[3]</mark>
* Add glossary with abbreviations / key terms. \[3]
* Add team section \[9]
* <mark style="color:blue;">Add documentation on STAB interest rate and what its uses are \[10]</mark>

**Design:**

* Grey buttons seem like they aren’t usable. Use different color such as black button / white text \[1]
* Use different color for highlighting words \[6]
* Use lighter footer font \[6]
* Header looks dated, maybe change font weight (300, 400 perhaps) \[6]
* Consider using Lato, Helvetica or Sohne instead of Outfit as font \[6]
* Consider using a white divider \[6]
* Make header sticky on mobile for easier navigation \[1]

*\* If the corresponding wallet address is displayed under another item, other suggestions towards this main item are still being acknowledged.*

**Corresponding wallet addresses:**

\[1]  account\_rdx12yjjm6akwvlqs7jd6praqzgayzahuurskdkkz3lpq4yas9ndq4f52h\
\[2] account\_rdx128k3m8jrpuggtw0dmjhknnt96779mk7jxfkdd89qkwu4wn0ddazrhq\
\[3] account\_rdx16xnyurvw7qnlhtes6y0ls0cyr6f7wsd5t85cf053y9nd4kh7nsp52y\
\[4] account\_rdx16x5gkmccptweq8jr6fmk7ezw4pwjvr3tmuswvtw8rgw37s0a99e5nf\
\[5] account\_rdx129vvayydut5dp7k57xqxsqch35kwhvvalqy8tjuy9mhpusfs8v6h2a\
\[6] account\_rdx12xzhw80gam7cpnlvlsc2k92qfutnfgjkn4f4jsvamsmkrhnfccdvtq\
\[7] account\_rdx16xfrgh0l0aamm3se0arh0u4srdvhz8q3vk70pxsak4rkjgzq4lwfwc\
\[8] account\_rdx12xsazesakktlwp4dsrzca70e84uqzp5ndxv9uu5anaws62uaecsz5g\
\[9] account\_rdx1690mc988pn6s2wsax6hqawg8eh2lfqjqf9ptfxnapczdha5u9kl2nd\
\[10] account\_rdx12x4swkpknpcvrvr9q0tsezz0cg3u6qfwsfw48520ly8x50u0wv9zjp\
\[11] account\_rdx169wmrcer4zzgrndvkfr5fspm6s2t7cuuad9l2gqdzq397rsu3n2dyd\
\[12] account\_rdx12y228c884w0zm45vcc40c30654v90tzrp2dgz0wdcx2hu8fvqn3nth\
\[13] account\_rdx128s444ql25s5xuhups24tfu46a2wm79u4q6mlf0ntp699xdle4uek9\
\[14] account\_rdx16yrtrg3xlfrzjql2yzm8z7ry2enf04ztytncsp8r3w6e56zpyygwgw\
\[15] account\_rdx128vqe497z8a4j05f7d4lz0thmnra5rpp6c5dhqzzesxscjvwvjefml\
\[16] account\_rdx129dxwqp8fhax72d5r9rynv7ywj0qy0w9awucer87vmht730492aw3s\
\[17] account\_rdx12xynj8sv6xpmyg2mr00jgsxzu2aeaaekpn83jj2j234f902y9q9u9l\
\[18] account\_rdx168vfdepzmx75x5mr03kkl06zwur59fe0ykwxhp307lvxcngcc8xhaf\
\[19] account\_rdx12xyxhwpvx7c2ttwsg8t05zjwh3cee7hnm67gcc6fas5ulydy6kj3z0<br>

**Color meanings:**\
\ <mark style="color:blue;">**Blue:**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">suggestion implemented</mark>\ <mark style="color:green;">**Green:**</mark> <mark style="color:green;"></mark><mark style="color:green;">suggestion implemented locally</mark>\ <mark style="color:orange;">**Orange:**</mark> <mark style="color:orange;"></mark><mark style="color:orange;">in progress</mark>\
**Black:** not started yet


# Acknowledged Bugs

Below is the list of acknowledged reported bugs, accompanied by the wallet address of the person having reported it.

Found a bug that isn't listed yet? Send it in [here](https://docs.google.com/forms/d/e/1FAIpQLSdh4-J6LsVaROk1C3GwkSRg2oqTvdmEGUWOUFmNd4oX2jI0Tg/viewform)!

**Acknowledged bugs:**

**General:**

* Terms and conditions point to a website that doesn't exist \[2]
  * Note: will come at Mainnet launch
* <mark style="color:blue;">Metadata for Liquidation Receipt is wrong \[2]</mark>
* <mark style="color:blue;">Loan receipts aren't burnable after being closed manually \[8]</mark>
* Don't allow clicking buttons when still waiting for a transaction's approval \[6]
* <mark style="color:blue;">Don't allow too many decimals input if token divisibility doesn't allow it \[7]</mark>

**Swap page:**

* <mark style="color:blue;">APY tooltip not visible on mobile \[3]</mark>
* <mark style="color:blue;">Interest rate, market price & internal price not visible on mobile \[1]</mark>
* <mark style="color:blue;">APY value showing as "-" \[4]</mark>
* <mark style="color:blue;">UI doesn't refresh after going from Provide to Remove liquidity \[6]</mark>

**Borrow page:**

* <mark style="color:blue;">It is currently impossible to borrow at exactly 75% CR \[1]</mark>

**Manage loans page:**

* <mark style="color:blue;">Adding / removing collateral breaks the manage collateral widget in certain cases \[10]</mark><br>

**Liquidations page:**

* <mark style="color:blue;">Disconnecting the wallet doesn't reset the liquidations widget properly \[5]</mark>
* <mark style="color:blue;">Front-end doesn't reset after liquidating without a marker (you need to reload the page) \[1]</mark>
* <mark style="color:blue;">Liquidation marker shows it's useable even when 5 minutes haven’t passed, and thus isn’t \[1]</mark>
* <mark style="color:blue;">Liquidate without marker appends an extra 1 to the amount of loans to skip \[1]</mark>
* <mark style="color:blue;">Marker receipt with burned loan receipt isn't being displayed correctly \[9]</mark>

**Corresponding wallet addresses:**

\[1]  account\_rdx12yjjm6akwvlqs7jd6praqzgayzahuurskdkkz3lpq4yas9ndq4f52h\
\[2] account\_rdx16xnyurvw7qnlhtes6y0ls0cyr6f7wsd5t85cf053y9nd4kh7nsp52y\
\[3] account\_rdx128y2ju3qxz9mwkckzndzcxdl952aq684t38u3mn5swmgur9v00xuch\
\[4] account\_rdx1292k5fgdu38chahut2n2hewdzftr7dean4snns4zs38zf52udvm22w\
\[5] account\_rdx12y4szqpzkcng0p684rnzmc3x0t5pfn246zsh2x5hxf4uk7n4w2q3z0\
\[6] account\_rdx128rsjruc9hasvg0yevyg8eet4vx7xtuh3hmlg26y83meggmktst7sj\
\[7] account\_rdx12x7a4yy9jvefpajga86cjc5xrh57reakq2eeuq5v99cuuusm883el0\
\[8] account\_rdx12x0wn50np75vt50kvapcuwkk4d2u2g77jxf5mx8tqukdrcclsxd8fv\
\[9] account\_rdx1292k5fgdu38chahut2n2hewdzftr7dean4snns4zs38zf52udvm22w\
\[10] account\_rdx12xs92n742zfqxf9lkv2ql0xr4gv33ekqz0swum2ydnxrj8wpd5a8zf

**Color meanings:**

\ <mark style="color:blue;">**Blue:**</mark> <mark style="color:blue;"></mark><mark style="color:blue;">bug fixed</mark>\ <mark style="color:green;">**Green:**</mark> <mark style="color:green;"></mark><mark style="color:green;">bug fixed locally</mark>\ <mark style="color:orange;">**Orange:**</mark> <mark style="color:orange;"></mark><mark style="color:orange;">in progress</mark>\
**Black:** not started yet


