CHAPTER 5 of 11

Mobile Crypto

Accepting crypto payments on phones — iOS and Android. Three progressive solutions, from zero-cost wallet deep links to invisible embedded wallets with Face ID.

The Problem

Mobile browsers cannot see wallet extensions. On desktop, wallets like Phantom and MetaMask inject into the browser. On mobile, these wallets are standalone apps. The browser says "no wallet detected" — a dead end for any buyer on their phone.

This affects both platforms, but the constraints differ slightly between iOS and Android.

Platform Differences

iOS-Specific Constraints

  • No browser extensions at all. Apple does not allow browser extensions to inject JavaScript into Safari pages. This is a platform-level restriction, not a wallet limitation.
  • Universal links are the deep-link mechanism. They route via Apple's CDN and only fire on user tap (not programmatic navigation). iOS 17+ is stricter — links must be real <a href> elements.
  • WebAuthn/passkeys work natively via Face ID or Touch ID. This is what enables embedded wallets to sign transactions biometrically.
  • Phantom, Solflare both have iOS apps with in-app browsers where wallet injection works normally.

Android-Specific Considerations

  • Chrome supports some extension-like features but mobile wallet extensions are still not injected into web pages the same way as desktop.
  • Intent filters handle deep links (equivalent to iOS universal links). More permissive than iOS — programmatic navigation works.
  • More wallet options with in-app browsers: Phantom, Solflare, Trust Wallet, OKX Wallet all have Android apps.
  • WebAuthn/passkeys work via fingerprint or face unlock on Android 9+.

Common to Both Platforms

  • No injected wallet providers — the core problem is the same on both platforms.
  • WalletConnect v2 works on both — signing through WalletConnect's servers keeps the buyer in their browser.
  • Embedded wallets (Privy, Turnkey, Crossmint) work identically on both — they use WebAuthn/passkeys which are platform-native on iOS and Android.
  • QR-based payment (Chapter 7) works on both — the buyer scans with any wallet app on any device.
  • The buyer experience goal is the same: tap, authenticate, done. No wallet app required. No crypto knowledge assumed.

Solutions — Three Tiers

Tier 1 · Live Wallet Deep Links

When no wallet is detected in the browser, show a button that opens the shop inside the wallet app's built-in browser — where wallet injection works normally. Zero dependencies, zero cost.

Cost: $0.00
Requires wallet app: yes
Stays in browser: no (switches to wallet app)
Platforms: iOS + Android

Deep links available for Phantom (phantom.app/ul/browse/) and Solflare (solflare.com/ul/v1/browse/). Wallet app must be installed. If not installed, the link opens the App Store / Play Store.

Tier 2 · Ready WalletConnect v2

The buyer stays in their browser. Taps "Connect Wallet" → wallet app opens briefly to approve → returns to the browser automatically. WalletConnect's servers carry the request between the browser and the wallet app.

Cost: $0.00 (the WalletConnect service is free)
Requires wallet app: yes
Stays in browser: yes
Platforms: iOS + Android
Dependency: Reown AppKit (free Project ID)

Phantom, Solflare, and Backpack all support WalletConnect v2 for Solana on both platforms.

Tier 3 · Evaluating Embedded Wallets — No App Required

The buyer doesn't install anything. They sign in with email, Google, or Apple — a wallet is created invisibly under the hood. Transactions are approved with Face ID or fingerprint. This is the Stripe equivalent for crypto — tap, biometric, done.

Cost: varies (see comparison below)
Requires wallet app: no
Stays in browser: yes
Platforms: iOS + Android + desktop

Embedded Wallets — Detailed Comparison

Three providers support Solana with passkey/biometric signing. Each has a different sweet spot.

Privy

Acquired by Stripe (2025). 75M+ wallets, 2000+ teams.
  • Auth: Email, Google, Apple, phone, passkeys
  • UX: ~10 seconds first sign-in
  • On-ramp: Built-in (MoonPay, Coinbase, Apple Pay)
  • Key export: Yes, to Phantom/Solflare
  • Security: TEE + key sharding
  • Integration: ~50 lines React SDK
  • Free tier: 50K sigs/mo, $1M vol
  • Paid: ~$0.01/sig (enterprise: $0.001)
Best for: publishers accepting payments from casual mobile users. Most generous free tier. Stripe ownership = fiat + crypto unified.

Turnkey

TEE infrastructure. Polymarket, Alchemy, Magic Eden.
  • Auth: Passkeys, OAuth, email, API keys
  • UX: ~15 seconds, passkey-first
  • On-ramp: No built-in (integrate MoonPay)
  • Key export: Yes, policy-controlled
  • Security: AWS Nitro TEE, verifiable attestation
  • Integration: ~80 lines, backend required
  • Free tier: 25 sigs/mo
  • Paid: $0.10/sig (enterprise: $0.0015)
Best for: high-security applications, DeFi, regulated fintech. Strongest custody guarantees. Expensive at low volume.

Crossmint

Smart wallets. Mastercard, Visa, Adidas customers.
  • Auth: Email, Google, Apple, passkeys
  • UX: ~20 seconds (identity verification adds time)
  • On-ramp: Built-in with identity verification
  • Key export: Yes, via TEE iframe
  • Security: TEE + MPC, policy engine
  • Integration: ~40 lines API-first
  • Free tier: 1K wallets, 2K txns/mo
  • Paid: ~$0.05/active wallet
Best for: compliance-heavy use cases, enterprise brands, NFT-focused platforms. Built-in identity verification is complete but adds friction.

Cost Comparison — Crypto vs. Traditional Payments

Real transaction costs for a $12 purchase and a $0.01 micropayment. This is why crypto payments exist.

Payment MethodFixed Fee% FeeCost on $12Cost on $0.01
Credit Card (Stripe)$0.302.9%$0.65$0.30
PayPal$0.493.49%$0.91$0.49
Venmo Business$0.101.9%$0.33$0.10
Solana USDC (direct)~$0.000250%$0.00025$0.00025
+ Privy (free tier)$0.000%$0.00025$0.00025
+ Privy (paid)~$0.01/sig0%$0.01$0.01
+ Turnkey$0.10/sig0%$0.10$0.10
+ Crossmint~$0.05/MAW0%~$0.05~$0.05
+ Coinbase CDP$0.005/op0%$0.01$0.01

Sources: Stripe, PayPal, Solana, Privy, Turnkey, Crossmint, Coinbase CDP. All fees as of Q1 2026.

The micropayment case is decisive. A $0.01 payment costs $0.30 via credit card — the fee is 30x the payment. With Solana + Privy (free tier), the same payment costs $0.00025 — 1,200x cheaper. This is the economic argument for why crypto payments aren't just "another option" — they're the only option that makes micropayments viable.

Recommendation

For publishers accepting payments from casual mobile users: Privy.

The Stripe acquisition creates a future where a single integration handles both fiat fallback (Stripe card payments) and crypto payments (Privy embedded wallet + USDC) with shared authentication. The free tier (50K signatures/month) covers a publisher's entire early adoption phase at zero cost. Built-in on-ramp means the buyer can purchase USDC with Apple Pay inside the flow — no external funding step. And if a buyer later wants full self-custody, they export their key to Phantom with one click.

The user experience: tap "Pay" → sign in with email or Apple → wallet auto-created → approve with Face ID → done. ~10 seconds. Works in plain Safari and Chrome. No app install. No crypto jargon. The buyer may never know they used a blockchain.

When to use each tier

ScenarioBest TierWhy
Buyer already has Phantom/SolflareTier 1 (Deep Links)Zero cost, zero dependencies, fastest UX for existing wallet users
Buyer has any wallet app, wants to stay in browserTier 2 (WalletConnect)Free to use, broad wallet compatibility, no app switch
Buyer has never used cryptoTier 3 (Privy)No install, email/Apple sign-in, Face ID, built-in on-ramp
High-value orders, regulatedTier 3 (Turnkey)Strongest custody, verifiable TEE, compliance-grade
Enterprise brands, identity verification requiredTier 3 (Crossmint)Built-in identity verification, Visa/Mastercard pedigree
Buyer wants to send manuallyChapter 7 (QR Pay)Works with any wallet on any device — no browser interaction needed