Skip to main content
Anti-money-laundering monitoring is run in-house — no third-party vendor. Real-time on big withdrawals; fire-and-forget for everything else, with pattern detection in the background and webhooks within 5 minutes.
Never expose rule codes, descriptions, or risk scores to end users. Tipping-off prohibitions apply. Use generic language only (“Account under review”).

Hybrid model

Rule catalogue

risk_score = min(sum(triggered_severities) × 10, 100). R-009 complements R-001: where R-001 fires on a single large withdrawal, R-009 catches structured deposits and combined deposit/withdrawal/wager activity that crosses USD 10,000 in aggregate within the window. Decision: <50 allow · 50–79 hold · 80+ reject.

Endpoints

POST /v1/aml/screen

Allow:
Hold:
Decision handling: allow → release; hold → keep funds blocked, await aml.cleared webhook; reject → return funds to player balance, log for SAR filing, do not process payout.

POST /v1/aml/event

Stream every deposit, wager, withdrawal, settlement, login, and account update.
Acknowledgement (always 202 Accepted):
A duplicate transaction_id returns processing: "duplicate_already_queued" without reprocessing.

GET /v1/aml/cases

Returns case codes only — never rule descriptions or context data.

Webhooks

Webhook payloads include rule codes only — never descriptions or rule context.

Operator policy

  • Vendor: in-house (no third-party — cheaper, full control).
  • Hybrid: real-time on USD 10K+, async on everything else.
  • Rule count: 8 at launch; tuned monthly based on false-positive rates.
  • Review SLA: 48 hours.
  • SAR filing: Anunnaki files reports with the KGC where required.

Error codes