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