We have a stack of filters that you can enable depending on how much you want to increase recall or precision (there is a trade-off in applying these filters, i.e. if you increase precision you might reduce recall, so you capture more wash trades at the expense of capturing false positives).
Our filters are:
- Cycle detection based on wallet-to-wallet transfers (A -> B -> C -> A)
- Cycle detection as the above but with account-to-account transfers (here one account can be composed of multiple wallets where all of them funded by a master wallet)
- Cycle detection as (1) but similar sub-graphs (strongly-connected components assumed to be a single account)
- High-frequency repeat buy/sells from the same wallet.
Precision is highest in 1 and as you stack up more of these filters (+2,3,4) you might increase recall but may have some extra false positives.