ZephyrPay is a crypto-native payment and access management platform designed for member-only spaces such as coworking hubs, social clubs, hacker houses, maker spaces, and event venues. The platform supports Bitcoin Lightning Network and Ethereum-based payments, NFT-gated memberships, subscriptions, event check-ins, and loyalty rewardsβall via a robust API-first architecture with a full-featured frontend.
- Email/password login with JWT
- Role-based access (Admin, Operator, Member)
- Wallet linking for Ethereum (Metamask) and Lightning Network (lnurl-auth)
- Bitcoin Lightning Network (via LNBits)
- Ethereum (ETH) and ERC-20 tokens (e.g., USDC)
- Invoice creation, QR code checkout, and real-time payment confirmation
- Mint ERC-721 NFTs for tiered memberships
- Verify ownership for access gating
- Metadata includes tier, expiration, and perks
- Monthly, Quarterly, Annual subscriptions via:
- Ethereum Smart Contracts (Superfluid or ERC-4337)
- Off-chain billing with webhook logic
- IRL POS UI for space operators
- Lightning or Ethereum payment support
- Transaction history dashboard
- NFT-based loyalty rewards using ERC-1155
- Issue badges for attendance, purchases, milestones
- Redeemable through the dashboard
- Event check-in via QR code or wallet/NFT scan
- Triggers attendance logs and loyalty rewards
- Next.js 14+ (App Router)
- Tailwind CSS + ShadCN/UI
- wagmi + viem (Ethereum)
- lnurl-auth / Alby SDK (Lightning)
- React Query + React Context
- QRCode Generator (
qrcode.react
)
- FastAPI (Python)
- PostgreSQL (via Supabase)
- Redis (Session cache)
- LNBits (Bitcoin Lightning)
- Web3.py / Ethers.js (Ethereum integration)
- ERC-721: NFT Memberships
- ERC-1155: Loyalty NFTs
- Superfluid: Streaming subscriptions
# Clone the repo
$ git clone https://github.com/your-org/zephyrpay.git
$ cd zephyrpay
# Frontend Setup
$ cd frontend
$ npm install
$ npm run dev
# Backend Setup
$ cd backend
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
$ uvicorn main:app --reload
Service | URL |
---|---|
Frontend | http://localhost:3000 |
Backend API | http://localhost:8000 |
Supabase DB | Supabase.io |
LNBits Node | http://localhost:5000 |
IPFS (optional) | [Infura, Pinata] |
# Run frontend tests
$ npm run test
# Run backend tests
$ pytest
zephyrpay/
βββ frontend/ # Next.js frontend
β βββ pages/
β βββ components/
β βββ utils/
βββ backend/ # FastAPI backend
β βββ api/
β βββ models/
β βββ routes/
βββ smart-contracts/ # Hardhat or Foundry setup
β βββ MembershipNFT.sol
β βββ LoyaltyNFT.sol
β βββ Subscription.sol
βββ README.md
Role | Description |
---|---|
Admin | Full access to dashboard, controls, users |
Operator | POS access, check-ins, limited config |
Member | Standard access to services + wallet views |
- Auth & Wallet Linking β
- Crypto Payments & QR Checkout β
- NFT Membership + Minting β
- POS Flow & Transactions β
- Loyalty Engine + Check-Ins β
- Admin Dashboard & Subscriptions β
- Pilot Testing at Real Venues β
MIT
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
- LNBits for Lightning integration
- wagmi/viem for Ethereum wallet support
- Vercelβs Next.js SaaS Starter for frontend scaffold
- Supabase for managed PostgreSQL + auth services
Built with β€οΈ by the ZephyrPay team