# Rising Floor Algorithm (RFA)

**The Rising Floor Algorithm (RFA)** is an algorithm designed to control the price action of a token. It achieves this by distributing taxes on purchases and sales, which alters the ratio between the token's dynamic total supply and its backing asset, favoring the latter. The **RFA** provides a consistent increase in the token's value relative to the backing asset, regardless of the type of transaction being made. Each buy, sell, or transfer of tokens has unique effects on the token's value as it continues to grow.

## Buys

When creating **$REVIVE** Tokens, the number of new tokens generated is dependent on the amount of assets provided as collateral. The presence of a tax on transactions slows the rate at which the total supply of tokens increases, resulting in a gradual rise in value. Unlike other tokens that provide 100% of the projected value in tokens, the **$REVIVE** Token will mint tokens for the buyer at a lower rate, allowing for price appreciation over time.

```
nTokens - (nTokens * tax)
reduced number of tokens created at current value
```

The process involves swapping the value of the backing asset for the equivalent value of the **USDT** used in the purchase, after which the backing asset is transferred to the contract pool. If the amounts of **USDT** and **$REVIVE** were equal prior to the transaction, the **Rising Floor Algorithm (RFA)** would favor the supporting asset, resulting in a rise in the token's value.

To maintain the same level of momentum as the total and asset supply increase, increased transaction volume is required. This momentum can be sustained within the ecosystem by utilizing the price movement of the token based on a linear equation. This means that the price of the token increases in a straight line as the volume of trades increases. This is in contrast to a logarithmic price action, where the price moves exponentially in response to trade volume.

## Sells

When tokens are returned to the contract, they are removed and eliminated from the Total supply. Furthermore, instead of sellers receiving 100% of their estimated value upon redemption, they would receive:

```
nAssets - (nAssets * tax)
Reduced number of underlying assets redeemed
```

The tax levied on the quantity of assets returned leads to a change in the ratio of the remaining tokens to the asset in the contract, favoring the latter even more and causing its value to appreciate. This is because the total supply of tokens is reduced while the amount of backing assets in the contract remains the same.

Selling a token results in its removal from circulation, which decreases the total supply of tokens. The amount of underlying assets that can be redeemed upon selling the token is subject to a tax, which causes the price of each token to increase beyond its actual redeemable value. As a result of this tax, the total supply of both the token and its backing assets decrease, which leads to more significant price changes with less transaction volume. The price of the token increases exponentially with each sell transaction.

## Transfers

During a token transfer, a fee is charged as a percentage of the transferred amount. This results in a decrease in the total supply of the token, which causes its price to increase beyond its actual redeemable value.

<pre><code><strong>nTokens - (nTokens * tax)
</strong>The current value of the token is maintained while decreasing the number of 
tokens transferred by burning an additional percentage of tokens.
</code></pre>

Transferring the token causes a linear increase in its price, as the tokens are removed from circulation without affecting the backing supply.


---

# Agent Instructions: Querying This Documentation

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

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

```
GET https://revive-dao.gitbook.io/litepaper/welcome-to-the-revive-dao/rising-floor-algorithm-rfa.md?ask=<question>
```

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

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