# Moox Overview

Moox V2 is developed as wrapper token for the first version of MOOX to overcome the problems caused by rebase mechanism and hardcoded relatively high sell fee.

In addition to solve those problems, a fully decentralized integrated lottery and MOOX staking features are added to the ecosystem. Tax free liquidity providing and LP token staking features still exist within V2.

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

### Switch to MOOX V2 from V1

You can switch to MOOX V2 at <https://moox.one/swap>

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

Since V1 will keep working as it is, and, in terms of utilizing genesis liquidity of V1, switching from V2 to V1 is available as well.


# Liquidity Proxy

Since MOOX V2 is developed as a wrapper token of the first version, there hasn't been a presale for creating a genesis liquidity. All the liquidity is provided by token holders.

As Binance CEO Changpeng Zhao said in this [tweet](https://twitter.com/cz_binance/status/1486643782451826691?lang=en), liquidity is king.

Since liquidity is the key element of market making, prices which are not supported by strong liquidity can easily go down or up, which makes investors have doubt about the token.&#x20;

Tokens with buy/sell fees come with a big handicap regarding liquidity adding. If there is not a specific implementation to prevent, when liquidity is added, this is considered as a sell operation, and, tax is deducted from liquidity provider.

So, token community is discouraged from having an active role on a very essential point of market making.

To overcome this problem, Moox team developed a proxy contract which helps community to provide liquidity without any tax cut on their tokens.

This contract stands between liquidity provider and Pancakeswap liquidity pool. By the integrated logic in $MOOX token contract, tax deduction doesn't occur for the transfers between the proxy and liquidity pool. Proxy contract receives tokens from the provider and sends to the pool securely.


# LP Token Staking

With liquidity proxy contract, token holders are encouraged to take active role on price stabilization and market making without any tax deduction.

The first benefit of liquidity providing is sharing a fee of 0.17% on each trade on Pancakeswap.

This is a very small award with respect to the contribution done for the price stabilization.

In Moox ecosystem, 0.5% of each trade over Pancakeswap MOOX/BUSD liquidity pool goes to LP token staking awards. Expectedly, this will bring more demand for adding more liquidity in the community.

The more $MOOX token is traded, the more LP token staking awards are.

There is no lock time restriction for staking. You can stake/unstake whenever you want.


# Lottery

There two main motivations behind MOOX lottery:

1. Giving an award to MOOX buyers for encouraging people to buy more
2. Creating a utility for the token, so, people can buy and spend their MOOX

### Ticket Award For Buying MOOX

Each 25 BUSD worth buy over **Pancakeswap MOOX/BUSD pair** is awarded with a lottery ticket.

25 BUSD threshold can be fulfilled within multiple buys. For example, 10 BUSD + 13 BUSD + 2 BUSD buys will be awarded with a ticket.

{% hint style="info" %}
Ticket awards are sent to **tx.origin** which means if you are buying MOOX to a contract adress like a multisig wallet, the address triggering the transaction will earn the ticket award.
{% endhint %}

### Buying Tickets

For those, who don't want to involve MOOX token but join a draw, buying ticket is available.

Lottery ticket price is 1 BUSD.

You can keep your tickets in your wallet to use them at a later time, or, immediately join the draw.

Ticket payments in BUSD are converted to MOOX and transferred to lottery fund.

### Lottery Fund

0.4% of each trade over **Pancakeswap MOOX/BUSD pair** and ticket sale income are collected on DrawManager contract.

The only way transferring MOOX from this contract is holding a draw. And, only randomly picked winners can receive prize.

### How does lottery work

You only need to join the draw with the tickets bought or earned from buying/staking MOOX.

Each ticket joined the draw has an index.

Tickets are divided into as many groups as winner count.

A random number is acquired from Chainlink's VRF service.

And, the ticket having the corresponding index for the random number is a winner.

For each group, a new number is generated based on the Chainlink's random number and the corresponding ticked is picked as a winner.

{% hint style="info" %}
%5 of the total prize is transferred to marketing wallet and 10% goes to the charity wallet.
{% endhint %}

### Total award and winner count

There are two basic rules:

* Minimum award per winner is 10 BUSD worth of MOOX.
* The maximum winner count is 50.

The total award and winner count for a draw is calculated by the below steps:

1. Total Raw Prize In MOOX: (MOOX Balance of DrawManager Contract / 3) \* 0.85
2. BUSD value of **Total Raw Prize In MOOX** when it is sold.
3. If the BUSD value is less than or equal to 10 BUSD, there is only one winner.
4. If BUSD value is greater than 10 BUSD, the floor of dividing this value to 10 is the number of winner count. And each winner gets 10 BUSD award in MOOX.
5. If the floor value is greater than 50, only randomly selected 50 winners share the all prize.

{% hint style="info" %}
If a wallet joins the draw with more than one ticket, it may win more than one awards.
{% endhint %}


# MOOX Staking

While LP token staking is awarded with MOOX, holders who don't want to provide liquidity can stake their MOOX to earn lottery tickets.

Any amount of MOOX can be staked.

The earnings are calculated on the ticket amount can be bought with the staked MOOX amount at the time of staking with a fixed APR of 146%.

So, staking 250 BUSD worth of MOOX earns a lottery ticket everyday.

Staked and accumulated ticket amount has 18 decimals. But only integer amount of tickets can be collected.

Adding more MOOX on staked amount, adds the ticket amount that can be bought. And earnings are calculated with the new total ticket amount.

When MOOX is removed from stake, the proportional amount of ticket subtracted.

Ticket earning isn't automatically transferred to wallet when MOOX is added or removed. It must be collected separately.

Even if you remove all of your staked MOOX, your accumulated earning will be kept. After, you stake MOOX back, it will continue accumulating.

There is no lock time restriction for staking. You can stake/unstake whenever you want.


# MOOX Token

**Blockchain:** Binance Smart Chain

**Contract Address:** [0x30b832e2e98463d9130b822bd9f294287edd0422](https://www.bscscan.com/token/0x30b832e2e98463d9130b822bd9f294287edd0422)

This version of MOOX is a wrapper of the first version. So, it doesn't have an initial supply.

V2 supply will come out as V1 tokens are switched to V2.

The basic idea is having a fixed 5.000.000 total supply against the 100.000 initial supply of V1.

V1 is rebasing every 5 minutes and its total supply is increasing.

So, corresponding fixed V2 amount for switching from V1 is calculated by the below formula:

<mark style="background-color:orange;">V2Amount = V1Amount \* (100000 / Current total supply of V1) \* 50</mark>

Switching back to V1 is possible as well, and the formula of corresponding V1 amount for V2 is:

<mark style="background-color:orange;">V1Amount = (V2Amount / 50) \*  (Current total supply of V1 / 100000)</mark>

### Total Supply

Based on above introduction, the total supply of this version depends on the circulating supply of V1 and equal to: <mark style="background-color:orange;">Circulating supply of V1 \* (100000 / Current total supply of V1) \* 50</mark>

{% hint style="info" %}
Circulating supply of V1 can be fetched from <http://supply.moox.one/circulating>.

Current total supply of V1 can be fetched from <http://supply.moox.one/total> or [BscScan.](https://www.bscscan.com/token/0xD340652Ee6BE19a96cCfB1c1cFb6048ceDC87d4D)
{% endhint %}

### Team Wallets

<table><thead><tr><th width="160.33333333333331">Type</th><th>Address</th><th>Remark</th></tr></thead><tbody><tr><td>Protocol Fee</td><td>0xcc48a41eb8a809e29db3f6c2a7f38dc347239cca</td><td>0.1% of each trade over Pancakeswap MOOX/BUSD pair</td></tr><tr><td>Marketing</td><td>0x1358627e79dacce0cf73664f4116013f60fe29d5</td><td>5% of each lottery total prize</td></tr></tbody></table>


# Trading Fees

One of the biggest handicaps of V1 is having hardcoded high trading fees.

Although 84% of fees are directly returned back to the community, it seemed to have discouraged people to invest in MOOX.

So, this version has only %1 buy/sell fee on Pancakeswap MOOX/BUSD pair.

Since there is no rebasing mechanism, it is possible to create more liquidity pools with zero trading fee, but, they can't have integrated awarding features.

Trading fee breakdown is as below:

|                | Buy  | Sell |
| -------------- | ---- | ---- |
| LP Stake Award | 0.5% | 0.5% |
| Lottery Fund   | 0.4% | 0.5% |
| Protocol Fee   | 0.1% | 0.1% |


# Supply APIs

Total, maximum and circulating supply can be fetched by below APIs.\
\
**Total Supply:** <http://supply.moox.one/v2/total>

**Maximum Supply:** <http://supply.moox.one/v2/max>

**Circulating Supply:** <http://supply.moox.one/v2/circulating>

{% hint style="info" %}
Total supply calculation method is explained [here](/tokenomics/moox-token#total-supply).

V1 circulating supply [API](http://supply.moox.one/circulating) returns a value where both V1 and V2 burned amount is excluded. So, circulating supply of V2 will always be the same as total supply.
{% endhint %}


# Swap

The first step of getting into Moox ecosystem is buying MOOX token.

Instead of leaving Moox platform and going to Pancakeswap, Moox presents a Swap page where MOOX token can be swapped between BUSD and BNB.

Swap page completely works on Pancakeswap infrastructure and secure to use.

The same swap operation can be done on Pancakeswap by just clicking the link on the bottom of page.

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

### Slippage Setting

Although buy and sell fees are fixed and hardcoded in the contracts, because of the algorithm used in Pancakeswap SDK, slippage setting may be need to set higher values.

The application sets slippage tolerance automatically for once. To minimize the problems caused by slippage tolerance, it is set to 2% for MOOX V2 buy/sell, to 15% for MOOX V1 buy and to 38% for MOOX V1 sell.

These values don't have an impact on buy and sell fees. The fees will be deducted as exact as mentioned in the whitepaper.

### Troubleshooting

Since swap page is built on Pancakeswap contracts and Pancakeswap SDK, you can check Pancakeswap's exchange troubleshooting [page](https://docs.pancakeswap.finance/help/troubleshooting#issues-on-the-exchange) first.

You can also drop a message on telegram group or send an email to <hello@moox.one> for any problem you run into.


# Liquidity

To encourage community to add more liquidity, Moox developed a liquidity proxy contracts, which stands between user and Pancakeswap liquidity pool for tax free liquidity providing.

Liquidity page interacts with these contracts and serves a whole liquidity management to users.

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

{% hint style="info" %}
If all the LP tokens in a wallet are staked, nothing will be listed here.
{% endhint %}

### Add Liquidity

This is the page where tax free liquidity adding for MOOX-BNB pair can only be done.

It interacts with liquidity proxy contract. So, MOOX token transfer approval is required for adding liquidity the first time.

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

{% hint style="warning" %}
Adding liquidity on Pancakeswap will cause tax deduction.
{% endhint %}

### Remove Liquidity

After approval of transferring LP tokens, by clicking Remove button on the liquidity listed in the liquidity position page, desired amount of liquidity can be removed.

As the liquidity is removed, LP tokens are burned and the amount for instant ratio of MOOX token and BUSD are sent to the wallet.

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


# Stake

Stake page is the place where LP token staking is managed.

Total Value Locked and average APR for MOOX-BUSD LP and MOOX-BNB LP tokens can be seen here.

To start staking, LP token transfer to StakeManager contracts must be approved.

### Stake LP tokens

To stake LP token, you need to add liquidity and have LP tokens first.

However, MOOX V1 is deprecated, in terms of backward compatibility and switching between two, versions, MOOX-BNB LP staking is still available.

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

### Stake MOOX

MOOX staking is awarded with a fixed APR.

You can see your earning progress on the progress bar.

### Add/Remove LP Tokens

By clicking <mark style="color:blue;">+</mark> button more LP token can be staked.&#x20;

By clicking <mark style="color:blue;">-</mark> button, desired amount of staked LP tokens can be removed.

Pending award is transferred to wallet before adding or removing LP tokens. So, after adding/removing LP token pending award will start from 0.

### Add/Remove MOOX

By clicking <mark style="color:blue;">+</mark> button, you can increase your staked MOOX amount, and you can earn more ticket awards.&#x20;

By clicking <mark style="color:blue;">-</mark> button, desired amount of MOOX can be removed.

Ticket earning isn't automatically transferred to wallet when MOOX is added or removed. It must be collected separately.


# Lottery

On the top of lottery page, total prize for the next draw, winner count, total ticket count joined to the draw, your ticket count in the draw and remaining time to the draw are displayed.

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

### Joining Draw

You can see the count of tickets owned for joining a draw.

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

Just enter the number of tickets you want to use for the draw and submit.

After time is up, you can't join the draw. You can join the next one after the current one is held.

### Buying Tickets

Enter the number of tickets you want to buy and click Submit.

You can see the total amount you will pay.

You will be asked twice for confirmation. First one is for approving BUSD transfer, the second one is for the buying tickets transaction.

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

If you want to immediately join the draw with the tickets, click the checkbox. Otherwise, tickets will be transferred to wallet, and, you can use them whenever you want.

### Holding A Draw

Draws will normally managed and processed by the admin. But, in terms of decentralization, anyone can trigger the draw when time is up.

Manage draw section becomes visible after the time is up.

<figure><img src="/files/62EhogJrZP93aJDLfc55" alt=""><figcaption></figcaption></figure>

#### Generating random number

A random number must be generated before triggering the draw.

For generating random number;

* You must have at least 0.5 ERC-677 compatible LINK token in your wallet.
  * Binance Pegged LINK can be bought at [Pancakeswap](https://pancakeswap.finance/swap?outputCurrency=0xF8A0BF9cF54Bb92F17374d9e9A321E6a111a51bD).
  * This LINK must be converted to ERC-677 compatible LINK at Chainlink Pegswap [page](https://pegswap.chain.link/).
* After clicking **Update Random Number** button, you will be asked for two confirmations.
  * One is for approving transfer of required amount LINK from your wallet.
  * The second is for generating the random number.

Once the random number is updated, **Draw** button appears.

By clicking Draw button, draw is triggered and prizes are directly transferred to winners.

### Draw History

Another section on Lottery page is Draw History.

You can navigate through the rounds.

If you are one of the winners, you can see a confetti image next to the address.

On tickets column, the number of tickets joined to the draw vs. won a prize are displayed.

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

### Transfer Tickets

Lottery tickets can be transferred to others on Lottery page.

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

&#x20;Enter a valid address and ticket count which is less or equal to owned ticket count.

And, click Submit.


# Smart Contracts

## Moox Token

**Address:** [0x30b832e2e98463d9130b822bd9f294287edd0422](https://www.bscscan.com/token/0x30b832e2e98463d9130b822bd9f294287edd0422#code)

**Audit:** <https://github.com/Coinsult/solidity/blob/main/Coinsult_Moox_Token_0x30...0422_Audit.pdf>

## Liquidity Proxy

**Address:** [0xc9eaff8bc9f2676e75050077e3de2b358ccaa3eb](https://www.bscscan.com/address/0xc9eaff8bc9f2676e75050077e3de2b358ccaa3eb#code)

**Audit:** <https://github.com/Coinsult/solidity/blob/main/moox_liquidityproxy_final_version.pdf>

## LP Stake Manager

**Address:** [0x6e23bc4d0c8607f1a3f809270df9654223decfe6](https://www.bscscan.com/address/0x6e23bc4d0c8607f1a3f809270df9654223decfe6#code)

**Audit:** <https://github.com/Coinsult/solidity/blob/main/moox_lpstakemanager_final_version.pdf>&#x20;

## MOOX Stake Manager

**Address:** [0x11eab851adfb8e2915d1017e8af04fc8c1673417](https://www.bscscan.com/address/0x11eab851adfb8e2915d1017e8af04fc8c1673417#code)

**Audit:** <https://github.com/Coinsult/solidity/blob/main/moox_stakemanager_final_version.pdf>

## Draw Manager

**Address:** [0xcc52be74e94c2afef596b8a9f95a35e0a8fecc21](https://www.bscscan.com/address/0xcc52be74e94c2afef596b8a9f95a35e0a8fecc21#code)

**Audit:** <https://github.com/Coinsult/solidity/blob/main/moox_drawmanager_final_version.pdf>


# Socials

### Twitter

{% embed url="<https://twitter.com/mooxprotocol>" %}

### Telegram

{% embed url="<https://t.me/mooxprotocol>" %}


# MOOX V1

MOOX V1 is deprecated after the release of this version, but, it still keeps working as it is.

You can reach the whitepaper of V1 at:

{% content-ref url="/spaces/SnU13GrdRUyoAS6KexzF" %}
[Moox Whitepaper](https://mooxtoken.gitbook.io/moox-v1-whitepaper/)
{% endcontent-ref %}


