SelfMate

on-chain identity + decentralized storage for authentic connections 🔐💕

SelfMate

Created At

ETHGlobal New Delhi

Project Description

📖 What is SelfMate?

SelfMate is a revolutionary decentralized dating platform that solves the critical problems of traditional dating apps: fake profiles, catfishing, underage users, and centralized data control. By leveraging cutting-edge Web3 technologies, SelfMate creates a trustworthy ecosystem where only verified humans can participate in meaningful connections.

The Problem We Solve

Traditional dating apps suffer from:

  • Fake Profiles & Catfishing: Anyone can create profiles with stolen photos and false information
  • Underage Users: Inadequate age verification allows minors to access adult platforms
  • Data Privacy: Centralized servers store sensitive personal data, vulnerable to breaches
  • Geographic Restrictions: Limited control over user access based on compliance requirements
  • Lack of Trust: No way to verify someone's authenticity beyond self-reported information

Our Solution

SelfMate addresses these issues through:

  1. Mandatory Identity Verification: Every user must complete real identity verification through Self Protocol before accessing the platform. This includes:

    • Government document verification (passport, national ID)
    • Biometric verification to prevent duplicate accounts
    • Age verification ensuring all users are 18+
    • Geographic compliance with automatic country-based restrictions
  2. Blockchain-Based Trust: Smart contracts on Ethereum manage user verification status, creating an immutable record that cannot be faked or manipulated. Once verified, a user's status is permanently recorded on-chain.

  3. Decentralized Data Storage: Unlike traditional apps that store your photos and personal data on centralized servers, SelfMate uses the Walrus Network (a decentralized storage solution) to store user profiles. This means:

    • No single point of failure
    • Users maintain control over their data
    • Enhanced privacy and security
    • Resistance to censorship
  4. Zero Fake Profiles: The combination of biometric verification, blockchain records, and document verification makes it virtually impossible to create fake profiles or multiple accounts.

How It Works

  1. Wallet Connection: Users connect their Ethereum wallet (MetaMask, etc.) to establish their on-chain identity
  2. Identity Verification: Complete Self Protocol's rigorous identity verification process
  3. Smart Contract Registration: Upon successful verification, users are registered as "verified humans" in the smart contract
  4. Profile Creation: Users create their dating profile, which is encrypted and stored on the Walrus decentralized network
  5. Verified Matching: Users can only see and interact with other verified humans, ensuring authentic connections
  6. Decentralized Dating: Swipe, match, and connect with confidence knowing every profile is real and verified

Target Audience

SelfMate is designed for:

  • Digital Nomads: People who travel frequently and need trusted connections worldwide
  • Privacy-Conscious Daters: Individuals who want control over their personal data
  • Security-First Users: People who prioritize safety and authenticity in online dating
  • Web3 Enthusiasts: Early adopters who believe in decentralized solutions
  • Quality-Focused Daters: Those tired of fake profiles and superficial connections

This isn't just a dating app with crypto payments - it's a complete reimagining of how online dating can work when built on trustless, decentralized infrastructure.

How it's Made

Architecture & Design Philosophy

SelfMate represents a complete reimagining of dating apps built from the ground up with Web3-native principles. Rather than retrofitting blockchain features onto a traditional app, we designed every component to leverage decentralized infrastructure for trust, privacy, and user control.

Core Technology Integration

1. Self Protocol - Zero-Knowledge Identity Verification

Challenge: How do you verify real humans without compromising privacy?

Solution: We integrated Self Protocol's cutting-edge zero-knowledge identity verification system that allows users to prove they are real, verified humans over 18 without revealing their actual identity documents to our platform.

Implementation Details:

  • Users scan government-issued documents (passport, national ID) using Self's mobile app
  • Biometric verification prevents duplicate accounts
  • Zero-knowledge proofs verify age (18+) and nationality without exposing raw data
  • Custom verification config restricts access from specific countries for compliance
  • Integration with @selfxyz/core and @selfxyz/qrcode for seamless UX

Notable Hack: We created a custom SelfVerificationRoot contract that extends Self Protocol's base verification to add dating-specific logic like user counting and admin controls while maintaining the zero-knowledge properties.

2. Walrus Network - Decentralized Profile Storage

Challenge: How do you store sensitive dating profiles without centralized servers?

Solution: We use Walrus Network (Mysten Labs' decentralized storage solution) to store all user profile data, photos, and metadata in a fully decentralized manner.

Implementation Details:

  • Profile photos and data are uploaded to Walrus via custom API routes (/api/walrus/upload)
  • Walrus returns a unique blob ID for each stored object
  • Blob IDs are stored on-chain in our IdentityStorage.sol contract
  • Retrieval happens through Walrus aggregators for high availability
  • Content addressing ensures data integrity and immutability

Notable Hack: We built a hybrid storage system where minimal metadata lives on-chain (just blob IDs and basic flags) while all rich content lives on Walrus, giving us the best of both worlds - blockchain immutability with decentralized storage scalability.

3. Multi-Chain Smart Contract Architecture

Challenge: Different protocols work best on different chains.

Solution: We deployed a multi-chain architecture optimizing each component for its ideal network:

  • Main Dating Contract (nomaddating.sol): Deployed on Celo Sepolia at 0xd5e4a7b1f649603fb87e5635b168c003e4face83

    • Handles Self Protocol verification
    • Manages verified user registry
    • Lower gas costs for frequent operations
  • Identity Storage Contract (IdentityStorage.sol): Deployed on Ethereum Sepolia

    • Stores Walrus blob ID mappings
    • More secure for identity-critical data
    • Better integration with existing DeFi ecosystem

4. Next.js Full-Stack Web3 Application

Frontend Architecture:

  • Next.js 15.5.4 with React 19 for server-side rendering and API routes
  • TailwindCSS 4.0 for responsive, mobile-first design
  • Framer Motion for smooth Tinder-like swipe animations
  • Wagmi 2.17.5 + RainbowKit for Web3 wallet integration

Backend Architecture:

  • Custom API routes handle complex Web3 interactions
  • JWT authentication for session management post-verification
  • Server-side contract interactions using ethers.js
  • Real-time event listening for blockchain updates

Notable Hack: We created a unified context system that manages Web3 state, user verification status, and app navigation in a single reactive store, eliminating prop drilling and ensuring consistent state across components.

Technical Challenges & Solutions

1. Cross-Chain User Experience

Problem: Users shouldn't need to understand they're interacting with multiple blockchains.

Solution: Built a unified Web3 service layer that automatically switches networks and handles cross-chain operations transparently.

2. Privacy vs. Matching Algorithm

Problem: How do you match people without exposing their data?

Solution: We store basic matching criteria (age range, nationality preferences) on-chain in a privacy-preserving way, while keeping detailed profiles on Walrus. The matching algorithm runs client-side with encrypted data.

3. Mobile-First Web3 UX

Problem: Web3 wallets are notoriously difficult on mobile.

Solution: Implemented RainbowKit with mobile-optimized wallet connections and QR code fallbacks. Added progressive Web3 enhancement where core features work without wallet connection.

4. Data Consistency Across Decentralized Systems

Problem: Ensuring profile updates propagate correctly across Walrus and blockchain.

Solution: Implemented an eventual consistency model with client-side caching and background sync processes.

background image mobile

Join the mailing list

Get the latest news and updates