About This Demo

Architecture, data model, and context for SpatialGO Cross-Rail Intelligence

What is SpatialGO Cross-Rail Intelligence?

A correlation layer that connects SEPA + card rails with exchange exposure and on-chain risk clusters to expose laundering networks and reduce AML false positives.

Traditional banking AML systems are siloed: card fraud engines, SEPA/TM systems, and crypto tools don't talk to each other. Criminals exploit this by moving money across rails — SEPA → Exchange → On-chain (mixer/bridge) → Payout. Each step looks benign in isolation; together, it's clearly suspicious.

Architecture (Demo)

Static Data Layer
All data loaded from JSON files in /src/data — no database, no external APIs. 250 customers, 8,000+ transactions across SEPA, CARD, ONCHAIN, and PAYOUT rails.
Risk Engine v2
Deterministic, explainable scoring (0–100). Each signal produces an evidence item. Score = sum of weighted signals capped at 100. Bands: LOW (0–39), MEDIUM (40–69), HIGH (70+).
Network Analysis
Union-Find algorithm detects connected components via shared devices and shared beneficiaries. Components of ≥6 nodes are flagged as rings.
Graph Builder v2
Builds React Flow graphs per entity: customer → exchanges → wallets → clusters → beneficiaries → devices. Suspicious paths highlighted in red.

Architecture Diagram

[ Data Sources ]
SEPA Transfers
Card Transactions
Exchange Data
Blockchain (on-chain)
Device Fingerprints
▼ Static JSON → dataStore.ts (indexes)
networkAnalysis.ts
riskEngine.v2.ts
graphBuilder.v2.ts
▼ Computed results
/dashboard
/entities
/entity/[id]
/networks
/evidence

Risk Scoring Signals

SEPA → exchange exists+15
SEPA → exchange count ≥ 3+10
SEPA → exchange amount ≥ €20k+10
CARD → exchange exists+10
CARD → exchange count ≥ 2+5
CARD → exchange ≥ €5k+5
ONCHAIN to HIGH-risk cluster+20
ONCHAIN tx count ≥ 2+5
PAYOUT ≥ 3 within 72h after exchange+10
PAYOUT to shared beneficiaries+10
Shared device ≥ 2 others+10
Shared beneficiaries ≥ 2 others+10
Network size ≥ 6+10
Network has ≥ 3 HIGH entities+5
Exchange → ONCHAIN within 24h+5
Exchange → PAYOUT within 48h+5

Data Schema

Customer
id, name, segment
Transaction
id, type, fromCustomerId, toEntityId, amount, currency, timestamp, tag?, exchangeId?, walletId?, clusterId?
Exchange
id, name, riskLevel
Wallet
id, exchangeId, clusterId, address
Cluster
id, tag, riskLevel
Beneficiary
id, iban, label, linkedCustomerIds[]
Merchant
id, name, mcc?, category?, riskLevel?
Device
id, fingerprint, linkedCustomerIds[]
Disclaimer — Synthetic Data Only

All data in this demo is entirely synthetic and randomly generated. Customer names, IBANs, wallet addresses, transaction amounts, and all other data points are fictional and bear no relation to any real person, organization, or financial entity. This demo is for illustrative and demonstration purposes only. No real AML decisions should be made using this system.