A high-speed, NFC-enabled payment protocol built on the Stellar Blockchain.
TapAndPay bridges the gap between traditional retail and Web3. It allows users to pay at point-of-sale terminals using Stellar assets (XLM, USDC, EURC) with a simple NFC tap.
- Instant Settlement: Leveraging Stellar's 5-second finality.
- NFC Integration: Seamless mobile-to-terminal payment execution.
- Soroban Powered: Secure, Rust-based smart contracts for payment logic and escrow.
- Low Friction: Optimized for low gas fees (less than $0.00001 per transaction).
- Google Auth: Simple onboarding for non-crypto users.
- Multi-Asset: Supports XLM, USDC, EURC.
tapandpay/
├── contracts/ # Soroban smart contracts (Rust)
├── apps/
│ ├── mobile/ # React Native consumer wallet app
│ └── terminal/ # Merchant POS terminal (React/Next.js)
├── services/
│ ├── api/ # Node.js/Express REST + WebSocket API
│ └── nfc-bridge/ # NFC hardware abstraction service
├── packages/
│ ├── stellar-sdk/ # Shared Stellar transaction utilities
│ ├── types/ # Shared TypeScript types
│ └── ui/ # Shared UI component library
├── infra/ # Docker, CI/CD, deployment configs
└── docs/ # Architecture diagrams, API docs, guides
| Layer | Technology |
|---|---|
| Smart Contracts | Soroban (Rust) |
| Mobile App | React Native + Expo |
| Merchant Terminal | Next.js + React |
| Backend API | Node.js + Express + TypeScript |
| NFC Bridge | Node.js + nfc-pcsc / expo-nfc |
| Auth | Google OAuth 2.0 + JWT |
| Blockchain | Stellar Testnet / Futurenet |
| Database | PostgreSQL + Redis (caching) |
| Infra | Docker + GitHub Actions |
This project uses a pnpm workspace monorepo to share code between the mobile app, terminal, and backend.
- Development: Stellar Futurenet
- Staging: Stellar Testnet
- Production: Stellar Mainnet