Subscribe to get high-signal insights on how modern fintech is built.

anatomy

Chime - Fraud Detection at Neobank Scale

Chime processes a million events per second through a serverless fraud pipeline that most engineers wouldn't recognize as a fraud system.

By Alex Kugell ·

Chime had 8.6 million active members when it filed its S-1 in March 2025. Each one has a debit card, a checking account, and access to early direct deposit. Most use the card multiple times a day. That's tens of millions of transactions flowing through a fraud system that needs to say yes or no before the card terminal times out.

The easy assumption is that Chime runs the same fraud stack as a traditional bank, just smaller, with fewer customers and simpler infrastructure. But a neobank's fraud surface looks nothing like a legacy bank's, and the architecture Chime built to handle it is a serverless streaming system that most bank engineers wouldn't recognize.

The neobank fraud surface

Traditional banks have branch networks, in-person identity verification, and multi-day settlement windows that create natural friction against fraud. A neobank removes all of that friction on purpose, because friction is what makes the legacy experience bad. The same features that attract customers also attract fraudsters.

Early direct deposit is the clearest example. Chime advances payroll funds up to two days before the employer's bank settles the ACH transfer. A legitimate customer sees their paycheck on Wednesday instead of Friday, but a fraudster sees a two-day window where Chime has extended credit against money that hasn't arrived yet and might never arrive.

SpotMe, Chime's fee-free overdraft feature, creates another surface. Customers can overdraw their account by up to $200 on debit purchases with no fee. A legitimate customer treats it as a safety net, but a fraud ring treats it as a $200 credit line on every synthetic identity that clears onboarding.

Visa Direct and instant transfers compress settlement windows from days to seconds. A fraudster who gains access to an account can move money out before any batch-based detection system runs its nightly sweep.

The pattern across all of these: every product feature that removes friction for customers simultaneously removes friction for fraud. The fraud system can't add the friction back, so it has to make faster decisions with less information.

What Chime built

Chime's fraud detection pipeline runs on AWS serverless infrastructure. The architecture was detailed in a joint AWS-Chime engineering post describing what they call Streaming 2.0.

The event ingestion layer handles over a million events per second through Kinesis, including not just card swipes but login attempts, balance checks, transfer initiations, profile changes, and device fingerprints. Every user action that might signal fraud context flows into the same stream.

AWS Glue processes the raw events, transforming and enriching them into features the ML models can consume. The processing target is a 5 to 15 second data freshness SLA, meaning a transaction that happens right now produces features that models can query within 15 seconds.

DynamoDB serves as the online feature store. When a card authorization arrives and the fraud model needs to know "how many transactions has this customer made in the last hour from this device," DynamoDB answers in single-digit milliseconds. The same data lands in S3 as an offline store, so the training pipeline sees exactly the same features the production models see. No training-serving skew.

SageMaker hosts the models. Chime runs 40 or more ML models in production, managed through an internal framework called MLKit. MLKit is config-driven. Teams define a model's features, thresholds, and rollout percentage in configuration files rather than deployment code. A new model version ships by changing a config, and rolls back the same way.

The entire streaming platform serves over 500 developers across Chime, not just the fraud team. Product analytics, risk scoring, compliance monitoring, and customer experience teams all consume the same event stream.

Chime Streaming 2.0 Fraud Pipeline
Events
1M+/sec
Kinesis
Ingestion
Glue
5-15s freshness
DynamoDB
Feature store, <10ms
SageMaker
40+ models
Auth Decision
Approve/Deny
S3
Offline store (training)
Data store
Decision point

Why serverless matters for fraud

Most fraud detection architectures at traditional banks run on dedicated Kafka clusters with Flink or Spark Streaming for processing. Chime chose fully managed AWS services instead, and the trade-off is deliberate.

A self-managed Kafka cluster requires capacity planning. You provision for peak load, which means paying for Black Friday capacity on an average Tuesday. Kinesis scales with throughput. Chime's fraud pipeline processes a million events per second without an infrastructure team sizing broker partitions.

The same logic applies to Glue over Flink. A Flink cluster needs operators who understand checkpointing, state management, and recovery. Glue is fully managed. The trade-off is less control over processing semantics and higher per-event cost at massive scale. For Chime's volume, the operational simplicity wins over the cost optimization.

Most ML teams build feature stores on Redis or a dedicated platform like Feast or Tecton. DynamoDB gives Chime single-digit millisecond reads with automatic scaling, and it doubles as a general-purpose data layer that other teams already use. One fewer system to operate.

The cost is vendor lock-in. Chime's fraud pipeline is deeply coupled to AWS primitives. Migrating to GCP or Azure would mean rebuilding the entire streaming and serving layer. For a company that processes over $120 billion in annual payment volume through this pipeline, that's not a migration anyone is planning.

The 40-model problem

Running 40 or more ML models in production creates its own set of challenges that have nothing to do with model accuracy.

Each model needs features. Some features are shared, a customer's 30-day transaction average is useful to the card authorization model and the ACH scoring model. But each model also has unique features. Managing the dependency graph between models and features at Chime's scale is why MLKit exists.

MLKit abstracts model deployment into configuration. A fraud analyst who wants to test a new model against 5% of live traffic changes a config value. The framework handles canary deployment, metric collection, and automated rollback if error rates spike. Without this layer, deploying 40 models would require 40 deployment pipelines with 40 on-call rotations.

If the card authorization model tightens its threshold and declines more transactions, the ACH scoring model sees a different distribution of customers, because the riskiest card users are now being filtered upstream. The models are coupled through the customer population they share, even though they run independently. Chime's engineering blog doesn't describe how they handle this, but at 40 models the interaction effects are unavoidable.

What the architecture reveals

Chime's fraud system has a few properties worth noting for engineers building similar systems.

DynamoDB serves features to every model and every team, making the feature store the center of gravity. Replacing a model is a config change, but replacing the feature store would mean rebuilding the entire pipeline. The investment in feature infrastructure pays off when models are disposable but features are permanent.

The conventional wisdom in financial services is that latency-sensitive, high-throughput systems require dedicated infrastructure. Chime's pipeline processes over $120 billion in annual payment volume on fully managed services, and the trade-off is vendor dependency rather than performance.

Every feature Chime ships, from early direct deposit to instant transfers to fee-free overdraft, creates a new fraud vector. The fraud team needs to model the fraud implications of every product decision before it launches, not just respond to attacks after they arrive. At Chime, the fraud pipeline is as much a product constraint as a security layer.

Sources

Alex Kugell
Alex KugellAI/ML Engineer, Fintech Infrastructure

Writes Ledger Drift. Engineer building AI systems and financial infrastructure. Open source contributor to x402, ACK, and MPP.

Frequently Asked Questions

How does Chime detect fraud in real time?
Chime ingests over a million events per second into a serverless streaming pipeline built on AWS Kinesis, Glue, and DynamoDB. Transaction events flow through feature computation in near real-time, with a 5 to 15 second data freshness SLA. Features are served from DynamoDB at single-digit millisecond latency to 40 or more ML models that score each transaction before the authorization decision completes. The architecture is serverless, so capacity scales with transaction volume without manual provisioning.
Why is fraud different at neobanks compared to traditional banks?
Neobanks like Chime face fraud patterns that traditional banks rarely encounter at the same scale. Early direct deposit, where payroll arrives up to two days before the official pay date, creates a window where fraudsters can extract funds before the employer's bank settles. Instant deposit via Visa Direct moves money in seconds rather than days. And fee-free overdraft features like SpotMe create exploitable credit lines that didn't exist in legacy banking. Combined with all-digital onboarding that never requires an in-person visit, neobanks attract a higher proportion of first-party fraud, where the account holder is the fraudster.
What tech stack does Chime use for fraud detection?
Chime's fraud pipeline runs entirely on AWS serverless infrastructure. Kinesis handles event ingestion at over a million events per second. AWS Glue processes and transforms the streaming data. DynamoDB serves as both an online feature store with single-digit millisecond query latency and a real-time data layer. SageMaker hosts the ML models. S3 stores historical features for offline training. The entire platform is used by 500 or more developers across the company, not just the fraud team.
How many ML models does Chime run for fraud detection?
Chime runs 40 or more ML models in production through an internal framework called MLKit. MLKit is config-driven, meaning teams can deploy and update models without writing deployment code. The models cover different fraud vectors including card authorization, ACH transaction scoring, account takeover detection, and first-party fraud patterns. New models can be deployed and rolled back through configuration changes rather than code releases.
How big is Chime and how much transaction volume does it process?
Chime had 8.6 million active members as of its March 2025 S-1 filing, with over $120 billion in annual payment volume. Revenue reached $1.67 billion in 2024, with guidance of $2.73 billion for 2026. Chime went public in June 2025 on Nasdaq under the ticker CHYM at an $18.4 billion valuation. Every dollar of that payment volume flows through the fraud detection pipeline.

Built by Trio, a fintech-native engineering partner helping teams build the next generation of financial technology and infrastructure.

Subscribe to Ledger Drift for high-signal insights into how modern fintech is built, from systems to code to teams.

Keep reading

analysisPayPal Wants Developers to Build on PYUSDPYUSDx lets developers issue custom stablecoins backed by PayPal's dollar, and the real play is making PYUSD the reserve layer.
fintechCash Flow Infrastructure Is a Platform DecisionCash flow starts as a product feature and becomes infrastructure the moment two systems need the same balance.
ai & mlAML's Real Bottleneck Is the NarrativeTransaction monitoring generates the alerts, but the four-hour SAR narrative is where compliance teams actually lose their week.
View more ›