Nansen's Updated NFT Wash Trading Filter Explained

Nansen's Updated NFT Wash Trading Filter Explained

Nansen launches an update to their wash trading filter that greatly improves its ability to capture wash trading activity.

Table of Contents

Text Link

When we first released our NFT wash trading filter, our aim was to remove noise and provide the most accurate depiction of market activity. It has now been over a year since its launch, and the NFT market has undergone significant changes, with trading behaviors evolving due to the entry of innovative projects that have created new forms of activity. We have been continuously working to improve and adapt the filter based on paradigm shifts and feedback from the community.

Today, we are sharing the latest updates we have made to our filter, which will enable our users to gain a clearer understanding of market activity and trends. The filter is now applied across our entire product, including our publicly available NFT Trends dashboard. However, you have the option to turn it off if you wish to do so. To increase transparency, we will be sharing more details about the old and new filter to shed light on the heuristics used.

Recap on what we define as wash trading

At its core, wash trading involves artificial trading activity within a single entity or individual. There are two main drivers of such activity: boosting collection volume and token incentives. Token-incentivized wash trading can be broadly defined as trades that occur between a single individual to farm tokens with the aim of generating a profit. This practice was popularized by LooksRare's incentive program, and our old filter was developed in response to it.

LooksRare rewards users based on their trading volume on their platform. This incentivizes users to engage in wash trading of NFT collections that have no royalties in order to farm more tokens. Collections such as Terraforms, Meebits, and dotdotdot were the most popular among such users.

Why Are We Changing The Filter?

Before explaining the reason behind the change, let’s take a look at the initial heuristics.

  1. Addresses that have bought or sold the same NFT multiple times within a specified time frame
  2. Addresses that have been manually blacklisted for wash trading
  3. Addresses that have been involved in a circular trade of any size in a specified time frame where the transaction price is at a premium of floor price. 
  4. Addresses that have been involved in a bounce trade. 

At the time, there were clear distinctions between addresses used for wash trading and those used for organic trading activity. Trading volume contributed by addresses involved in wash trading had little organic activity. We decided that any addresses flagged under any heuristic would be blacklisted indefinitely, and all their transactions would be removed from our dashboards if the wash trading filter was selected.

The old heuristics provided the industry with a relatively accurate picture of the market. However, as market activity became more sophisticated and wash traders' patterns evolved, there was a clear need to update our filter. Wash traders no longer used specific addresses solely for wash trading and started to carry out organic transactions using those wallets as well. Our filter would erroneously tag those transactions as wash trades by default since the address was on the blacklist, resulting in undercounting of organic activity on our dashboards.

Market-making vs Wash Trading

With the launch of Blur, a new type of activity emerged due to its zero marketplace fee structure and low minimum royalty obligations on NFT collections. Blur's incentives encouraged market-making activity, and many addresses were wrongly flagged as wash traders under rules 1 and 4, resulting in our dashboards showing lower figures than expected. Although market-making and wash trading activity can look similar, the devil is in the details.

Market-making involves providing liquidity and typically involves multiple entities, often unknown and without collusion. Transactions aim to provide liquidity to specific NFT collections, often near floor prices, with the hope of generating a profit. Wash trading, on the other hand, usually involves a single entity and typically occurs way above floor prices to achieve their desired outcome of increasing collection volume in the least possible transactions.

How does the new filter work?

We’ve decided on these 6 heuristics. 

  1. Self-trades: The buyer and seller of the sale have the same address. 
  2. Circular Trades: Transactions where the same NFT was traded in a circle of any length and sold to the seller again on the same platform within a specified timeframe.
  3. Same Funder: NFT sale transactions where buyer and seller were funded by the same address or one funded the other.
  4. Flash Loans: NFT sale transactions that include a flash loan.
  5. Bounce Trades: Transactions where any NFT was traded between the same buyer and seller for a premium price above floor multiple times on the same platform within a specified timeframe. Buyer-Seller relationship has to be flipped at least once.
  6. Multi-trade Premiums: Transactions where the same NFT token was traded multiple times at a premium price above floor on the same platform within a specified timeframe.

Our wash trade models run hourly and filter inorganic trades at a transaction level, allowing us to provide accurate volume data up to the last hour on Nansen. The shift towards identifying premium trades above floor prices enables us to capture wash trading activity while reducing the number of false positives generated by market-making activity. We want to maintain transparency in the space, but we have decided to keep the exact parameters private to prevent intentional gaming of our heuristics to bypass the new wash trade filter.

Just how different is the output of the two filters?

In the first half of 2022, the difference between the old and new filters in terms of identifying inorganic NFT trading volume was minor on most weeks. However, as the year progressed, the disparity between the two became more evident, with the launch of Blur in October 2022 being the final straw for the old filter. With our old filter, we were seeing an excessive amount of wash trading volume, which was not reflective of the actual market activity. 

Upon analyzing the transaction level data, it was clear that there was a significant difference between the old and new filters from the beginning, and the new filter is now removing significantly fewer transactions. Although some skeptics might question our decision to be less stringent with the new filter, a look at the volume charts shows that the overall volume filtered in the first half of the year is relatively similar across both filters, despite a big change in the number of transactions filtered. This aligns with our idea that wash trading activity usually involves low transactions and high volume. Our new filter is more effective in identifying wash trading activity and reducing the number of false positives on our dashboards.

So What’s Next?

The wash-trading filter is a dynamic feature, constantly evolving to provide the most accurate view of market activity and eliminate noise. As innovation in the space continues at a rapid pace, creating a future-proof filter is not feasible, and no methodology can remove wash trades with 100% accuracy. However, we will continue to adapt and refine our heuristics based on feedback and changes in the market to ensure that our users get the best possible view of emerging trends and the state of the market.

The wash-trading filter is applied to multiple dashboards, including NFT Paradise and NFT Trends, to provide accurate views of what is happening in the space. Head over to these dashboards to get the most up-to-date and accurate information about the NFT market.


The authors of this content and members of Nansen may be participating or invested in some of the protocols or tokens mentioned herein. The foregoing statement acts as a disclosure of potential conflicts of interest and is not a recommendation to purchase or invest in any token or participate in any protocol. Nansen does not recommend any particular course of action in relation to any token or protocol. The content herein is meant purely for educational and informational purposes only and should not be relied upon as financial, investment, legal, tax or any other professional or other advice. None of the content and information herein is presented to induce or to attempt to induce any reader or other person to buy, sell or hold any token or participate in any protocol or enter into, or offer to enter into, any agreement for or with a view to buying or selling any token or participating in any protocol. Statements made herein (including statements of opinion, if any) are wholly generic and not tailored to take into account the personal needs and unique circumstances of any reader or any other person. Readers are strongly urged to exercise caution and have regard to their own personal needs and circumstances before making any decision to buy or sell any token or participate in any protocol. Observations and views expressed herein may be changed by Nansen at any time without notice. Nansen accepts no liability whatsoever for any losses or liabilities arising from the use of or reliance on any of this content.

Join 100,000+ Investors Getting Their Trading Edge From Nansen