# Notification Memos

This page lists all notification memos on the dapp.fusion contract, their use-cases and intended behavior.

{% hint style="info" %}
Note: Tokens other than WAX and lsWAX will just be accepted by the contract, and not execute any logic or throw any errors. WAX and lsWAX transfers must include a proper memo, otherwise the contract will throw an error and revert the transaction.
{% endhint %}

### instant redeem and rebalance memos

> These memos are for internal use only. They are used for when the pol.fusion contract sends funds to the dapp.fusion contract, in order to convert lsWAX into WAX. Anyone trying to send tokens to the contract with either of these memos will have their transaction reverted.

### wax\_lswax\_liquidity

> This memo is also for internal use only. When the pol.fusion contract needs to buy lsWAX in order to provide liquidity on Alcor, it will send WAX to the dapp.fusion contract with this memo.

### stake

> The stake memo is used for WAX deposits from users. After using the `stake` action on the contract, users can send WAX with this memo. When the WAX is received by the contract, sWAX will be issued at a 1:1 ratio and added to the user's staked sWAX balance.

### unliquify

> The unliquify memo is used for converting lsWAX into sWAX. Users must first call the `stake` action on the contract to make sure they have a balance row opened for sWAX. Once they send lsWAX with this memo, the lsWAX will be burned, and converted into sWAX which will be added to the user's balance.

### waxfusion\_revenue

> This memo is used for depositing any WAX that should be given out as rewards to users. Anyone can send WAX with this memo, although it is typically used by the protocol. Received WAX will be added to the pending rewards bucket, and will be distributed to users during the next payout (once per 24 hours).

### lp\_incentives

> Both WAX and lsWAX can be sent to the contract with memo. If lsWAX is sent, it will be added into the incentives bucket, where it will later be used for rewarding liquidity providers of certain lsWAX pairs on Alcor (once per week, new farms are created). If WAX is sent with this memo, it will be converted into lsWAX before adding incentives into the bucket.

### cpu rental return

> This memo is for internal use only. When our CPU contracts unstake funds from the eosio system contract, and then claim those funds 3 days later, they will return the WAX to the dapp.fusion contract. When returned, the WAX will be used to fulfill any pending redemption requests from that epoch. If any WAX is leftover, it will be added into the rental pool where it can be rented and reused for generating rewards.

### rent\_cpu

> This memo is used when users want to pay for a CPU rental. Several arguments must be included in this memo, as detailed in the table below. Each argument must be separated by `|pipes|`

{% hint style="info" %}
Structure: `|rent_cpu|receiver|wax_amount|epoch_id|`\
\
Example memo: `|rent_cpu|abc.wam|100|1710460800|`
{% endhint %}

| Parameter   | Description                                                                                                     |
| ----------- | --------------------------------------------------------------------------------------------------------------- |
| receiver    | The WAX address of the wallet you want to give CPU to                                                           |
| wax\_amount | The amount of WAX to rent, in whole numbers. e.g. `10` is the same as `10.00000000 WAX`                         |
| epoch\_id   | The epoch timestamp of the epoch to rent from. Epoch details can be found in the `epochs` table on the contract |

### unliquify\_exact

> This memo is used for people who want to specify exactly how much sWAX they expect to receive when they unliquify. Please note that there is never any slippage or price impact when unliquifying your lsWAX. However, we realize that some people will build arbitrage bots etc, and they may want some way of guaranteeing that the output of a transaction is >= a specific amount. This memo allows them to do that, as a safety precaution so they can revert the transaction if they made a bad calculation.

{% hint style="info" %}
Structure: `|unliquify_exact|minimum_output|`\
\
Example memo: `|unliquify_exact|1000000000|`
{% endhint %}

| Parameter       | Description                                                                                                                                         |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| minimum\_output | The minimum amount of sWAX the user expects to receive, including 8 decimal places. If they expect to receive 10 sWAX, they should put `1000000000` |


---

# Agent Instructions: Querying This Documentation

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

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

```
GET https://docs.waxfusion.io/smart-contracts/dapp.fusion/notification-memos.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.
