Proposal: NOT to distribute [epoch 0] trading mining rewards to wash trading bots


The noticeable spikes in BTCBUSD volume (see pic 1 below) on first day, Oct 5 and last two days, Oct 12-13, of the first epoch are evidently caused by wash trading bot who try to cheat the system and steal rewards from real MCDEX users who traded honestly. Such practice is harming real users of MCDEX and put MCDEX name at risk, if allowed to continue.

BTCBUSD Volume 1M chart

What is wash trading:

The smart contract bot trade simultaneously between his own accounts for the only purpose of incurring large amount of trading fee to game the rewards formula, which can be easily identified by trading pattern.

To identify: First, following the days of volume spikes (pic 1 above), go to 1D chart to pinpoint the time when exactly it happened (pic 2)

Then look up tx in the Trade history by the timestamp found in pic 2. Below is just 1 set of wash trading tx for example, by no means to be exhaustive.

0xadfd9a5e0b44dbda4b27151c23201cc3eef8ea44 (Alice)
0xd672a08a65071cc5c2b962e47cc1072957011094 (Bob)

pic 3: Bob → Alice tx on bscscan

pic 4: Alice → Bob tx on bscscan

Why would someone engage in wash trading?

It’s all about manipulating the formula to game the system.

On 1st day, bots wash traded to establish a large Open Interest (OI). Since OI is a time weighted component in the rewards calculation. To gain an advantage in the calculation, the bot has to act on day 1. This explains the spike on day 1 volume in above pic 1.

Unlike real users who trade against AMM, where is a limited depth and spread on the order book, if we normal users were to take a BTC-BUSD order in the size of 50 BTC, we would see massive slippage, and therefore taking huge market price risk.

For the wash trading bot, the story is different. As long as his capital allows, he can put up and take any order size, flipping it instantly, and with no slippage and no risk to capital. So to him, this is a direct fee to MCB rewards exchange. Roughly it looks like this.

MCBs = Fee(wash trading incurred) * multiplier

In this case, bot has no reason to stop wash trading until multiplier is <= 1

Why should wash trading be banned?

  1. No matter in exchange online or real world, wash trading is an illegal practice in virtually all jurisdictions.

  2. Not fair to real MCDEX users who traded hours a day on MCDEX (me included). Those bots generate thousands of fees instantly, with no time and efforts, no risk at all to their capital.

  3. While wash trading bring Zero value to MCDEX, we can not ignore the damage to the reputation of MCDEX, and the integrity of the trading mining if this wash trading is awarded.

    A good precedent can be found from competition dYdX: When they discovered wash trading bot activities in their version of similar trade mining, they disallowed distribution of any rewards to these bot accounts.

  4. From the spike in pic 1, the bot is trying to stay under the radar by trading only on day 1 and last two days, possibly to test the water and get the reaction of the dev team and the community. If we turn a blind eye onto it, it will only continue, and invite more bot to do the same, all that at cost of real users and MCDEX’s reputation. Therefore, I urge the community to take action now to stop wash trading on the platform immediately.

Thanks for the proposal!

We will do some research on the transaction records and feedback later.

I suggest team search up all wash trading transactions since the block height where the current trading mining epoch started, make a complete list of addresses involved, and finally exclude the list from the mining rewards calculation.


Support this proposal. Those direct wash trading at the same time should be excluded.

You have brought up some interesting points and that there are some weird transaction patterns. However, I believe that the team should not remove the rewards to these accounts. 2 reasons:

  1. The key foundation of blockchain is consensus. MCDEX’s trading mining is also based on consensus: the calculation of the trading mining program was first announced and was implemented with a code. The code is open-source and unless there is a bug in the code, no one should modify the trading mining program as the epoch is still ongoing. Traders participated in this trading program based on the consensus from these rules. Any modification of the mining rules during the epoch process violates the decentralized spirit of the blockchain.
  2. Moving forward, I propose that the team should carefully study the rules of anti-wash trading and disclose these rules to the community in advance. When the community reaches a consensus, these rules should be implemented in subsequent mining epochs. However, these rules have to be carefully set so that no one is accused wrongfully.

Thank you @fair_mining @1118 for your valuable comments. We believe that only by continuously increasing the degree of decentralization of MCDEX and expanding the consensus of the community can we build MCDEX and achieve our mission of building the best perpetual protocol.

I propose to take the following actions:

  • The community should define and create a post on “Anti-Wash Trading Rules” next week
  • Upon consensus, the team would write and implement these rules into the existing code
  • This change in code should take effect in epoch 2

dYdX too discovered wash trading in the mid of their epoch of trade mining, and excluded wash traders score for the ongoing epoch. Doing so certainly is not against the spirit of blockchain or Defi. Why MCDEX can’t follow this good precedent?

No code is set in stone about the reward distribution. I recalled co-founder Jean said in discord the team does not want wash trading and reserve the rights to not reward them. There is also 5 day hold period team announced for the specific purpose to review mining scores.

You realize your action is giving green light to the wash trading bot already stole nearly half of the rewards from real traders in the trade mining, while your team have a chance to exclude them just like dYdX did.

What make you not to take the obvious right path?

dude Mcdex is not dydx and they should not follow what dydx is doing. Rules are set for this epoch. If you are that desperate for more rewards, i suggest you buy some mcb and stake it. Team already said they would do something about this issue next epoch

how do you know team announced 5 days hold period specifically for this purpose? and regarding not rewarding to wash traders, jean was talking about arbitrum trade mining, rules are different for bsc mining. I hope this clears your confusion

I agree with these points. Changing rules mid epoch violates the decentralized spirit of the blockchain

jean was talking about arbitrum trade mining, rules are different for bsc mining.

First off, I don’t think Jean was talking about Arbitrum trade fee mining only. Wash trading should not be awarded no matter what chain you are on. Stealing is steal no matter who you steal from.

Second, you are basically saying, wash trading mining in Arbitrum fee mining is NOT allowed because it steals from the MCDEX, but wash trading in BSC trading mining is OK because it steals from other real traders. What a hypocrite!

LJ, I don’t have enough 1k MCB token to start a snapshot voting. I think in this case, you should step in and help open a snapshot. Let community decide whether to exclude the two wash trading addresses (Alice and Bob in my proposal) in the rewards calculation or not.

This way the process will be fair to all and democratic. Otherwise, it’s just team’s decision to include them without community’s consensus.

Action plan is proposed. What’s the point of doing this? If you really care about the community, you should propose some rules to anti wash trading for the next-up instead of struggling here. Look into the future.

Not a good idea to change rule in the middle. If so, why not just stay in the centralised world?

A protocol always starts of relatively centralized before the team relinquishes control and gradually lets it decentralize.
Alot of issues will come up for a startup that has to be resolved quickly before it eats into the protocol.
This is one of them.
The team should always seek to protect its community as it’s the community that drives value to the protocol, not the wash traders that would dump the token and leave the moment theres more value elsewhere.
If obvious wash trading is removed from this round of rewards, the only people upset would be the wash traders themselves and it would be a warning not to come back in future epochs.
The converse is also true, being that regular small users should beware about trading on MCDEX because the team hasnt been seen to be proactive to protect their community and the community could be in the line of fire again the next time some other issue occurs.

Tokens in the hands of more users is always better than tokens in the hands of a few wash traders that might dump in 5 days time

At the very least there should be a vote by the community if Mcdex should remove last 2 hours of trading score since that period is highly suspicious, or remove certain accounts in entirety.