Ethereum Money Laundering Detection Pipeline — KNIME + Neo4j + Streamlit
Hello everyone,
Congrats on the new community site — it looks really cool.
I built a blockchain forensics pipeline that traces stolen funds across four real DeFi exploits, detects systematic laundering patterns, and produces an interactive dashboard.
Results: $199M traced, 1,243 Tornado Cash deposits detected, 559 wallets analyzed across 3 hops of fund-flow tracing.
The Cases:
- Beanstalk Farms ($181M, Apr 2022) — direct deposit, 3-hour laundering window
- Nomad Bridge ($190M, Aug 2022) — 191-wallet convergence with zero statistical variance in amounts sent
- Euler Finance ($197M, Mar 2023) — mostly returned funds, with a small partial-laundering trail and a North Korea / Lazarus Group cross-link
- Harmony Bridge ($100M, Jun 2022) — three-layer equal splitting before laundering
How KNIME Is Used:
The workflow is a single configurable component wrapping three stages:
- Initialization — sets database constraints, writes seed wallets, and labels ~50 known entities (exploit contracts, DEX/bridge/mixer infrastructure, exchanges) by category, so all downstream filtering works off `category` instead of hardcoded address lists
- ETL — a recursive loop that extracts wallet transaction history from Etherscan (3 endpoints per wallet, with automatic pagination for high-activity wallets), transforms it, writes it to Neo4j, then reads a "frontier" of newly discovered wallets to feed back into the next loop iteration
- Detection & Export — 8 Cypher-based detectors (Tornado Cash fingerprinting, convergence, splitting, composite risk scoring, etc.) query the finished graph and export results as JSON for a Streamlit dashboard
Everything Is on GitHub
Full .knwf workflow, all Cypher queries, the Streamlit dashboard, a Neo4j database dump of the actual extracted graph, and documentation with screenshots of every workflow stage:
🔗 https://github.com/mehrdadbgh/ethereum-aml-detection
The README walks through each meta node in detail if you want to see the extraction/pagination/labeling logic before opening the workflow itself.
If you like this workflow, I’ll soon build another MVP for NFT wash — so stay tuned.
Br,
Mehrdad