# REQUIREMENTS

Application Requirements — Card Trading App (Web2-Friendly Web3 Integration)

  1. User Authentication and Onboarding
  • Users must be able to sign up using an email and password or Social signup
  • Users must be able to log in using their email and password or Social login
  • All authentication should be handled securely, adhering to modern security best practices (e.g., hashed passwords, secure sessions, rate limiting).
  1. Payment and Checkout
  • The app must support fiat-based payments, including:
    • Credit/debit cards
    • PayPal
    • (Optional: local payment gateways per region)
  • Fiat payments must be usable for minting NFTs, enabling seamless checkout without needing crypto wallets or tokens (or the wallets/tokens are in the background not visible to the user)
  1. NFT Minting and Card Generation
  • Each fiat payment for minting must result in the creation of an NFT on an EVM-compatible chain.
  • Each NFT corresponds to a unique digital card, which the user can view, trade, or showcase.
  • The card should be generated and linked to the NFT upon successful minting.
  1. Wallet Abstraction and Ownership
  • Users must retain full ownership of their NFTs, even if they never interact directly with private keys.
  • The app must abstract away blockchain complexity via one or more of the following methods:
    • Custodial wallets or smart account/wallet abstraction (e.g., account abstraction via ERC-4337)
    • Secure, recoverable key management (e.g., MPC, email-based recovery)