Skip to content
Β 
Β 

Repository files navigation

PayEasy

Blockchain-powered rent sharing made simple.

PayEasy is an open-source platform built on the Stellar blockchain that makes finding roommates and managing shared rent payments seamless, secure, and transparent.

Stellar TypeScript codecov License: MIT


The Problem

Coordinating rent among roommates is messy:

  • One person always plays "banker"
  • Late payments cause friction
  • No transparency in who paid what
  • Trust issues with strangers from online listings

The Solution

PayEasy combines a social marketplace (find roommates & apartments) with blockchain escrow (trustless rent collection):

  1. Browse Listings: Find apartments or roommates on a beautiful newsfeed
  2. Chat & Negotiate: Message potential roommates in real-time
  3. Create Agreement: Generate a Stellar smart contract for rent splitting
  4. Pay Securely: Each roommate pays their share directly to the contract
  5. Auto-Disburse: Once full rent is collected, funds automatically go to the landlord

Architecture

PayEasy uses a Web2.5 hybrid approach:

graph TB
    subgraph "Web2 Layer (Traditional)"
        A[Next.js Frontend]
        B[Supabase Database]
        C[Real-time Chat]
    end
    
    subgraph "Web3 Layer (Stellar)"
        D[Soroban Smart Contract]
        E[Freighter Wallet]
        F[Stellar Network]
    end
    
    A --> B
    A --> C
    A --> E
    E --> D
    D --> F
    
    style A fill:#3178C6
    style D fill:#7D00FF
    style F fill:#7D00FF
Loading

Why Hybrid?

  • Fast & Familiar: Social features (posts, chat) use traditional databases for speed
  • Secure Payments: Only the escrow logic touches the blockchain, reducing friction
  • Mass Adoption: Users don't need crypto knowledge to browseβ€”only to pay

πŸš€ Tech Stack

Frontend

  • Framework: Next.js 14+ (App Router)
  • Language: TypeScript (strict mode)
  • Styling: Tailwind CSS + Custom CSS
  • Database: Supabase (PostgreSQL + Realtime)
  • Wallet: Freighter (Stellar browser extension)

Smart Contracts

  • Language: Rust
  • Platform: Soroban (Stellar smart contracts)
  • Network: Stellar Testnet β†’ Mainnet

Project Structure

payeasy/
β”œβ”€β”€ apps/
β”‚   └── web/              # Next.js frontend application
β”œβ”€β”€ contracts/
β”‚   └── rent-escrow/      # Soroban smart contract (Rust)
β”œβ”€β”€ docs/                 # Detailed documentation
β”‚   β”œβ”€β”€ ARCHITECTURE.md
β”‚   └── STELLAR_SETUP.md
β”œβ”€β”€ .github/              # Issue/PR templates
β”œβ”€β”€ README.md
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ CODE_OF_CONDUCT.md
└── LICENSE

Quick Start

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/Ogstevyn/payeasy.git
    cd payeasy
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp apps/web/.env.example apps/web/.env.local
    # Edit .env.local with your Supabase credentials
  4. Run the development server

    npm run dev
  5. Build the smart contract (optional)

    cd contracts/rent-escrow
    soroban contract build
  6. Deploy the smart contract Ensure DEPLOYER_SECRET_KEY is set in your apps/web/.env.local.

    npm run deploy:contract

    To verify it exists:

    npm run verify:contract <INSERT_CONTRACT_ID>

For detailed setup instructions, see CONTRIBUTING.md.


E2E Testing

PayEasy uses Playwright for end-to-end testing.

# Install Playwright browsers (first time)
npx playwright install

# Run all E2E tests
npm run test:e2e

# Run with interactive UI
npm run test:e2e:ui

Tests cover the following user flows:

  • Auth β€” login form, registration, validation, navigation
  • Listings β€” browse page, filters, view toggle, search
  • Messages β€” conversation rendering, sending, error handling

Documentaton


Contributing

We welcome contributions from developers of all skill levels! Here's how to get started:

  1. Check out good first issues
  2. Read the Contributing Guide
  3. Fork the repo and create a feature branch
  4. Submit a pull request

Areas we need help with:

  • UI/UX design and frontend components
  • Soroban smart contract development
  • Documentation and tutorials
  • Testing and QA
  • Internationalization

Roadmap

Phase 1: MVP (Current)

  • Project setup and documentation
  • Basic newsfeed UI
  • Wallet connection (Freighter)
  • Simple rent escrow contract

Phase 2: Social Features

  • Real-time messaging (Supabase)
  • User profiles
  • Post creation (roommate/apartment listings)
  • Search and filters

Phase 3: Advanced Escrow

  • Multi-party rent splitting
  • Recurring payments
  • Dispute resolution
  • Payment history dashboard

Phase 4: Production

  • Mainnet deployment
  • Mobile app (React Native)
  • Stellar Community Fund proposal

Why Stellar?

  • Low Fees: Transactions cost fractions of a cent
  • Fast: 3-5 second settlement times
  • Built for Payments: Designed for real-world financial applications
  • Soroban: Modern smart contract platform with Rust

PayEasy helps drive crypto adoption to the masses by solving a real problem people face every month: paying rent.


License

This project is licensed under the MIT License - see the LICENSE file for details.


Community


Acknowledgments

Built with love by the open-source community.

Special thanks to:


Ready to make rent payments easy? Star this repo and join us in building the future of shared housing!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages