A “dreadful” x2y2 wash trader

wash-trading
Investigations into the nature of a wash trading contract
Author

efx

Published

February 16, 2023

As part of our routine benchmarking we saw that for some weird reason our x2y2 volumes started to show lower volumes.

Investigating further we found out a mysterious contract, 0xac335e6855df862410f96f345f93af4f96351a87 labelled as x2y2 in some of the sources we benchmark against.

First we checked x2y2 to see if this is indeed a new contract deployed but no mention of this one.

from zash_sdk.zash import Zash
zash = Zash('your_username', 'your_api_key')
Authenticated!
q = """
    select sum(price) as volume, date_trunc('day',sale_date) as day, token_id, collection_address from onchain.dated_trades 
    where marketplace_address='0xac335e6855df862410f96f345f93af4f96351a87'
    group by token_id, collection_address, day order by day desc;
"""
df = zash.query(q)

Checking token_id distribution we see almost all of them are token_id=164

df.value_counts('token_id')
token_id
164      174
1410       1
1667       1
1668       1
1669       1
19546      1
20366      1
27859      1
2985       1
3320       1
876        1
dtype: int64

But what is this mysterious collection?

df.query('token_id == "164"').collection_address.unique()
array(['0x81ae0be3a8044772d04f32398bac1e1b4b215aa8'], dtype=object)
c = zash.nft('eth').collection('0x81ae0be3a8044772d04f32398bac1e1b4b215aa8')
c.metadata()
collection_id             0x81ae0be3a8044772d04f32398bac1e1b4b215aa8
name                                                       Dreadfulz
slug                                                       dreadfulz
discord_url                             https://discord.gg/dreadfulz
twitter_url                         https://twitter.com/DreadfulzNFT
website_url                              https://stake.dreadfulz.com
updated_at                                2023-01-13 09:07:55.371629
owners_count                                                    1477
logo_url           https://i.seadn.io/gae/oQSLnpxU-UkQ_uYPNKL2MIp...
category                                                     ["PFP"]
first_mint_date                                  2022-03-31 09:57:43
description        73.82% Staked\n\nHolder count on Opensea is in...
royalty_perc                                                     7.5
Name: Dreadfulz, dtype: object
df.query('token_id == "164"').describe()
volume
count 174.000000
mean 2921.843678
std 1863.208325
min 191.000000
25% 1553.750000
50% 2324.500000
75% 4033.500000
max 10690.000000
df.query('token_id == "164"')\
    .set_index('day')['volume']\
    .resample("M")\
    .sum()\
    .plot(kind='bar', figsize=(3,3), xlabel='month')
<AxesSubplot: xlabel='month'>

So we see almost on average +10Ks worth of wash trades of a Dreadfulz #164, mostly routed to x2y2, every month June to Jan 2023! Moreover, these trades are daily worth almost 300 ETH on average.

We didn’t proceed with labelling this as x2y2 ofcourse but it was quite wild to see the volume of trades going through this contract, possibly milking x2y2 incentives.