A modern, open-source Bitcoin wallet powered by Cashu ecash protocol and Lightning Network. Send and receive bitcoin instantly with enhanced privacy.
Try it now: https://satoshipay.me
๐ฑ Install as PWA for the best mobile experience! Tap "Add to Home Screen" in your browser menu.
- Cashu Ecash Protocol: Enhanced privacy through blind signatures
- No Personal Data: No registration, no KYC, no tracking
- Non-Custodial: You control your keys and funds
- Instant Payments: Send and receive sats in seconds
- Lightning Network: Connect to the global Bitcoin payment network
- Multi-Mint Support: Use multiple Cashu mints simultaneously
- Generate Invoices: Create Lightning invoices to receive bitcoin
- Send Tokens: Generate ecash tokens to send to others
- Receive Tokens: Redeem ecash tokens from any Cashu mint
- Transaction History: Track all your payments
- Balance Management: View balances across multiple mints
- 12-Word Seed Phrase: Standard BIP39 mnemonic backup
- Restore from Seed: Recover your funds from any device
- Multi-Mint Restore: Automatically scans all mints for your tokens
- Nostr DMs: Receive ecash tokens via Nostr direct messages
- Lightning Address: Use your Nostr Lightning address (Coming Soon)
- Social Payments: Send sats to Nostr npubs
- Install on Any Device: Works on iOS, Android, and Desktop
- Offline Capable: Access your wallet anytime
- Native Feel: Smooth, app-like experience
Cashu is a free and open-source ecash protocol built on Bitcoin and Lightning Network. It provides:
- Privacy: Uses blind signatures so mints can't track your transactions
- Instant Payments: Ecash tokens settle instantly
- Lightning Compatible: Mint and melt tokens using Lightning invoices
- Offline Transactions: Send tokens without internet connection
- Interoperability: Tokens work across all Cashu wallets
- Mint: Pay a Lightning invoice to create ecash tokens
- Hold: Store tokens in your wallet (mint doesn't know it's you)
- Send: Share tokens with anyone via text, QR, or Nostr
- Receive: Redeem tokens from others instantly
- Melt: Convert tokens back to Lightning at any time
- Visit: https://satoshipay.me
- Install: Tap "Add to Home Screen" in your browser menu
- Create Wallet: Your seed phrase will be generated automatically
- Backup: Write down your 12-word seed phrase securely
- Fund: Create an invoice to receive your first sats!
- Node.js 18+
- npm or yarn
# Clone the repository
git clone https://github.com/Codepocketdev/satoshi-pay-wallet.git
cd satoshi-pay-wallet
# Install dependencies
npm install
# Start development server
npm run devVisit http://localhost:5173 to see the app running locally.
npm run build
npm run preview- Frontend: React 18 + Vite
- Cashu Library: @cashu/cashu-ts
- Nostr: nostr-tools
- QR Codes: jsQR for scanning, qrcode-generator for creating
- Styling: Tailwind CSS
- PWA: Vite PWA plugin
- Deployment: Vercel
satoshi-pay-wallet/
โโโ src/
โ โโโ components/ # React components
โ โ โโโ App.jsx # Main app component
โ โ โโโ SendPage.jsx # Send tokens interface
โ โ โโโ ReceivePage.jsx # Receive tokens interface
โ โ โโโ ...
โ โโโ hooks/ # Custom React hooks
โ โ โโโ useWallet.js # Wallet state management
โ โโโ utils/ # Utility functions
โ โ โโโ cashu.js # Cashu protocol logic
โ โ โโโ storage.js # localStorage wrapper
โ โ โโโ nostr.js # Nostr integration
โ โโโ main.jsx # App entry point
โโโ public/ # Static assets
โ โโโ manifest.json # PWA manifest
โ โโโ sw.js # Service worker
โ โโโ icons/ # App icons
โโโ vite.config.js # Vite configuration
- Backup Your Seed: Write down your 12-word seed phrase on paper
- Keep It Secret: Never share your seed phrase with anyone
- Multiple Copies: Store backups in separate secure locations
- Test Recovery: Verify you can restore your wallet before storing large amounts
- Non-Custodial: You control your private keys
- No Server: No backend storing your data
- Local Storage: All data stored locally on your device
- Open Source: Code is public and auditable
- Mint Trust: You trust the mint not to rug-pull your funds
- Privacy: Mint cannot track how you spend tokens
- Multi-Mint: Spread risk across multiple mints
- Lightning Gateway: Convert to Lightning anytime to minimize mint risk
We welcome contributions! Here's how you can help:
Found a bug? Open an issue with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Screenshots if applicable
Have an idea? Open an issue with:
- Feature description
- Use case / problem it solves
- Proposed implementation (optional)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Basic Cashu wallet functionality
- Lightning invoice generation
- Send/receive ecash tokens
- Multi-mint support
- Transaction history
- Wallet restore from seed
- PWA installation
- QR code scanning
- Nostr DM token sending
- Token swap between mints
- Scheduled/recurring payments
- Multi-signature transactions
- Hardware wallet support
- Tor/VPN integration
- Fiat currency display
- Payment requests with memos
- Wallet encryption with password
See our issue tracker for current bugs and feature requests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Cashu Protocol: Created by @callebtc
- Cashu TS Library: @cashu/cashu-ts
- Default Mints: Thanks to all public Cashu mint operators
- Community: All contributors and testers
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected] (if applicable)
This wallet is in active development. While we strive for security and reliability:
- Use at your own risk: Only store amounts you can afford to lose
- Test first: Try with small amounts before larger transactions
- Backup religiously: Your seed phrase is your only backup
- Mint trust: Remember that Cashu mints are custodial (though private)
- No warranties: This software is provided "as is" without warranties
If you find this project useful:
- โญ Star this repository
- ๐ฆ Share on social media
- โก Send sats to support development ([email protected])
- ๐ค Contribute code or documentation
Made with โก and ๐งก for the Bitcoin community