User Flow – MetaMiles Spend-to-Reward Journey
User Flow
1. Onboarding
User visits the MetaMiles dApp
Connects MetaMask Wallet via MetaMask SDK
Verifies MetaMask Card Ownership using signed message
Enrolls in Circle Wallet for rewards delivery
2. Spending & Tracking
User makes purchases via MetaMask Card
Spend data is retrieved securely via Chainlink Functions
On-chain SpendTracker Contract is updated (stores only total spend, not full tx history)
3. Proof Generation (ZK)
User opens MetaMiles dApp to claim tiered rewards
ZK circuit runs locally: “Prove I’ve spent > $X this month without revealing where or what”
Generates a ZK-SNARK proof using pseudonymous identity
Submits proof on-chain to ZKVerifier Contract
4. Reward Unlock
ZKVerifier confirms proof
Soulbound NFT is minted, representing the user’s tier (e.g., Bronze, Silver, Gold)
NFT grants access to:
Token-gated ticketing
IRL discounts (NFC/QR based)
Merch or digital perks
5. Cross-Chain / Custody
If reward is on another chain:
LI.FI SDK bridges asset using Circle CCTP V2
Delivered to user’s preferred chain or Circle Wallet
6. Ongoing Use
Spend tracking resets monthly
Users repeat cycle: spend → prove → unlock
Can view progress & perks dashboard
Last updated