Wash Trading Flags

Our Wash Trading Flags are designed to detect wash trading activities on NFT marketplaces.

Approach

Wash trading can be inferred through onchain movement of NFTs and funding patterns across different buyers and sellers.

We use various heuristics to flag potential wash trades, assign a score to each heuristic, and then compute a wash trading score based on the sum of these factors.

The output is then classified into different levels of wash trading ranging from very low to very high.

Sample Query

Get a breakdown of NFT wash trading levels across all chains

select
    date(block_timestamp) as date,
    chain,
    wash_trading_level,
    sum(usd_amount) as usd_volume
from crosschain.nfts.trades_with_wash_trading_flags
where block_timestamp >= current_timestamp - interval '30 days'
group by all

Get a granular, transaction-level breakdown of wash trading details incl. the funding wallets of traders, and the pattern of wash trading detected. These details can also be used to compute custom wash trading metrics.

select
    chain,
    block_timestamp,
    transaction_hash,
    wash_trading_score,
    wash_trading_level,
    extra_fields:wash_trading_details as wash_trading_details,
    extra_fields:wash_trading_details:wash_trading_flags as wash_trading_flags,
    extra_fields:wash_trading_details:buyer_birth_funding_wallets as buyer_birth_funding_wallets,
    extra_fields:wash_trading_details:seller_birth_funding_wallets as seller_birth_funding_wallets
from crosschain.nfts.trades_with_wash_trading_flags
where block_timestamp >= current_timestamp - interval '1 days'

Wash Trading Flags

Wash Trading Level

wash_trading_level - The Wash Trading Level is derived from the Wash Trading Score, and is classified into different levels as follows:

  • very low if wash_trading_score = 0

  • low if wash_trading_score <= 2

  • medium if wash_trading_score < 3

  • high if wash_trading_score <= 4

  • very high if wash_trading_score > 4

Last updated