• Building a payment wallet and struggling with the KYC, card programme, and compliance architecture decisions that off-the-shelf solutions don't cover?

  • Existing wallet platform limiting your ability to expand into new currencies, payment methods, or product features?

Digital Wallet App Development

Custom digital wallet apps for fintech companies and enterprises building payment products -- mobile payment wallets, multi-currency wallets, prepaid card platforms, and crypto wallets.

A digital wallet is more than a mobile UI over a payment gateway. It's a financial product with KYC, transaction security, card management, and regulatory compliance requirements built into the product architecture.

  • Mobile payment wallets (iOS and Android) with send, receive, and pay capabilities

  • Multi-currency wallets with real-time FX and cross-border payment support

  • Prepaid card programmes with card issuance, top-up, and transaction management

  • KYC/AML onboarding and PCI DSS compliance built in from architecture stage

Digital wallet app development covers mobile payment wallets for iOS and Android, multi-currency wallets with FX, prepaid card platforms with card programme management, crypto and multi-asset wallets, and B2B payment wallets -- with KYC/AML onboarding, PCI DSS compliance considerations, and payment gateway integration built in from the architecture stage. RaftLabs builds custom digital wallet apps for fintech companies, payment platforms, and enterprises building payment products. MVP development typically takes 12 to 16 weeks at a fixed cost.

Vodafone
Aldi
Nike
Microsoft
Heineken
Cisco
Calorgas
Energia Rewards
GE
Bank of America
T-Mobile
Valero
Techstars
East Ventures
Products shipped
100+
Compliance-aware builds
PCI DSS
Cost delivery
Fixed
Week delivery cycles
12-16

Digital wallets that are financial products, not just payment UIs

The hard part of building a digital wallet isn't the mobile app design. It's the financial product architecture underneath: the ledger design, the card programme integration, the KYC flow, the transaction security, and the regulatory compliance your jurisdiction requires.

We build digital wallets as financial products -- with the architecture that supports the transaction volume, the compliance requirements, and the product evolution your roadmap requires.

What we build

Mobile payment wallets

iOS and Android wallet apps with the core payment capabilities: wallet funding via bank transfer (ACH pull via NACHA ACH network or real-time push via The Clearing House RTP network or FedNow), debit card top-up (via Stripe or Adyen card processing), and balance management with a ledger that records every credit and debit with idempotency keys to prevent duplicate transaction records.

Peer-to-peer payments via phone number, QR code, or wallet ID settle against the internal ledger and, where the counterparty is on the same platform, complete in real time without touching an external payment rail. For cross-platform P2P, the disbursement goes out via RTP for near-instant settlement (typically under 30 seconds) or ACH for next-business-day settlement when the recipient's bank isn't on the RTP network.

NFC contactless payments at the point of sale are handled via Apple Pay (Apple Pay JS and PassKit on iOS) and Google Pay (Google Pay API on Android), which tokenise the underlying card or wallet balance using the device's secure element so the merchant's terminal never sees the actual card number. Biometric authentication (Face ID, Touch ID, or Android BiometricPrompt) is required for payment confirmation, with cryptographic keys stored in the iOS Secure Enclave or Android StrongBox hardware security module -- not in app memory or file storage. Spending analytics powered by Plaid Transactions API categorise transactions automatically so users see their spending by category without manual tagging.

Multi-currency and cross-border wallets

Wallets that hold and transact in multiple currencies: multi-currency ledger design with separate balance buckets per currency, real-time FX rate feeds from the European Central Bank (ECB) reference rate API or Open Exchange Rates API, with your configured spread applied on top. Currency conversion can happen at the moment of transaction (live rate shown to the user before confirmation) or held at the time of deposit and converted on withdrawal -- the model depends on your FX risk management approach.

Cross-border payment rails include SWIFT for international wire transfers, SEPA Credit Transfer and SEPA Instant for euro-zone payments, and local real-time payment systems (Faster Payments in the UK, UPI in India, PIX in Brazil) where your payment provider supports them. FX spread management is configured per currency pair and per customer tier if you offer preferential rates to premium users.

Transparent FX pricing shows the mid-market rate, your spread, the resulting exchange rate, and the total amount the recipient will receive before the user confirms the transfer -- a regulatory requirement in many jurisdictions and a trust signal that reduces transfer abandonment. For BaaS-based implementations, multi-currency accounts are typically provided through partners like Synapse, Treasury Prime, or Unit, which offer FDIC-insured pass-through accounts that hold customer funds at partner banks while your platform manages the multi-currency layer above them. Compliance with cross-border payment regulations -- including FinCEN money transmission rules in the US and EMI regulations in the UK and EU -- is documented during the architecture stage.

Prepaid card programmes

Digital wallets linked to prepaid card programmes are built through card programme managers (CPMs) that hold the card network relationships and issuing bank licences. We integrate with Marqeta (preferred for flexible spend control APIs), Lithic (strong for developer-first card issuance), Stripe Issuing, Galileo, or i2c depending on your jurisdiction and programme complexity. The CPM provides BIN (Bank Identification Number) sponsorship through a partner issuing bank.

Virtual card issuance delivers card credentials -- PAN, CVV, expiry -- to the wallet app in seconds after onboarding, encrypted and stored using PCI DSS-compliant tokenisation so the actual card number is never stored in the wallet app's local storage. Physical card ordering triggers the CPM's card manufacturing and fulfillment flow. Card controls exposed in the wallet app include spend limits per transaction and per period, merchant category code (MCC) blocking to restrict spend by category, geographic restrictions, and card freeze and unfreeze.

Real-time card transaction authorisation works via a webhook from the CPM to your backend for each card-present and card-not-present transaction. Your backend applies your own spend control rules and returns an approve or decline response within the authorisation timeout window (typically 2 seconds). This is the mechanism for enforcing complex spend rules that go beyond what the CPM's native controls support. PCI DSS card data handling compliance is maintained throughout: card data is never written to your servers, all tokenisation uses the Stripe/Marqeta/Lithic token vault rather than custom encryption, and card display in the wallet app uses the CPM's secure card display SDKs.

Crypto and digital asset wallets

Wallets for digital assets split into two custody models with very different security and regulatory profiles. Non-custodial wallets generate and store private keys client-side using the iOS Secure Enclave or Android StrongBox hardware security module, with the 12 or 24-word BIP-39 seed phrase as the backup mechanism. The user has full self-sovereign control of their assets; the platform operator cannot access or freeze funds. Multi-chain support covers Ethereum and all EVM-compatible chains (Polygon, Arbitrum, Base, BNB Chain), Bitcoin via native SegWit addresses, and Solana, with token portfolio display assembled from on-chain balance queries.

Custodial wallets use institutional key management infrastructure: HSM (Hardware Security Module) custody for smaller programmes or MPC (Multi-Party Computation) custody via Fireblocks or Copper for institutional-grade key security where no single party holds a complete private key. This model is required for regulated custodial asset service providers and is operationally simpler for consumer products where users are unlikely to manage their own keys safely.

Send and receive flows include address validation against the target network's address format, transaction fee estimation from the current network gas price or fee market, and swap integration via DEX aggregator APIs (0x, 1inch) for EVM chains. Fiat on-ramp integration uses providers like MoonPay, Transak, or Ramp Network for card-to-crypto purchases without building a fiat processing relationship. Off-ramp to bank account uses the provider's off-ramp API. Regulatory compliance covers VASP registration requirements in your operating jurisdiction and FATF Travel Rule compliance for transfers above the reporting threshold (typically 1,000 USD equivalent).

KYC and AML onboarding

Wallet KYC onboarding that meets regulatory requirements without killing conversion is built around tiered verification: a light KYC tier (name, email, phone number) allows access up to a low transaction limit, while full KYC (government ID document + liveness check) is required to unlock higher limits. This tier structure means the majority of new users can transact immediately while the compliance team completes enhanced verification in the background for users who need full limits.

Document verification and identity proofing uses Jumio, Onfido, or Persona -- all three support government ID OCR, document authenticity checks, and biometric liveness detection via a selfie video or challenge-response test that defeats photo and video spoofing. The selected provider depends on your geographic coverage requirements and budget. Verification results are returned via webhook with the decision and the specific failure reason when a document is rejected.

OFAC sanctions screening and PEP (Politically Exposed Person) screening runs at onboarding against the identity data collected during KYC, and on a scheduled re-screen basis for existing users as sanctions lists update. Risk scoring assigns each user a risk tier based on their verification data, transaction patterns, and geographic location. High-risk users trigger enhanced due diligence workflows. Ongoing transaction monitoring applies velocity rules and pattern detection to flag anomalous activity for review. SAR (Suspicious Activity Report) workflow handles the regulatory filing process when a flagged transaction requires reporting to FinCEN (US) or the relevant equivalent authority in your jurisdiction.

Transaction security and fraud prevention

Wallet security beyond authentication starts with device binding: the wallet is associated with specific registered devices, and a new device login triggers a re-verification step (SMS OTP plus biometric re-enrollment) before payment capabilities are available. Private keys for biometric authentication are stored in the iOS Secure Enclave or Android StrongBox and are bound to the device hardware -- they cannot be extracted and used on a different device even if the device storage is compromised.

Transaction velocity rules enforce limits per day, per transaction, per merchant category, and per counterparty, with separate limits per KYC tier. These rules are configurable by the operations team without a code deployment. Behavioural analytics build a baseline of normal transaction patterns per user (typical transaction amounts, common counterparties, usual time-of-day) and trigger step-up verification when a transaction deviates significantly from that baseline.

Real-time fraud scoring via Sardine, Sift, or Stripe Radar evaluates each transaction and onboarding event against cross-platform fraud signals, device fingerprints, and velocity data before the transaction is authorised. Sardine is particularly well-suited to fintech wallets given its focus on financial fraud patterns including account takeover and payment fraud. Dispute management workflow handles the customer-initiated dispute process: the transaction is flagged, the details are captured, and the dispute is routed to the operations team for review and to the payment processor for chargeback initiation if warranted. The security layer is designed to keep the wallet safe for legitimate users rather than maximising friction across all transactions -- the goal is accurate fraud detection, not blanket restrictions.

Frequently asked questions

A custodial wallet is one where the wallet provider holds the private keys (for crypto) or the funds (for fiat) on behalf of the user -- the user accesses their funds through the wallet application but the provider controls the underlying assets. A non-custodial wallet is one where the user holds their own private keys, typically stored in a hardware security module on their device (iOS Secure Enclave or Android StrongBox) -- the provider cannot access the funds even if they wanted to.

For fiat wallets, the equivalent distinction is between a stored-value account (custodial, regulated as money transmission in the US and as an e-money institution in the UK and EU) and a pass-through payment account (non-custodial in practice, where funds are held at an FDIC-insured banking partner via a BaaS provider like Synapse, Treasury Prime, or Unit, and the wallet provider never takes legal ownership of the funds). The pass-through model can reduce money transmission licensing requirements in some jurisdictions because the wallet operator is not technically a money transmitter.

Most consumer wallet products are custodial -- it is operationally simpler, it allows account recovery if a user loses access, and the user experience is better because authentication is familiar (biometrics, SMS OTP) rather than requiring seed phrase management. Non-custodial wallets are the right choice for crypto products where users want self-sovereign control, or for regulated contexts where operating as a custodian triggers requirements the business is not positioned to meet.

In most US states, operating a digital wallet that holds customer funds constitutes money transmission and requires a money transmitter licence (MTL) in each state where you operate -- 49 states have separate MTL requirements, and obtaining them all takes 12 to 24 months and significant capital. Some states exempt certain business models (payroll disbursements, payments to merchants where funds pass through without a stored-value period), but the exemptions are narrow and jurisdiction-specific.

Internationally, requirements vary significantly: the UK requires FCA Electronic Money Institution (EMI) authorisation, the EU requires EMI authorisation under PSD2, and requirements in APAC, Canada, and other regions depend on the specific jurisdiction and product type.

Operating without required licences creates substantial legal and operational risk -- regulatory enforcement actions can include fines, cease-and-desist orders, and asset freezes. The most common path for fintech startups is to partner with a licensed money transmitter or BaaS provider (Synapse, Treasury Prime, Unit, Stripe Treasury, or Railsr) and operate under their licence umbrella while building towards direct licensing. This approach typically gets you to market in 3 to 6 months rather than 12 to 24. The trade-off is ongoing revenue share with the BaaS provider and some constraints on product flexibility.

We can document the architecture implications of the BaaS partnership model versus direct licensing during the discovery phase, so the platform is built to support either path without a significant rebuild when you transition.

Prepaid card integration works through card programme managers (CPMs) who hold the card network relationships, the BIN sponsorship agreements with issuing banks, and the processing infrastructure. The CPM handles card issuance (virtual and physical), real-time transaction authorisation (the auth/decline decision that happens in under 2 seconds at the point of sale), settlement, and card network compliance with Visa or Mastercard operating rules.

We integrate your wallet to the CPM's REST API. The core integration points are: card creation (issuing a virtual card number to a user after onboarding), balance management (the card balance reads from your wallet ledger via a just-in-time funding mechanism or a dedicated card balance bucket), transaction authorisation webhooks (the CPM calls your backend for each purchase and waits for your approve/decline response within the authorisation window), and dispute management (the API workflow for raising a chargeback and tracking its status).

Marqeta is the preferred choice for developer-first programmes because its just-in-time funding model and spend control API are the most flexible. Stripe Issuing is the fastest integration path for simpler programmes that don't need just-in-time funding or complex spend controls. Galileo and i2c are alternatives for programmes requiring deeper processor-level configuration or specific jurisdictions where Marqeta and Stripe Issuing don't operate. Lithic is a strong option for US programmes with a developer-oriented team that wants transparent pricing and granular control. The CPM choice is made during scoping based on your jurisdiction, transaction volume projections, and spend control requirements.

A mobile payment wallet MVP -- iOS and Android apps, wallet funding via ACH or RTP, P2P payments, basic tiered KYC via Jumio or Onfido, biometric authentication with Secure Enclave key storage, and Stripe or Adyen payment gateway integration -- typically runs $60,000 to $120,000 and delivers in 12 to 16 weeks. This range covers the core financial product architecture: the ledger, the KYC flow, the payment rails, and the mobile app. It does not include card programme integration or multi-currency.

A full-featured wallet with multi-currency support and ECB/Open Exchange Rates FX feeds, Marqeta or Lithic card programme integration, advanced fraud scoring via Sardine or Sift, OFAC sanctions screening, spending analytics via Plaid, and comprehensive KYC/AML with SAR workflow typically runs $120,000 to $250,000. Crypto wallet development (non-custodial, multi-chain with EVM, Bitcoin, and Solana) runs $50,000 to $150,000 depending on chain count, MPC custody requirements, and DeFi feature depth.

The largest cost variables are: card programme integration complexity (just-in-time funding and spend control APIs are more expensive to integrate than simple issuance), multi-currency and FX requirements (the more currencies and the more sophisticated the FX risk management, the more complex the ledger), and the depth of KYC/AML compliance infrastructure required by your regulatory context. See our full fintech cost guide for a detailed breakdown.

What clients say

What our clients say

Three-year average engagement. Founders and operators describing the work in their own words. No marketing varnish.

Charles E.
Charles E.
USA
Entrepreneur at Aggie Technologies

All of the sprints were completed on schedule and on budget. We highly recommend RaftLabs!

01 / 02

Related services

  • Custom Software Development -- Custom fintech platforms, payment processing tools, and compliance systems built to your regulatory requirements
  • Business Process Automation -- Automate KYC workflows, transaction monitoring, compliance reporting, and customer onboarding
  • AI Agent Development -- AI agents for fraud detection, credit scoring, and financial document processing

Talk to us about your digital wallet project.

Tell us the wallet type (fiat, crypto, multi-currency), the payment capabilities you need, and your regulatory context. We'll scope the build and give you a fixed cost.