Multi-agent system for AML transaction monitoring, KYB onboarding, and risk compliance using public data sources.
Alert / Entity Input
↓
Triage Agent
↓
┌─────┴──────────────────────┐
│ Enrichment Layer │
│ ├─ LEI Identity │
│ ├─ Sanctions Screening │
│ ├─ Adverse Media (GDELT) │
│ ├─ INTERPOL (optional) │
│ └─ Counterparty Enrichment│
└─────┬──────────────────────┘
↓
Risk Scoring Agent
↓
Narrative / Memo Agent
↓
Case Bundle (MD + JSON)
| Source | Purpose | API |
|---|---|---|
| GLEIF | Corporate identity via LEI | api.gleif.org |
| OFAC | Sanctions screening (SDN list) | sanctionslist.ofac.treas.gov |
| GDELT DOC 2.0 | Adverse media (article search) | api.gdeltproject.org/api/v2/doc |
| GDELT Context 2.0 | High-precision sentence search | api.gdeltproject.org/api/v2/context |
| INTERPOL | Red notices (optional) | ws-public.interpol.int |
config/ Policy config (thresholds, jurisdiction lists)
skills/ Atomic capabilities (API calls, parsing, scoring)
agents/ Agent definitions (KYB onboarding flow)
monitoring/ Alert triage + case packaging
transaction_monitoring/ TM-specific agents
features/ Supplementary tools (doc generator, RFI, playbooks)
playbooks/ Typology playbooks (structuring, layering, etc.)
demo/ Synthetic demo scenarios
- entity_intake_agent — Collects minimum viable entity fields
- lei_identity_agent — Resolves corporate identity via GLEIF
- ownership_structure_agent — Builds ownership view from GLEIF Level 2
- sanctions_screening_agent — Screens against OFAC SDN
- osint_adverse_media_agent — Searches GDELT for adverse signals
- kyb_risk_assessment_agent — Deterministic risk scoring + case summary
- alert_triage_agent — Classifies alerts by typology, routes enrichment
- case_packaging_agent — Produces regulator-friendly case bundles
- interpol_notice_agent — Optional high-signal enrichment
- behavioral_anomaly_agent — Profile deviation + velocity analysis
- counterparty_enrichment_agent — LEI + sanctions + media on counterparties
- flow_analysis_agent — Transaction chain + fan-in/fan-out detection
- prior_case_reasoning_agent — Summarizes prior alerts + delta analysis
- narrative_draft_agent — Generates investigation narratives
- memo_builder_agent — Decision justification + STR/NFA reasoning
- Investigation document generator (structured Word-ready output)
- Playbook router (maps alerts to typology playbooks)
- RFI checklist generator (source of funds/wealth questions)
- Profile consistency checker (rules-based)
- Decision justification assistant (regulator-ready language)
Every agent enforces needs_human_review when:
- Ambiguous identity matches (2+ LEI candidates)
- Sanctions near-matches without corroboration
- Common-name collisions in adverse media
- INTERPOL hits without DOB/nationality alignment
- Any
possible_matchflag in scoring
See demo/ for synthetic scenarios that exercise the full pipeline:
- Structuring (cash deposits below reporting threshold)
- Foreign wires (profile mismatch)
- Rapid fund movement (layering to crypto)
- Teller suspicion trigger (behavioral)
- Human trafficking indicators