Telco Payment Fraud Detection Platform

Enterprise-grade real-time payment fraud detection system designed for Telco/MSP environments. Built to handle high-throughput transactions with sub-10ms decision latency.

The Challenge

Payment fraud in the telecommunications industry costs operators billions annually. Traditional batch-processing approaches fail because:

  • Too slow: Fraudsters complete SIM activations, device purchases, and service upgrades before detection
  • Too rigid: Static rules cannot adapt to evolving attack patterns like SIM farms and device resale fraud
  • Poor UX: Blocking legitimate subscribers hurts revenue more than the fraud itself

The Solution

A real-time decisioning engine that:

CapabilityAchievement
Decision LatencySub-10ms P99
Detection Coverage5 fraud signal types
Policy UpdatesHot-reload without restart
Evidence TrailComplete audit for disputes

Key Features

Real-Time Decisioning

Every transaction receives an instant decision:

ALLOW β†’ Proceed normally
FRICTION β†’ Request additional verification (3DS, OTP)
REVIEW β†’ Queue for manual review
BLOCK β†’ Decline transaction

Multi-Signal Detection

The platform analyzes five distinct payment fraud patterns targeting Telco/MSP:

  1. Card Testing - Rapid small topups probing stolen card validity
  2. SIM Farm / Velocity Attacks - Multiple SIM activations from same card (fraud ring indicator)
  3. Device Resale Fraud - Subsidized device upgrades with intent to resell
  4. Bot/Automation - Emulators, datacenter IPs, Tor exit nodes (automated fraud)
  5. Friendly Fraud - Historical dispute patterns and subscriber behavioral signals

Configurable Policy Engine

Business rules are defined in YAML and can be updated without deployment:

thresholds:
  block_score: 85
  review_score: 60
  friction_score: 35

rules:
  - name: device_upgrade_new_subscriber
    condition: event_subtype = device_upgrade AND subscriber_age_days < 30
    action: REVIEW
  - name: high_risk_sim_swap
    condition: event_subtype = sim_swap
    action: REVIEW

Architecture at a Glance

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Payment Gateway                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     Fraud Detection API                      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ Feature  β”‚  β”‚Detection β”‚  β”‚  Risk    β”‚  β”‚  Policy  β”‚    β”‚
β”‚  β”‚ Engine   β”‚  β”‚ Engine   β”‚  β”‚ Scoring  β”‚  β”‚  Engine  β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚             β”‚             β”‚             β”‚
   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”
   β”‚  Redis  β”‚   β”‚ Detect  β”‚   β”‚  Score  β”‚   β”‚  YAML   β”‚
   β”‚Counters β”‚   β”‚ Signals β”‚   β”‚ Combine β”‚   β”‚ Config  β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   PostgreSQL    β”‚
                    β”‚ Evidence Vault  β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Technical Stack

ComponentTechnologyPurpose
APIFastAPIHigh-performance async endpoints
Feature StoreRedisSub-ms velocity counter lookups
Evidence StorePostgreSQLImmutable audit trail
MonitoringPrometheus + GrafanaReal-time metrics and alerting
DashboardStreamlitDemo and testing interface
InfrastructureDocker ComposeLocal development environment

Results

The Sprint-1 MVP delivers:

  • 5 detection signals covering major fraud patterns
  • Sub-10ms latency for decision responses
  • Hot-reload policy updates without restarts
  • Complete evidence capture for dispute resolution
  • 45+ unit tests with comprehensive coverage
  • Load tested to 1000+ requests/second

Author: Uday Tamma