Statement regarding issues caused by the AMATERAS bug

AMATERAS
4 min readJan 18, 2022

--

■The structure of the Farming Pool

Let us begin with an overview of how the Farming Pool works.
The Farming Pool is a way for us to give back a portion of the revenue generated on the AMATERAS platform to users who support Amateras.

Users who have generated GOD cards, which are the final NFTs from the first batch, will receive rewards if they continue to hold on to these NFTs instead of selling or burning them.

These rewards will be distributed via the following two mechanisms.

1.Rewards paid out from the distributable balance of the Farming Pool

A portion of the revenue from gacha sales will be accumulated in the Farming Pool. A certain percentage (around 2%) of the distributable balance of the total amount accumulated in this pool will be allocated to the dividend source every day. Each user will receive rewards from this dividend source in proportion to their total number of Farming Cards. Dividends are paid out once a day.

The distributable balance refers to the amount obtained by deducting the unwithdrawn user balance from the total amount in the pool shown on the page. The balance after dividends are paid out will be used as the source for the following day’s dividends.

2.Rewards paid out from the profit from gacha sales

Users will receive a portion of the revenue from gacha sales for each gacha sold in real time as rewards. A certain percentage of the gacha sales will be used as the source of dividends. Each user will receive rewards from this dividend source in proportion to their total number of Farming Cards. Dividends are generated each time a gacha is purchased.

■Details of the bug

Next, we will provide details of the bug that has taken us some time to fix over the course of two sessions.

There are two major issues associated with this bug.

〇First issue: The algorithm with which dividends were calculated

Description of issue:
There were cases where an amount larger than the regular dividend was displayed on a user’s page, and that same amount could be withdrawn. This resulted in around 401,000 BUSD in total being withdrawn, and the Farming Pool balance was ultimately reduced to zero.

Cause:
The dividends from the Farming Pool are calculated using the two different methods outlined above and allocated to users accordingly. There was a bug in the algorithm used to determine the dividend amount, which resulted in dividends that exceeded the intended amount being paid out.

Fix:
We have corrected the algorithm used for this calculation.

〇Second issue: The Harvest button

Description of issue:
During the maintenance period for addressing the first issue, we had temporarily disabled the Harvest button on the page so that it could not be clicked. Despite having done this, there was an issue where users could continue to make withdrawals.

Cause:
Without clicking the button on the webpage sent a direct request to the contract, and there was no mechanism in place to block this request. This allowed some users to continue making withdrawals.

Fix:
We have introduced a mechanism to block the direct transmission of requests to the contract.

■Our follow-up actions for users

We have recalculated the rewards that each user was theoretically eligible to receive. Based on these theoretical rewards:

1. For users who have withdrawn more than their respective theoretical rewards:
We have set your balance to zero. There is no obligation to return funds that have already been withdrawn.

2. For users who have withdrawn less than their respective theoretical rewards:
We have adjusted your balance to reflect the amount of dividends that you should have theoretically received. Please withdraw the equivalent amount using the Harvest button first.

3. NFTs
GOD cards have been returned to the respective wallets of users owing to changes to the contract.

4. Addition of funds to the Farming Pool
The amount of funds that should have accumulated in the Farming Pool during its maintenance period will be returned to the Farming Pool once it resumes operation. An additional 50,000 BUSD will also be added to the pool by the management as compensation for these issues.

■Q&A

The following is a summary of the many questions we have received regarding these issues.

Q. My reward balance is lower than what it was before the maintenance period.
A. As outlined in the section “Our follow-up actions for users,” we have adjusted your balance to reflect the amount of dividends that you should have theoretically received.

Q. My rewards are lower than what they were before the maintenance period.
A. As outlined in the section “The structure of the Farming Pool,” the rewards you receive will vary depending on the distributable balance of the pool and gacha sales.

Q. I have never revoked or harvested from the Farming Pool, but my balance is still zero after the maintenance period.
A. Please use the Contact Us form on our website to contact us with the details of your situation and your wallet address. We will follow up with an investigation.

Q. Where did the previous pool balance of over 200,000 BUSD go?
A. As explained under “The algorithm with which dividends were calculated” in the section “Details of the bug,” the balance had been ultimately reduced to zero due to withdrawals made by users.

Q. Why were some funds withdrawn during the maintenance period?
A. As explained under “The Harvest button” in the section “Details of the bug,” the withdrawal requests of some users had been sent directly to the contract, resulting in these withdrawals being executed.

Q. Doesn’t the low reward mean that there will be no one who would want to roll the gacha?
A. Rolling the gacha will increase the rewards. As rewards increase, more people will want to roll the gacha. We will continue to actively implement marketing measures aimed at creating such a virtuous cycle.

--

--

AMATERAS

NFT Marketplace, NFT Gacha, NFT Staking, Swap, Farming pool all in one. There is a world as far as the eye can see.