Skip to main content
Challenge

Build an Explainable AML Agent with Claude & Gemini for Enhanced Sanctions Screening

Financial institutions face increasing pressure to combat money laundering and terrorist financing, intensified by regulatory developments like DORA, calls for AI control by central banks, and the evolving landscape of beneficial ownership information. The demand for highly efficient, transparent, and compliant Anti-Money Laundering (AML) systems is paramount. This challenge focuses on leveraging cutting-edge AI agent technology to autonomously identify and investigate suspicious financial activities, addressing the gaps left by traditional rule-based systems and the need for explainability. Participants will utilize the `Claude Agents SDK` to orchestrate a sophisticated AML agent. This agent will ingest simulated transaction data, perform robust entity resolution to link disparate financial entities, and interact with the `Gemini 2.5 Flash` model for advanced risk scoring, anomaly detection, and real-time sanctions screening. A critical component will be the generation of clear, auditable explanations for every alert, satisfying regulatory demands for transparency and aiding human investigators in efficient triage. The solution must also incorporate secure data handling practices, reflecting DORA compliance principles for cryptographic migrations and data integrity in multi-cloud environments. This practical challenge aims to develop an intelligent system that not only detects financial crime but also provides clear, traceable evidence and reasoning behind its decisions, significantly reducing false positives and enhancing the overall effectiveness of AML operations in a complex regulatory landscape.

CybersecurityHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Leverage Claude Agents SDK to build an autonomous AML agent integrating Gemini 2.5 Flash for enhanced sanctions screening, risk assessment, and explainable alert generation.

Delivery guide

How work is evaluated

Evaluation

The evaluation will assess the agent's ability to accurately process simulated financial transactions, identify high-risk activities, perform entity resolution, and generate explainable alerts with sanctions screening results. Key metrics will include detection accuracy, explanation quality, and compliance with audit trail requirements.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
7 scoring checks
Binary
7 pass or fail dimensions
Ordinal
0 scaled dimensions
Dimension 1

SanctionsHitAccuracy

Agent correctly identifies sanctioned entities based on mock sanctions list.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 2

AuditTrailCompleteness

Audit log contains entries for all critical decision points, tool calls, and LLM interactions.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 3

ValidRiskScoreRange

Generated risk scores are within the 0-100 range.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 4

DetectionRecall

Percentage of actual high-risk transactions correctly flagged. • target: 0.95 • range: 0.7-1

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 5

FalsePositiveRate

Percentage of low-risk transactions incorrectly flagged. • target: 0.05 • range: 0-0.2

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 6

ExplanationClarityScore

A qualitative score (e.g., 1-5) based on human review of explanation comprehensibility and detail. • target: 4 • range: 1-5

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 7

EntityResolutionF1Score

F1 score for accurately linking fragmented customer profiles. • target: 0.9 • range: 0.7-1

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Orchestrate autonomous multi-step AML workflows using `Claude Agents SDK` to chain together tools for data ingestion, entity extraction, risk assessment, and alert generation, ensuring robust error handling and retry mechanisms.

  • Implement advanced entity resolution pipelines leveraging graph databases (e.g., Neo4j) and fuzzy matching algorithms to accurately link fragmented customer and transaction data across diverse sources, including addressing beneficial ownership data gaps.

  • Develop and deploy explainable transaction risk scoring models with `Gemini 2.5 Flash`, focusing on feature importance and counterfactual explanations, enabling human investigators to understand the 'why' behind an alert and satisfy regulatory scrutiny.

  • Integrate real-time sanctions list screening by developing tool functions for `Claude Agents SDK` to query external APIs (e.g., OFAC, UN sanctions lists) and effectively incorporate these checks into the agent's decision-making process.

  • Design and secure multi-cloud data architectures compliant with DORA rules, focusing on cryptographic migrations and data sovereignty for financial data processed by the agent, ensuring data integrity and confidentiality.

  • Build a comprehensive audit trail and reporting module for the AML agent, logging all decisions, data points, LLM prompts/responses, and justifications, to ensure full traceability and compliance with regulatory requirements (e.g., MAS COSMIC principles).

  • Optimize the agent's performance for low false-positive rates and high recall in identifying suspicious activities, utilizing feedback loops from investigator decisions to fine-tune `Gemini 2.5 Flash` prompts and agent tool selection logic.

Resources and assets

Reference links and supporting material

Dataset notes

Synthetic financial transaction records including sender/receiver details, amounts, timestamps, and artificially embedded high-risk indicators (e.g., sanctioned entities, unusual transaction patterns). It also includes fragmented customer profiles for entity resolution testing and a simulated sanctions list.

Challenge setup

The evaluation will assess the agent's ability to accurately process simulated financial transactions, identify high-risk activities, perform entity resolution, and generate explainable alerts with sanctions screening...

Challenge input

{"transaction_id": "string", "sender_account": "string", "receiver_account": "string", "amount": "float", "currency": "string", "timestamp": "ISO 8...

Claude Agents SDK

Serves as the core framework for building and orchestrating the autonomous AML agent, enabling multi-step reasoning and tool use.

Gemini 2.5 Flash

Used as the primary Large Language Model for advanced natural language understanding, complex risk scoring, anomaly detection, and generating expla...

Python

The foundational language for developing the agent, its tools, data processing, and integration components.

Evaluated output

{"alert_id": "string", "transaction_id": "string", "risk_score": "integer (0-100)", "explanation": "string", "sanctions_hit": "boolean", "sanctione...

Evaluation checks
  • Agent correctly identifies sanctioned entities based on mock sanctions list.
  • Audit log contains entries for all critical decision points, tool calls, and LLM interactions.
  • Generated risk scores are within the 0-100 range.
Configured evaluation evidence
  • Benchmark: Financial Crime Risk Management (FCRM) Best Practices
  • DetectionRecall target: 0.95
  • 2 public reference cases
Configured runtime
  • Python execution harness
  • Python sandbox (unavailable on Versalist)

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • Claude Code · Required
Observation
  • Claude Code · Required
Policy Serving
  • Claude 4.1 Opus · Optional
  • Claude 4 Sonnet · Optional

Evaluation contract

  • SanctionsHitAccuracy · Weight 1
  • AuditTrailCompleteness · Weight 1
  • ValidRiskScoreRange · Weight 1
  • DetectionRecall · Weight 1
  • FalsePositiveRate · Weight 1
  • ExplanationClarityScore · Weight 1
  • EntityResolutionF1Score · Weight 1

Metrics

  • DetectionRecall · Target 0.95
  • FalsePositiveRate · Target 0.05
  • ExplanationClarityScore · Target 4
  • EntityResolutionF1Score · Target 0.9

Benchmarks

  • Financial Crime Risk Management (FCRM) Best Practices
  • security

Reference cases

  • 2 public reference cases

Workflow tasks

  1. Task 1

    Input: {"transaction_id": "string", "sender_account": "string", "receiver_account": "string", "amount": "float", "currency": "string", "timestamp": "ISO 8601 string", "sender_name": "string", "receiver_name": "string", "sender_address": "string", "receiver_address": "string"}

    Output: {"alert_id": "string", "transaction_id": "string", "risk_score": "integer (0-100)", "explanation": "string", "sanctions_hit": "boolean", "sanctioned_entity_details": "object|null", "audit_log_entry": "string"}

    Execution harness: Python

  2. Task 2

    Input: {"customer_profiles": [{"id": "string", "name": "string", "address": "string", "dob": "string"}, ...]}

    Output: {"resolved_entity_id": "string", "aggregated_profile": {"name": "string", "addresses": ["string"], "dobs": ["string"], "linked_ids": ["string"]}, "resolution_rationale": "string"}

    Execution harness: Python

Evaluation tools

  • Claude Agents SDK · Orchestration
  • Gemini 2.5 Flash · Model
  • Python · Programming Language
  • Neo4j · Database

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build an Explainable AML Agent with Claude & Gemini for Enhanced Sanctions Screening