This article is a systems-architecture analysis for engineering audiences. It is not payment, compliance, security, or investment advice.
EMV 3-D Secure 2: Payment Authentication Architecture
Card-not-present fraud and checkout abandonment pull in opposite directions. Tighten authentication and you stop fraudsters, but you also bounce good customers at the worst possible moment. Loosen it and conversion recovers while chargebacks climb. EMV 3-D Secure 2 is the protocol that tries to resolve this tension by moving the authentication decision to the card issuer and letting most legitimate transactions pass without any visible step. This post is a systems walkthrough, not a buying guide. We trace how the architecture is wired, how messages move between the merchant, the card scheme, and the issuer, and how the Access Control Server decides whether a shopper sees a challenge or sails straight through. By the end you should be able to reason about where latency lives, why some transactions get challenged, and what a well-tuned deployment actually looks like under the hood.
This article is a systems architecture analysis. It is not payment, legal, or regulatory compliance advice.
What this covers: the three-domain model, core components, the AReq/ARes and CReq/CRes message flows, risk-based authentication at the ACS, PSD2 SCA exemptions, and the trade-offs that produce false declines.
Context and Background
The original 3-D Secure protocol, launched around 2001 and branded as Verified by Visa, Mastercard SecureCode, and similar names, worked but aged badly. It relied on static passwords, redirected shoppers to a full-page pop-up, and offered issuers almost no data about the transaction or the device. The result was predictable: high abandonment, weak fraud signal, and a checkout experience mobile users hated. 3DS1 also had no native path for in-app purchases, which mattered more every year as commerce shifted to phones.
EMV 3-D Secure 2, governed by EMVCo, was a ground-up redesign rather than a patch. The headline change is data. Where 3DS1 passed a handful of fields, 3DS2 carries more than 100 data elements about the device, the browser, the transaction, and the cardholder relationship. That richer payload lets the issuer make a risk decision silently for the vast majority of transactions, reserving interactive challenges for the cases that genuinely need them. It also adds first-class support for mobile apps through a dedicated software development kit, and it replaces static passwords with modern authentication such as one-time passcodes and biometrics.
The regulatory driver in Europe accelerated adoption sharply. The revised Payment Services Directive (PSD2) introduced Strong Customer Authentication (SCA), a requirement that many electronic payments be verified using at least two independent factors drawn from knowledge, possession, and inherence. 3DS2 became the practical rail for delivering SCA on card payments, and its frictionless flow became the mechanism through which issuers apply or accept exemptions. For deeper background on the fraud-scoring systems that feed these decisions, see our companion piece on real-time fraud detection architecture. EMVCo publishes the full specification set publicly on the EMVCo 3-D Secure page.
As of 2026 the specification family has matured through several versions. Versions 2.1 and 2.2 remain widely deployed in the field, while version 2.3 — most recently maintained as v2.3.1.1 — is the current specification and the one active certification testing targets. Version 2.2 introduced explicit support for exemptions, decoupled authentication, and whitelisting; version 2.3 refined multi-channel and device flexibility and sharpened the issuer’s ability to identify fraud quickly. Understanding which version a given ecosystem runs on matters, because feature availability varies across them.
The 3-D Secure 2 Reference Architecture
EMV 3-D Secure 2 is organized into three domains that split responsibility across the merchant side, the payment network, and the card issuer. The Acquirer Domain contains the merchant and its 3DS Server. The Interoperability Domain is owned by the card schemes and centers on the Directory Server. The Issuer Domain holds the Access Control Server, or ACS, which makes the authentication decision on behalf of the bank that issued the card. Each domain owns distinct data and trust boundaries, and messages cross those boundaries in a strict, defined order.

Figure 1: The three-domain model of EMV 3-D Secure 2. The Acquirer Domain (merchant and 3DS Server) initiates authentication and sends the AReq. The Interoperability Domain (Directory Server, operated by the card scheme) routes messages by card number range to the correct issuer. The Issuer Domain (ACS backed by the issuer risk engine) evaluates risk and returns the ARes. Response messages travel back along the same path, so no domain talks directly to a component it does not trust.
The three-domain split is not cosmetic. It exists so that no single party holds all the sensitive data or all the decision authority. The merchant never sees the issuer’s risk models. The issuer never has to trust the merchant’s servers directly, because everything is mediated by the scheme’s Directory Server. This separation is what makes cross-issuer, cross-scheme interoperability possible at all. It also explains why debugging a 3DS problem often means reasoning about which domain owns the component that misbehaved.
The Acquirer Domain: Merchant and 3DS Server
The Acquirer Domain is where authentication begins. The merchant’s checkout collects the order and hands control to the 3DS Server, a component operated by the merchant, its payment service provider, or a specialist gateway. The 3DS Server is the merchant-side engine of the protocol. It assembles the authentication request, gathers device and browser data, formats everything to the EMVCo message schema, and manages the conversation with the Directory Server.
The 3DS Server carries a lot of responsibility. It must collect the correct data elements for the channel in use, sign and encrypt sensitive fields, handle protocol version negotiation, and surface the challenge interface when one is required. In browser flows it coordinates the 3DS Method, a hidden step that fingerprints the device before the main request. Because the quality of the data the 3DS Server sends directly shapes the frictionless rate, this component is where a great deal of tuning effort lands.
Importantly, the 3DS Server does not decide whether a transaction is authenticated. It requests authentication and relays the result. Keeping that distinction clear avoids a common mental-model error: the merchant side gathers evidence and presents it, but the verdict is rendered elsewhere.
The Interoperability Domain: Directory Server
The Directory Server sits at the center of the model and is operated by the card scheme, such as Visa, Mastercard, American Express, or others. Its primary job is routing. When the 3DS Server sends an authentication request, the Directory Server inspects the card number range, identifies which issuer’s ACS should handle it, and forwards the message. It also performs the reverse trip, carrying responses and results back toward the merchant.
The Directory Server does more than switchboard duty. It handles version discovery, telling the 3DS Server which protocol versions a given card range supports through a preparation exchange. It enforces scheme-level rules, validates message structure, and manages the trust relationships and certificates that let the two ends communicate without knowing each other directly. In effect it is the neutral broker that makes the whole federation function.
Because the Directory Server is scheme-operated, its availability and performance are outside the direct control of both merchant and issuer. That is a design fact worth internalizing: a slow or degraded Directory Server affects everyone routed through it, and there is no merchant-side fix for a scheme-side outage beyond graceful fallback handling.
The Issuer Domain: Access Control Server
The Access Control Server is the decision-maker. Operated by or on behalf of the card issuer, the ACS receives the authentication request forwarded by the Directory Server, evaluates the risk it represents, and determines the outcome. It can approve authentication silently, demand an interactive challenge, or decline. When a challenge is needed, the ACS is the component that generates and validates it, whether that is a one-time passcode, a push notification to the bank’s app, or a biometric prompt.
The ACS is backed by the issuer’s risk engine, which is where the real intelligence lives. This engine consumes the rich data payload, compares it against the cardholder’s history and known devices, and produces a score that drives the decision. The quality of a given issuer’s ACS and risk models is one of the largest sources of variance in real-world 3DS2 outcomes, a point we return to later. Two cards from different banks running through identical merchant infrastructure can experience very different challenge rates purely because their issuers score risk differently.
Browser Integration Versus App Integration
The protocol supports two client-side integration models, and they collect device data differently. The browser model uses the 3DS Method, a hidden step in which the ACS supplies a URL that the 3DS Server loads in a concealed iframe. That page runs a short JavaScript routine that captures browser, operating system, IP, screen, and timezone signals and posts them to the ACS before the AReq is even sent. The ACS thus has a device profile ready when the authentication request arrives, which materially raises the odds of a frictionless outcome.
The app model uses the 3DS SDK, a library embedded in the merchant’s mobile application. Rather than fingerprinting through a browser, the SDK gathers equivalent device data natively — device identifiers, operating system details, and app-level signals — and hands it to the 3DS Server for inclusion in the AReq. When a challenge is required, the SDK renders it natively inside the app rather than in a web view, which produces a smoother experience than a browser redirect and is one of the clearest improvements over the original protocol.
Both models converge on the same messages once the AReq is formed, but the integration effort differs sharply. Browser flows are largely a matter of correctly wiring the 3DS Method and the challenge iframe. App flows require embedding and certifying the SDK per card scheme, handling native challenge UI, and managing SDK version updates across app releases. This asymmetry is why mobile 3DS2 integration is often the more expensive engineering track despite delivering the better user experience.
Deeper Analysis: Message Flows and Risk Decisioning
The protocol defines nine message types, but four carry most of the weight in everyday flows: AReq, ARes, CReq, and CRes, supported by RReq and RRes for results. The frictionless path uses only the authentication pair. The challenge path adds the challenge pair and the results pair. Understanding which messages appear when is the fastest way to read a 3DS trace and know what happened.
The Frictionless Flow
The frictionless flow is the common case, and its whole point is that the cardholder sees nothing beyond a brief spinner. It begins after the 3DS Server has collected device and browser data. The server packages that data into an Authentication Request, or AReq, and sends it to the Directory Server, which routes it to the correct ACS by card number range.

Figure 2: The frictionless authentication flow. The 3DS Server sends an AReq carrying 100-plus data elements through the Directory Server to the ACS. The ACS scores the transaction as low risk and returns an ARes with transaction status Y, including the authentication values (CAVV and ECI) the merchant needs. No RReq is generated because there was no challenge. The merchant then submits the transaction for authorization through the normal payment rails.
The ACS evaluates the AReq against the issuer’s risk engine. If the transaction is judged low risk, the ACS returns an Authentication Response, or ARes, with a transaction status of Y, meaning authenticated. The ARes carries the cryptographic proof the merchant needs downstream: a Cardholder Authentication Verification Value (CAVV) and an Electronic Commerce Indicator (ECI). Armed with these, the merchant proceeds to authorization through the usual card rails, and the liability position shifts. No RReq message is generated in a purely frictionless transaction, because a results message only accompanies a challenge outcome. Industry data commonly cites frictionless rates above 90 percent when the flow is well configured with rich data.
The Challenge Flow
When the ACS cannot approve silently, it steps up to a challenge. In this case the ARes comes back with a transaction status of C, signaling that further cardholder interaction is required. The 3DS Server then opens a challenge conversation using the Challenge Request, or CReq, and Challenge Response, or CRes, messages.

Figure 3: The challenge authentication flow. When the ARes returns status C, the 3DS Server renders the challenge interface. The cardholder submits a factor such as a one-time passcode or a biometric, carried in the CReq, and the ACS responds with the CRes. The ACS then sends a Results Request (RReq) to the 3DS Server through the Directory Server, and the server acknowledges with a Results Response (RRes). The final transaction status determines whether authorization proceeds.
The challenge itself runs between the cardholder and the ACS, mediated by the 3DS Server’s user interface. The cardholder submits their factor — commonly a one-time passcode sent by SMS, an approval in the banking app, or a biometric check — and this travels in the CReq. The ACS validates the factor and returns the CRes. Crucially, the CRes signals the outcome of the interaction but is not the authoritative record of the result on its own.
The authoritative result arrives through the results pair. After the challenge completes, the ACS sends a Results Request, or RReq, back through the Directory Server to the 3DS Server, conveying the final authentication outcome. The 3DS Server acknowledges receipt with a Results Response, or RRes. Only after reading the final transaction status — Y for authenticated, N for not authenticated — does the merchant know whether to proceed to authorization. This separation between the interactive CReq/CRes exchange and the definitive RReq/RRes result is a frequent source of integration bugs when developers treat the CRes as final.
Message Reference
| Message | Full name | Direction | Purpose |
|---|---|---|---|
| AReq | Authentication Request | 3DS Server to ACS via DS | Initiates authentication with the full data payload |
| ARes | Authentication Response | ACS to 3DS Server via DS | Returns the decision: authenticated, challenge required, or declined |
| CReq | Challenge Request | 3DS Server to ACS | Carries the cardholder’s challenge interaction |
| CRes | Challenge Response | ACS to 3DS Server | Signals the result of the challenge interaction |
| RReq | Results Request | ACS to 3DS Server via DS | Communicates the definitive authentication result |
| RRes | Results Response | 3DS Server to ACS via DS | Acknowledges receipt of the results |
Beyond these six, the protocol also defines PReq and PRes for version and capability discovery, and Erro for error reporting. They matter operationally but rarely appear in a description of the core happy path.
How the ACS Scores Risk
Risk-based authentication (RBA) is the engine behind the frictionless rate. The ACS ingests the AReq payload and asks a single question: does this transaction look like the legitimate cardholder doing something normal? To answer it, the risk engine weighs signals across several categories, drawing on the 100-plus data elements the protocol can carry.

Figure 4: The ACS risk-based decision. The engine ingests the AReq data — device identity, transaction history, amount, and behavioral signals — and produces a risk score. Low-risk transactions flow frictionless with an ARes status of Y. Medium-risk transactions are stepped up to a challenge (status C). High-risk transactions are declined outright (status N). Challenge outcomes then split into authenticated or not authenticated based on the cardholder’s response.
Device intelligence is a major input. In browser flows, the 3DS Method runs a JavaScript fingerprinting step before the AReq, letting the ACS collect browser, operating system, IP, and related signals to see whether the device matches the cardholder’s known profile. In app flows, the 3DS SDK gathers equivalent device-level data natively. Skipping the 3DS Method in browser flows is well documented to drop frictionless rates by a large margin, because the ACS loses its clearest device signal.
Transaction history and context supply the rest. The engine considers the amount, the merchant category, the frequency and pattern of recent activity, whether the shipping and billing details align with past behavior, and prior authentication outcomes for that cardholder. It also factors in whether the merchant has been whitelisted by the cardholder as trusted. Device fingerprinting alone can uniquely identify a large share of users, and combined with historical context it lets a well-configured issuer approve the overwhelming majority of good transactions without friction while concentrating challenges on genuine anomalies.
It helps to group the data elements into the categories the risk engine effectively reasons over. Device and connection signals establish identity continuity: is this the same phone or browser, on the same network, that the cardholder used last time? Cardholder account signals, such as the age of the account relationship and the number of prior successful transactions, establish a baseline of trust. Transaction signals — amount, currency, merchant category, and delivery timeframe — establish whether this purchase fits the pattern. Merchant risk indicators, which the 3DS Server can pass, let the merchant volunteer context such as whether the account was recently changed or whether reorder patterns look normal.
The engine combines these into a single decision, but the interesting behavior is at the margins. A transaction that is individually plausible can still be challenged if it breaks a velocity rule, and a transaction that looks slightly unusual can still pass frictionlessly if the device and account history are strong. This is why sending optional data elements matters so much: each additional credible signal gives the ACS a reason to resolve an ambiguous case in the cardholder’s favor rather than defaulting to a challenge.
SCA Exemptions
Under PSD2, Strong Customer Authentication is the default, but the regulation carves out exemptions that let low-risk transactions skip the interactive step. 3DS2 is the channel through which these exemptions are requested and granted, and the frictionless flow is often the practical expression of an exemption being applied. The trade-off is liability: exemptions can move fraud liability back toward the acquirer or payment service provider, whereas a completed SCA typically shifts liability to the issuer.
| Exemption | Typical trigger | Liability note |
|---|---|---|
| Transaction Risk Analysis (TRA) | Low real-time fraud risk under a fraud-rate threshold | Liability generally rests with the party claiming the exemption |
| Low-value | Amount under roughly €30, with cumulative counters | Liability generally rests with the acquirer or PSP |
| Trusted beneficiary / whitelisting | Cardholder marks the merchant as trusted at the issuer | Liability considerations depend on how the exemption is applied |
| Recurring / MIT | Fixed-amount recurring or merchant-initiated transactions | Handled outside the interactive SCA path after initial setup |
| Secure corporate payment | Dedicated secure B2B payment processes | Scoped to qualifying corporate flows |
The interplay between exemptions and the frictionless flow is where a lot of optimization happens. An acquirer can request a TRA exemption to keep a transaction frictionless, and the issuer’s ACS can accept it, override it with a challenge, or decline. Sanctions and screening controls often run alongside these decisions in the broader payment stack; our note on sanctions screening and watchlist filtering architecture covers that adjacent layer. The point for architecture is that the frictionless outcome you observe is the product of a negotiation between acquirer requests and issuer decisions, not a single unilateral call.
Trade-offs, Gotchas, and What Goes Wrong
The most consequential failure mode is the false decline: a legitimate transaction that gets challenged and abandoned, or rejected outright. False declines are frequently more costly than fraud itself in aggregate, because they hit high-intent customers and erode lifetime value. A challenge is not free even when the cardholder passes it, since every extra step sheds some conversion. Treating the frictionless rate and the challenge success rate as first-class metrics is the practical response.
Issuer and ACS quality variance is the gotcha nobody controls from the merchant side. Two issuers receiving identical data can produce very different challenge rates because their risk models, thresholds, and ACS implementations differ. Some issuers challenge conservatively; others lean frictionless. Because the merchant cannot change an issuer’s models, the only lever is sending the richest, cleanest data possible so that even a cautious ACS has enough signal to approve silently.
Data quality is garbage-in, garbage-out made literal. If the 3DS Server omits device data, sends malformed fields, or skips the 3DS Method, the ACS falls back to caution and challenges more. Latency is another real cost: the AReq/ARes round trip crosses three domains and an external Directory Server, and the 3DS Method and challenge steps add their own time. Each hop is a place where slowness or timeouts convert good transactions into failures. Finally, version fragmentation across 2.1, 2.2, and 2.3 means feature availability differs by card range, and SDK integration on mobile remains genuinely fiddly, with per-scheme certification and UI edge cases that consume engineering time.
There is also a subtler architectural gotcha in how results are handled. Because the definitive outcome arrives in the RReq rather than the CRes, and because the CReq/CRes exchange and the RReq/RRes exchange can complete on slightly different timelines, an integration that races ahead on the CRes can authorize against an unconfirmed result. Under load, timeouts on any single hop can also leave a transaction in an ambiguous state where the merchant is unsure whether authentication succeeded. Robust deployments treat this as a distributed-systems problem: they reconcile against the authoritative result, build idempotent retry handling, and define explicit behavior for the ambiguous middle rather than assuming the happy path.
Challenge presentation is its own source of friction. A one-time passcode that never arrives, an issuer app that is not installed, or a challenge screen that renders poorly on a small viewport all convert a technically successful authentication design into a real-world abandonment. These are not protocol faults; they are experience faults that live at the seam between the ACS and the cardholder, and they are largely outside merchant control, which again pushes the practical emphasis back onto maximizing the frictionless rate.
Practical Recommendations
The following are engineering observations about what tends to correlate with healthy 3DS2 deployments, framed as system-design guidance rather than prescriptive advice.
Send rich, clean data. The single largest determinant of frictionless rate under your control is the completeness and accuracy of the AReq payload. Run the 3DS Method in browser flows, populate optional data elements such as prior transaction references and cardholder account information, and validate fields before they leave the 3DS Server.
Treat exemptions and challenges as a portfolio to be measured, not defaults to accept. Tune exemption requests against observed fraud rates, and monitor challenge rates and challenge abandonment by issuer, card range, and transaction band so you can see where friction concentrates. Token-based flows interact closely with this layer; our write-up on card tokenization and PCI DSS vault architecture covers the credential side that pairs with authentication.
A working checklist for a healthy deployment:
- Confirm the 3DS Method fires and completes in browser flows before the AReq.
- Populate optional data elements, not just the required minimum.
- Instrument frictionless rate, challenge rate, and challenge completion by issuer.
- Handle version negotiation and gracefully fall back when a card range lags.
- Treat the RReq/RRes result as authoritative, never the CRes alone.
- Build timeout and retry handling for every cross-domain hop.
- Track false-decline signals, not just fraud and chargeback rates.
Frequently Asked Questions
What is the difference between 3DS1 and 3DS2?
3DS1 relied on static passwords and a redirect-heavy pop-up with almost no transaction data, producing high abandonment and weak fraud signal. EMV 3-D Secure 2 carries more than 100 data elements, enabling silent risk-based authentication for most transactions, and it supports modern factors such as one-time passcodes and biometrics. It also adds native mobile app support through a dedicated SDK. The practical effect is that the majority of legitimate transactions complete frictionlessly, with challenges reserved for anomalies, whereas 3DS1 tended to challenge nearly everyone.
What is the Access Control Server (ACS)?
The Access Control Server is the issuer-domain component that decides the authentication outcome. Operated by or on behalf of the card issuer, it receives the authentication request routed by the Directory Server, scores the transaction against the issuer’s risk engine, and returns a decision: authenticate silently, require a challenge, or decline. When a challenge is needed, the ACS generates and validates it. The quality of a given issuer’s ACS and its risk models is one of the biggest sources of variance in real-world challenge rates across otherwise identical merchant setups.
How does the frictionless authentication flow work?
In the frictionless flow the 3DS Server collects device and browser data, packages it into an AReq, and sends it through the Directory Server to the ACS. The ACS scores the transaction, and if it is low risk, returns an ARes with transaction status Y plus the CAVV and ECI values the merchant needs. The cardholder sees nothing beyond a brief loading moment, and the merchant proceeds to authorization. No challenge messages and no RReq are generated. Well-configured deployments commonly report frictionless rates above 90 percent.
When does a transaction get challenged?
A challenge happens when the ACS cannot approve silently, signaled by an ARes with transaction status C. Triggers include weak or missing device data, an unfamiliar device or location, an unusually large amount, patterns that deviate from the cardholder’s history, or a regulatory requirement for Strong Customer Authentication where no exemption applies. The 3DS Server then renders a challenge, the cardholder submits a factor via CReq, and the ACS returns the outcome, finalized through the RReq/RRes results exchange.
How does 3DS2 relate to PSD2 SCA?
PSD2 requires Strong Customer Authentication on many electronic payments, verifying the cardholder with at least two independent factors. EMV 3-D Secure 2 is the practical rail for delivering SCA on card transactions, and its frictionless flow is how issuers apply or accept exemptions such as Transaction Risk Analysis and low-value payments. Completing SCA generally shifts fraud liability to the issuer, while claiming certain exemptions can keep liability with the acquirer or PSP. The architecture therefore reflects a negotiation between merchant-side exemption requests and issuer-side decisions.
What is the current version of EMV 3DS in 2026?
Version 2.3 is the current specification, most recently maintained as v2.3.1.1, and it is the version active certification testing targets. Versions 2.1 and 2.2 remain widely deployed across card ranges, so feature availability varies in practice. Version 2.2 introduced explicit support for exemptions, decoupled authentication, and whitelisting, while 2.3 refined multi-channel flexibility and sharpened fraud identification. Because support differs by card range, robust deployments negotiate the protocol version per transaction and fall back gracefully when a range lags.
Further Reading
- Card tokenization and PCI DSS vault architecture — the credential-protection layer that pairs with authentication.
- Real-time fraud detection architecture — the scoring systems that inform risk decisions.
- Sanctions screening and watchlist filtering architecture — the adjacent compliance-control layer in the payment stack.
- EMVCo EMV 3-D Secure specifications and documentation — the authoritative source for the protocol.
- Stripe guide to 3D Secure 2 — a vendor-neutral overview of the flows and integration.
By Riju — about
