A mobile-first payment app built on Polkadot
- Send & Request Money - Transfer funds to contacts or via shareable links
- QR Code Payments - Scan or generate QR codes for quick transactions
- Add & Withdraw Funds - On/off ramp support for multiple countries
- Activity Tracking - View your complete transaction history
- PWA Support - Install as a native app on your device
- Frontend: React 19, TanStack Router, TanStack Query
- Styling: Tailwind CSS 4
- Build Tool: Vite 7
- Backend: TanStack Start, Drizzle ORM, PostgreSQL
- Blockchain: Polkadot/Substrate
- Auth: WebAuthn (Passkeys)
- Node.js 18+
- pnpm (recommended) or npm
# Clone the repository
git clone https://github.com/your-username/jam.git
cd jam
# Install dependencies
pnpm install# Start the development server on port 3000
pnpm devThe app will be available at http://localhost:3000
# Build for production
pnpm build
# Preview production build
pnpm preview
# Run tests
pnpm test
# Lint code
pnpm lint
# Format code
pnpm format
# Check and fix both linting and formatting
pnpm checkjam/
├── public/
│ ├── app-screenshots/ # App screenshots
│ ├── favicon/ # Favicon and PWA icons
│ ├── other-logos/ # USDC, USDT, Polkadot, Kusama logos
│ ├── platform-logo.png # Main app logo
│ └── login-photo.png # Login screen assets
├── src/
│ └── routes/ # File-based routing (TanStack Router)
│ ├── dashboard.tsx # Main dashboard
│ ├── send/ # Send money flow
│ ├── request/ # Request money flow
│ ├── add/ # Add funds flow
│ ├── withdraw/ # Withdraw funds flow
│ ├── profile/ # User profile
│ ├── activity.tsx # Transaction history
│ └── scan.tsx # QR scanner
└── package.json
MIT

