Inspiration

Every day, millions of dollars flow through mobile banking, mobile money and fintechs — and with them, illicit money. Money laundering networks exploit thousands of "mule accounts", split amounts just below control thresholds (structuring), and fire off unnaturally rapid bursts of transactions to move dirty money under the radar. Compliance teams at African banks and mobile money operators are drowning in unprioritized alerts, with no explanation and no tool to produce the regulatory reports (SARs) that regulators demand.

FINTRACE was born from a conviction: every suspicious transaction deserves a decision, not just a score. A bank can't fight money laundering with a black box. You have to detect, explain and document — in real time.

What it does

FINTRACE is a complete web platform for real-time detection of bank fraud and money laundering (AML). It combines 4 AI building blocks:

  1. XGBoost (supervised) — recognizes already-known fraud and money-laundering patterns: amount splitting (structuring), recent accounts, velocity.
  2. Isolation Forest (unsupervised) — detects never-before-seen anomalous behavior that the supervised model doesn't know yet.
  3. Graph analysis (NetworkX + PageRank) — spots networks of mule accounts (layering) by tracking money flow through the network.
  4. SHAP (explainable AI) — explains why each transaction is flagged, and an optional LLM assistant drafts Suspicious Activity Reports (SARs) ready to be sent to authorities.

The analyst interface offers:

  • A dashboard: KPIs, 30-day activity curve, alert heatmap, most suspicious accounts.
  • Alerts with a final Confirmed / Dismissed verdict, country/status/search filters and a world map of financial flows.
  • Dataset analysis: import a CSV/JSON/XLSX file, automatic column detection, bulk scoring of every transaction with an explained decision and evidence.
  • Mule network visualization (degrees, PageRank, received/sent flows).
  • Automatic SAR report generation with regulatory PDF export.
  • A complete REST API (/api/score, /api/alerts, /api/import/analyze…) for integration into a real banking system.

How we built it

  • Backend: FastAPI (Python) exposing a JWT-secured REST API (bcrypt), with a layered architecture: app/api (routes), app/ml (engine), app/services (business logic, risk engine, automated investigator).
  • ML engine: XGBoost trained on 150,000 realistic synthetic transactions generated with documented fraud patterns (mule networks, structuring, rapid cash-out, recent-account abuse). Isolation Forest calibrates its thresholds on training percentiles so that only the extreme tail gets flagged.
  • Scoring: fraud and anomaly probabilities are combined by a risk engine into a weighted logit, producing a composite 0–100 score with configurable alert and SAR-report thresholds.
  • Frontend: React + Vite, with ECharts (curves, heatmap), an interactive world map (colors, bubbles and flows) and a dark analyst-oriented interface.
  • Explainable AI: SHAP for local explainability, plus an automated investigator that accumulates structured signals (risk, anomaly, network, velocity, watchlist, account ages, round amounts) and issues a clear binary verdict: Confirmed or Dismissed.

Challenges we ran into

  • Noise and false positives: a fraud score alone drowns analysts. We had to design an investigator that only confirms a case with a converging bundle of signals, deliberately keeping decisions conservative to preserve credibility.
  • Never-before-seen anomalies: the supervised model is blind to new patterns. The Isolation Forest required fine threshold calibration to detect the abnormal without flagging everything.
  • Layering / mules: identifying pass-through accounts requires building and traversing a graph of millions of flows (degrees, PageRank, round amounts) — a real performance and interpretation challenge.
  • Explaining without jargon: making SHAP understandable for a compliance analyst, not a data scientist.
  • Demo scale: turning a 150,000-row dataset into a fluid, one-click reproducible demo database.

Accomplishments that we're proud of

  • A complete detection → decision → documentation pipeline: every alert reaches a Confirmed / Dismissed verdict — no alert is ever left unanswered.
  • Dataset analysis: import a simple CSV file and get a per-transaction risk report, with evidence and SHAP factors.
  • Automated SAR reports with PDF export, ready for compliance.
  • End-to-end explainable AI — SHAP isn't a gimmick, it directly feeds the decision.
  • A product that deploys in 7 steps: pre-trained models included, demo database filled with a single command.

What we learned

  • Money laundering is above all a network problem: the counterparty, velocity and graph structure often tell you more than the isolated transaction.
  • A good AML system isn't the one that flags the most, but the one that explains and documents — analyst trust is earned with evidence.
  • Combining supervised + unsupervised + graph + explainability gives a far more robust system than any single block alone.
  • Teamwork and rapid iteration (FastAPI + React) let us go from an idea to a complete product in just a few days.

What's next for FINTRACE

  • Continuous monitoring: automatic retraining of the supervised model on analyst-confirmed decisions (feedback loop).
  • Identity smurfing detection: networks of accounts sharing the same identity, same IP, same device.
  • Real banking integrations: Swift/ISO 20022 connectors, streaming scoring API (Kafka) for real-time scale-out.
  • Enhanced LLM: multilingual SAR drafting with evidence citations, human-supervised.
  • Regulatory audit dashboard: full traceability of every decision for regulator inspections.

Built With

Share this project:

Updates

Submission history