Use a Flash account as your store's Lightning node. No node to run, no channels to manage. Payments settle in the account's dollar wallet.
Note
This plugin powers Flashcard v1 (Boltcard NFC cards on BTCPay Server). Flashcard v2 runs on a Cashu stack that works offline, with no BTCPay Server: cashu-javacard · cashu-client · flash
flowchart LR
C["📱 Customer wallet<br/>or 💳 Boltcard"] -- Lightning --> F
subgraph BTCPay Server
S[Store] --> P[Flash plugin]
end
P -- "GraphQL + API key" --> F["⚡ Flash<br/>api.flashapp.me"]
F --> W[("💵 Cash wallet<br/>USD / USDT")]
| Step | |
|---|---|
| 1 | Create an API key at console.flashapp.me with scopes read_user read_wallet write_wallet read_transactions |
| 2 | Download BTCPayServer.Plugins.Flash.btcpay from Releases and upload it in Server Settings → Plugins, then restart |
| 3 | In Store → Lightning → Use custom node, enter:type=flash;server=https://api.flashapp.me/graphql;token=fk_... |
Full walkthrough: docs/installation.md
| ⚡ Receive | Lightning invoices from the account's dollar wallet, priced in cents |
| 📤 Send | Payouts and refunds paid from the same wallet |
| 💳 Boltcards | Card top-ups and tap-to-pay through BTCPay's Boltcards plugin |
| 🔗 LNURL | LNURL-pay, LNURL-withdraw and Lightning Address |
| ✅ Exact confirmation | An invoice is marked paid only when Flash confirms that invoice. Nothing is inferred from transaction history |
| Guide | |
|---|---|
| Installation | API key, install, connection string, updating |
| How it works | Payment flows, how payments are confirmed, limitations |
| Troubleshooting | Common errors and what they mean |
| Development | Repository layout, building, releasing |
| Changelog | Release history |
MIT © 2025-2026 Island Bitcoin LLC