Inspiration
Financial fraud investigators waste hours manually connecting the dots between victims, mule accounts, and the kingpins behind laundering networks. After winning the Red Shield Hackathon with TraceNetX v1, we wanted to rebuild it into a full intelligence platform that could trace money end-to-end — from victim to the dealer orchestrating it — and validate it against real fraud data, not just synthetic demos.
What it does
TraceNetX maps the full flow of dirty money: victims → criminal → dealer (kingpin). It goes beyond flagging suspicious accounts — it identifies the dealer/kingpin behind a network (Dealer Detection), and surfaces deeper laundering patterns through dedicated intelligence modules: Community Detection, Coordination Detection, Convergence Analysis, Hawala Broker Detection, Shell Company Detection, and Crypto Gateway detection. A force-directed Spider Map (D3) visualizes the network live, and accounts are scored into risk tiers (CRITICAL, HIGH, MEDIUM, CLEAR) so investigators can prioritize instantly.
How we built it
- Backend: FastAPI (port 8001) with an ML ensemble — XGBoost, LightGBM, Random Forest, Isolation Forest, and LSTM, with SHAP for explainability
- Graph layer: Neo4j for relationship mapping and traversal
- Frontend: React with a Bloomberg Terminal-inspired aesthetic (deep navy, gold accents, IBM Plex Mono)
- Visualization: D3-powered force-directed Spider Map for live network exploration
We validated the models against the real Bank of India CyberShield Hackathon dataset (9,082 accounts, 81 confirmed mules) through a dedicated real-data validation endpoint.
Challenges we ran into
The biggest one was label leakage — our first validation run hit a suspicious 0.9999 AUC, which we traced back to post-investigation fields in the dataset leaking outcome information into training. We rebuilt the validation pipeline with stratified 5-fold cross-validation, fitting the scaler and SMOTE only on the train fold, and landed on a leak-free 0.9958 AUC we could actually trust. We also benchmarked against a rival approach (MuleGuard AI) and closed the precision-recall gap by adding an AUPRC metric, a HIGH-risk freeze-tier precision check, and a residual-leak detection step — plus stacking XGBoost and LightGBM with a per-fold logistic blend, which pushed mean AUPRC from 0.906 to 0.9299.
Built With
- d3.js
- fastapi
- ibm
- isolation-forest
- lightgbm
- lstm
- neo4j
- plex
- python
- random-forest
- react
- scikit-learn
- shap
- smote
- xgboost
Log in or sign up for Devpost to join the conversation.