Skip to main content

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 can't 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

Documentation​

SectionDescription
Getting StartedQuick setup and first API call
ArchitectureSystem design and component details
API ReferenceEndpoint specifications
Demo DashboardInteractive testing interface

Author: Uday Tamma