No description
- Kotlin 48.1%
- Swift 47.2%
- Python 4.7%
| .agents/skills | ||
| android | ||
| CashuWallet | ||
| CashuWallet.xcodeproj | ||
| docs/screenshots | ||
| skills | ||
| .gitignore | ||
| button-audit-prompt.md | ||
| button-fixes-prompt.md | ||
| DESIGN.json | ||
| DESIGN.md | ||
| KOTLIN_MIGRATION_PLAN.md | ||
| Package.resolved | ||
| Package.swift | ||
| PRODUCT.md | ||
| README.md | ||
| skills-lock.json | ||
Cashu Wallet
A privacy-first iOS wallet for Cashu ecash and the Lightning Network, with on-chain Bitcoin support and NFC contactless payments.
Built with SwiftUI, targets iOS 18+, and uses cdk-swift (the Cashu Dev Kit) under the hood.
Features
- Ecash — mint, send, and redeem Cashu tokens across multiple mints
- Lightning — pay and receive BOLT11 invoices, with Lightning Address support
- On-chain — send to and receive from regular Bitcoin addresses
- Contactless (NFC) — tap-to-pay using NDEF tags
- Nostr — NWC (Nostr Wallet Connect), payment requests, and NPC integration
- P2PK locking, multi-mint discovery, and deterministic recovery from seed
- Backup & restore from BIP-39 seed phrase
Screenshots
| Launch | Onboarding | Wallet |
|---|---|---|
![]() |
![]() |
![]() |
| Send options | Settings |
|---|---|
![]() |
![]() |
| Receive on-chain | Send on-chain |
|---|---|
![]() |
![]() |
Building
Open CashuWallet.xcodeproj in Xcode 16+ and run on an iOS 18 simulator or device. Swift Package Manager resolves cdk-swift automatically.
For a CLI build to the simulator:
xcodebuild -project CashuWallet.xcodeproj \
-scheme CashuWallet \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
build
Project layout
CashuWallet/App— app entry point and root viewCashuWallet/Core— services (wallet, mints, NFC, Nostr, keychain), navigation, settingsCashuWallet/Views— SwiftUI views grouped by flow (Send, Receive, Mints, History, Settings)CashuWallet/Models— data types and protocols






