# Way4 Digital Wallet vs MercuryPay Wallet Platform — Feature Gap Analysis

**Date:** 2026-07-05
**Benchmark Product:** OpenWay Way4 Digital Wallet ([openwaygroup.com/way4-wallet-solution](https://openwaygroup.com/way4-wallet-solution))
**Our Platform:** MercuryPay Wallet (Elixir/Phoenix umbrella, 30 apps under `apps/`)
**Status Key:** ✅ AVAILABLE = comparable capability exists | 🟡 PARTIAL = foundation exists, gaps remain | ❌ GAP = not implemented | ➖ N/A = out of scope by design

---

## 1. Executive Summary

| # | Capability Area | Way4 Offers | Our Status | Notes |
|---|---|---|---|---|
| 1 | Wallet Core & Onboarding | Instant onboarding, e-money accounts, lifecycle mgmt | 🟡 PARTIAL | Onboarding + account lifecycle exist; instant/branchless KYC gaps |
| 2 | Multi-Currency & FX | Real-time external FX rates, personalized rates, fixed-rate locking | 🟡 PARTIAL | Multi-currency sub-wallets done; no live FX rate feed |
| 3 | Card Issuing & Management | B2C/B2B issuing, instant virtual cards, personalization, fleet cards | 🟡 PARTIAL | Prepaid + linked cards; no personalization bureau or fleet |
| 4 | Tokenization & X-Pays | Apple/Google/Samsung Pay, Click to Pay, 3-D Secure, token lifecycle | ❌ GAP | No network tokenization or 3DS |
| 5 | Payments & Transfers | P2P/P2M, QR, IBAN/SEPA instant, cross-border, recurring, bill pay | 🟡 PARTIAL | P2P, QR, virtual IBAN routing done; no SEPA/cross-border/recurring |
| 6 | Funding & Cash-In/Cash-Out | Multi-rail top-up, agent network CICO | 🟡 PARTIAL | Branch cash-in/out + AANI/AFEX adapters; no agent network |
| 7 | Credit & BNPL | BNPL, SNBL, installments, pre-approved loans, credit rules | 🟡 PARTIAL | Loan engine (EMI/amortization); no BNPL/SNBL/installments |
| 8 | Merchant & Acquiring | Merchant onboarding, POS switching, e-comm gateway, merchant wallet | 🟡 PARTIAL | Merchant portal + QR + settlement; no POS/acquiring switch |
| 9 | Loyalty & Engagement | Points, coupons, referrals, personalized offers | 🟡 PARTIAL | Points + offers + redemption; no coupons/referrals |
| 10 | Risk, Fraud & Compliance | Real-time fraud, multi-level KYC/AML, chargebacks, disputes, SCA | 🟡 PARTIAL | Strong KYC/AML/SAR/risk scoring; no real-time txn fraud scoring |
| 11 | Open Banking & Integrations | Open banking, scheme integration (Visa/MC), digital currencies, host-to-host | ❌ GAP | OpenFinance docs staged; no scheme or A2A rails live |
| 12 | Operations & Administration | Product/tariff mgmt, reconciliation, portals, datamart, health monitoring | ✅ AVAILABLE | Admin console, policy engine, reconciliation, SLO/health |
| 13 | Performance & Deployment | 5,500 TPS, in-house/cloud/SaaS, PCI DSS | 🟡 PARTIAL | ETS+write-through architecture; no published TPS/PCI cert |
| 14 | Notifications & Channels | SMS banking, push authorization, omnichannel | 🟡 PARTIAL | Notification delivery engine; no SMS banking or push auth |

**Overall: 1 AVAILABLE | 11 PARTIAL | 2 GAP**

---

## 2. Detailed Gap Tables

### 2.1 Wallet Core & Onboarding

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| Customer onboarding in minutes with regulatory compliance | 🟡 PARTIAL | 5-step `OnboardingLive`, KYC document upload | No instant/automated ID verification; KYC decisioning is manual |
| Instant KYC processing | 🟡 PARTIAL | Local KYC state machine (`wallet_compliance` KycCase, 5 states); AFEX profile sync ingestion | No external eKYC provider integration (ID scan, liveness) |
| Multi-level KYC by geography / customer type | 🟡 PARTIAL | Tier concept in limits policies | No tiered KYC (Light vs Full) driving product access |
| E-money account management, wallet lifecycle | ✅ AVAILABLE | `wallet_accounts` lifecycle, DB-backed wallet catalog (product types, sub-wallet types) | Lifecycle states simpler than Pending/Suspended/Closed spectrum |
| Highly customizable wallet products (95% parameter-configurable) | 🟡 PARTIAL | Admin-managed wallet catalog + AdminConfig policy split | Config coverage narrower; many behaviors still code-defined |
| Financial-inclusion / underbanked wallet | ❌ GAP | — | No light-touch onboarding tier for unbanked segments |
| In-app document signing | ❌ GAP | — | No e-signature capability |

### 2.2 Multi-Currency & FX

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| Multi-currency wallets | ✅ AVAILABLE | Multi-wallet program (Phases 3–7): sub-wallets per currency, 12 seeded platform currencies | — |
| Real-time external exchange rates | ❌ GAP | Static currency config | Integrate FX rate provider feed |
| Personalized / preferential FX rates | ❌ GAP | — | Requires rate engine + customer segmentation |
| Fixed FX rate locking for transfers | ❌ GAP | — | Requires quote-and-lock workflow |
| Multi-currency accounting | ✅ AVAILABLE | Double-entry `wallet_ledger`, `TransferBetweenSubWallets` with idempotency | — |

### 2.3 Card Issuing & Management

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| B2C prepaid card issuing | 🟡 PARTIAL | `wallet_prepaid` (Kuwait program, in progress), `wallet_cards` Card domain, top-up commands | Program at ~40%→100% roadmap; issuer-processor integration pending |
| B2B / corporate card issuing | ❌ GAP | — | No corporate card product |
| Instant digital (virtual) card issuance | 🟡 PARTIAL | Card creation commands exist | No instant virtual card + PAN generation via issuer |
| Card data preparation & personalization | ❌ GAP | — | No perso-bureau file generation (typically outsourced) |
| Fleet cards | ➖ N/A | — | Out of scope for wallet product |
| External card linking | 🟡 PARTIAL | `LinkedCardStore` + `LinkExternalCard` | No tokenization/BIN validation with card networks |
| Third-party bankcard balance display | ❌ GAP | — | Needs open-banking / issuer API integration |
| Card usage transaction tracking | ✅ AVAILABLE | `CardUsageTransaction` + store + persistence (new) | — |
| Card PIN management | ✅ AVAILABLE | PIN reset/recover with OTP, lockout + telemetry (Phase 11 Sprint B) | — |

### 2.4 Tokenization & X-Pays

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| Apple Pay / Google Pay / Samsung Pay provisioning | ❌ GAP | — | Requires TSP integration (Mastercard MDES / Visa VTS) |
| Visa & Mastercard Click to Pay | ❌ GAP | — | — |
| Token lifecycle management (suspend/resume/delete) | ❌ GAP | — | — |
| 3-D Secure / SCA on card payments | ❌ GAP | MFA exists for login/actions, not card-rail 3DS | Needs ACS or 3DS-server integration |
| Device binding for tokenization | 🟡 PARTIAL | Trusted device registry in `wallet_auth` | Device store exists but not tied to token provisioning |

### 2.5 Payments & Transfers

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| P2P transfers (wallet-to-wallet) | ✅ AVAILABLE | `wallet_transfers` state machine, journey coordinator | — |
| P2M payments | 🟡 PARTIAL | Merchant QR generation (merchant portal), merchant_id JWT claim | Payment acceptance flow end-to-end not complete |
| QR code payments (static/dynamic/one-time) | 🟡 PARTIAL | Merchant QR generation shipped | No dynamic amount-bound or one-time QR; no scan-to-pay customer flow |
| Request money (P2P request/approve) | ❌ GAP | PaymentRequest schema exists in `wallet_database` | Initiation/approval workflow not built |
| IBAN transfers / inbound credits | ✅ AVAILABLE | Virtual IBAN issuance (Provision/Assign/Release/Deactivate) + inbound IBAN routing | — |
| SEPA instant / instant payment schemes | ❌ GAP | — | No scheme connectivity |
| Cross-border payments with instant settlement | ❌ GAP | — | No remittance corridor or FX settlement rail |
| Scheduled & recurring payments | ❌ GAP | — | No scheduler for standing orders / auto-debit |
| Bill payments | ❌ GAP | — | No biller aggregator integration |
| Transaction history CSV export | 🟡 PARTIAL | Transaction inquiry LiveViews; `wallet_reporting` app | Customer-facing CSV export not confirmed |
| Transaction limits visible to users | ✅ AVAILABLE | `LimitsLive` customer settings view + `wallet_limits_fees` policy engine | — |

### 2.6 Funding & Cash-In/Cash-Out

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| Multi-rail wallet top-up | 🟡 PARTIAL | AANI + AFEX funding adapters, Stripe sandbox adapter, funding adapter contract | Lean/Checkout rails absent; production PSP not wired |
| Cash-in via branch / agent | ✅ AVAILABLE | `ProcessCashIn` orchestration (DI command) | Branch only; no third-party agent network |
| Cash-out via branch / agent | ✅ AVAILABLE | Branch cash-out flow + reject-with-reason, detail drawer | Branch only |
| Agent network top-up & cash-out (CICO) | ❌ GAP | — | No agent onboarding, float management, or agent commissions |
| WPS salary credit | 🟡 PARTIAL | `wallet_wps` app scaffolded | End-to-end WPS file processing to wallet credit unverified |
| Auto-debit / balance-triggered reload | ❌ GAP | — | No scheduled or threshold-based auto top-up |

### 2.7 Credit, BNPL & Lending

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| Loan origination & servicing | ✅ AVAILABLE | `wallet_loans`: EMI/amortization calculator, lifecycle commands, admin UI actions (L5), ledger DI (L6) | L4/L7 sprints pending |
| Pre-approved loans in-app | ❌ GAP | — | No pre-qualification / offer engine |
| BNPL (Buy Now Pay Later) | ❌ GAP | — | No merchant checkout financing |
| SNBL (Save Now Buy Later) | ❌ GAP | — | No goal-based savings product |
| Installment plans (post-purchase conversion) | ❌ GAP | — | No transaction-to-installment conversion |
| Credit rules configuration | 🟡 PARTIAL | Loan product config + policy engine | No credit scoring / bureau integration |
| Insurance products (adjacent VAS) | ✅ AVAILABLE | `wallet_insurance`: products + policies + commands | Way4 does not bundle this — we exceed here |

### 2.8 Merchant & Acquiring Services

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| Merchant onboarding workflows | 🟡 PARTIAL | `wallet_merchant` app, merchant navigation, KYB in compliance | Full merchant underwriting workflow incomplete |
| Merchant portal / service workbench | ✅ AVAILABLE | Merchant portal: dashboard, QR codes, transactions, settlements, reports, settings | — |
| Merchant wallet with refund workflow | 🟡 PARTIAL | Refund/return flows partial in `wallet_transfers`/`wallet_disputes` | Dedicated merchant refund workflow not complete |
| Merchant payouts to external accounts | ❌ GAP | Settlement batches exist | No external payout rail with approval workflow |
| POS terminal management | ❌ GAP | — | No terminal estate management |
| Omnichannel acquiring / payment switch | ❌ GAP | — | No POS switching or acquiring host |
| E-commerce gateway | ❌ GAP | — | No hosted checkout / gateway API |
| Alipay / mVisa / UnionPay acceptance | ➖ N/A | — | Region-specific; not in current market scope |

### 2.9 Loyalty & Engagement

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| Bonus points earn & burn | ✅ AVAILABLE | `wallet_rewards`: PointsBalance, RewardTransaction, RedeemPoints | — |
| Offer management | ✅ AVAILABLE | Offer store + admin management | — |
| Couponing | ❌ GAP | — | No coupon issuance/redemption |
| Referral programs | ❌ GAP | — | No referral tracking or incentives |
| Personalized data-driven offers | ❌ GAP | — | No analytics-driven targeting |
| Personal finance analytics (PFM) | ❌ GAP | — | No spend categorization / insights |

### 2.10 Risk, Fraud & Compliance

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| Real-time transaction fraud scoring & alerts | 🟡 PARTIAL | `wallet_risk`: deterministic 0–100 scoring engine, signals, case escalation | Scoring not in-line on transaction authorization path |
| AML compliance automation | ✅ AVAILABLE | AmlAlert lifecycle, SarRecord with mandatory evidence, control catalog | — |
| KYC case management | ✅ AVAILABLE | KycCase 5-state machine + store + admin LiveView | — |
| Automated chargeback workflows | 🟡 PARTIAL | `wallet_disputes` app, dispute/refund E2E validation (Phase 13) | No scheme chargeback (Visa/MC reason codes) — depends on acquiring gap |
| Dispute management | ✅ AVAILABLE | Dispute lifecycle + admin tooling | — |
| Strong Customer Authentication (SCA) | 🟡 PARTIAL | MFA policy, OTP, step-up actions, PIN + lockout | Step-up not fully wired into customer payment UX |
| Geo-fencing / location controls | ❌ GAP | — | No location-based rules |
| Data governance / retention | ✅ AVAILABLE | DataGovernance registry, purge_before_date, 4 controls | Exceeds typical wallet baseline |

### 2.11 Open Banking & Integration Architecture

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| Open banking compatibility (AISP/PISP) | 🟡 PARTIAL | OpenFinance docs staged (`product_base_app/docs/openfinance`); REST API controllers (auth, cards, customers, transactions, prepaid) shipping | Consent, TPP, and account-info APIs not implemented |
| REST API layer for extensibility | 🟡 PARTIAL | New `/api/v1` controllers, error envelopes, API contracts app | Coverage partial vs full wallet API surface |
| Payment scheme integration (Visa/Mastercard) | ❌ GAP | — | No network connectivity (auth, clearing, settlement) |
| Core banking / host-to-host connectivity | 🟡 PARTIAL | AFEX profile sync, IBAN routing, adapter pattern in `wallet_integrations` | No generic host-to-host or ISO 8583/20022 connectors |
| Digital currency integration | ❌ GAP | — | No CBDC/stablecoin support |
| 3rd-party batch processing | 🟡 PARTIAL | Settlement batch processing | No generic inbound/outbound batch framework |
| Alternative payment methods | ❌ GAP | — | Depends on gateway/scheme gaps |

### 2.12 Operations & Administration

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| Product & tariff management | ✅ AVAILABLE | Wallet catalog admin (product types, sub-wallet types, currencies) + limits/fees policy engine + PoliciesLive | — |
| Back-office web portals | ✅ AVAILABLE | 15+ admin LiveViews: user search, txn inquiry, KYC/AML/SAR, audit, SLO, incidents, tenant config | — |
| Multi-party, multi-currency reconciliation | 🟡 PARTIAL | `wallet_settlement` reconciliation, `wallet_gl` general ledger | Real-time multi-party recon not proven at Way4 scope |
| Datamart / analytics | 🟡 PARTIAL | `wallet_reporting` app, MySQL persistence (47 tables) | No dedicated analytics warehouse or BI layer |
| Health monitoring & housekeeping | ✅ AVAILABLE | `wallet_resilience`: health checks, SLO tracking, back-pressure, incident command | — |
| Audit trail | ✅ AVAILABLE | AuditEvent standard (ADR 0007), audit_log table, admin AuditLog view | — |
| Customer service tools | 🟡 PARTIAL | Admin user detail tabs, device management, service controls | No case/ticket management or chatbot |

### 2.13 Performance, Security & Deployment

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| 5,500 TPS processing capacity | 🟡 PARTIAL | ETS in-memory stores + write-through persistence (BEAM concurrency-friendly) | No published load benchmark |
| PCI DSS compliance | ❌ GAP | No PAN storage today (reduces scope) | Certification needed before card data handling |
| Secrets / HSM management | ✅ AVAILABLE | `wallet_production`: Azure Vault/HSM/Env adapters, SIEM forwarder | — |
| DR & readiness gating | ✅ AVAILABLE | DR checkpoints (5 scenarios, RTO/RPO tiers), ReadinessGate | Exceeds typical vendor baseline |
| In-house / cloud / SaaS deployment models | 🟡 PARTIAL | Single-tenant deployable umbrella | No multi-tenant SaaS packaging |

### 2.14 Notifications & Channels

| Way4 Feature | Our Status | Our Implementation | Gap / Action |
|---|---|---|---|
| Multi-channel notifications | 🟡 PARTIAL | `wallet_notifications` delivery + per-channel preferences (email/SMS/push settings UI) | Provider integrations (SMS gateway, FCM/APNs) not wired |
| SMS banking (balance/mini-statement) | ❌ GAP | — | No inbound SMS command channel |
| In-app push payment authorization | ❌ GAP | — | No push-to-approve for e-comm payments |
| Omnichannel (mobile, web, POS, API) | 🟡 PARTIAL | Web (LiveView) + REST API | No native mobile SDK/app; no POS channel |

---

## 3. Priority Gap Themes (Recommended Sequencing)

| Priority | Theme | Key Gaps | Rationale |
|---|---|---|---|
| P0 | Card-rail readiness | Network tokenization, 3DS/SCA on payments, scheme integration, PCI DSS | Blocks Apple/Google Pay and any real card issuing at scale |
| P0 | Payment completeness | Request money, scheduled/recurring payments, customer scan-to-pay QR | Table-stakes wallet UX Way4 ships out of the box |
| P1 | FX & cross-border | Live FX rates, rate locking, cross-border rails | Differentiator for GCC remittance corridors |
| P1 | Credit expansion | BNPL, installments, pre-approved loans | Monetization; loan engine foundation already exists |
| P2 | Agent network CICO | Agent onboarding, float, commissions | Financial-inclusion reach beyond branches |
| P2 | Engagement | Coupons, referrals, PFM analytics, personalized offers | Retention; rewards foundation already exists |
| P3 | Acquiring stack | POS switch, e-comm gateway, merchant payouts | Large build; consider partner gateway instead |

---

## 4. Where We Exceed Way4's Public Feature Set

| Area | Our Capability |
|---|---|
| Insurance VAS | Full insurance product + policy domain (`wallet_insurance`) |
| Operational resilience | SLO tracking, incident command, back-pressure policies, DR rehearsal with readiness gate |
| Data governance | Retention registry, purge controls, evidence export packages |
| Compliance exceptions | Exception/waiver governance workflow with expiry |

---

## Sources

- [Way4 Digital Wallet — product page](https://openwaygroup.com/way4-wallet-solution)
- [Way4 Release News — Digital Wallet](https://openwaygroup.com/way4-release-news-digital-wallet)
- [Way4 Digital Wallet — Open Banking design](https://openwaygroup.com/new-blog/2024/4/9/way4-digital-wallet-is-designed-to-fully-embrace-open-banking)
- [Way4 platform overview](https://openwaygroup.com/way4-payment-platform)
