This guide walks you through everything you need to know to use BuhoGO for your Bitcoin Lightning payments.
Back to README | For developers: Developer Guide
- Choosing Your Wallet Type
- Setting Up a Spark Wallet
- Connecting an NWC Wallet
- Connecting an LNBits Wallet
- Receiving Bitcoin
- Sending Bitcoin
- Batch Send
- Internal Transfer
- Transaction History
- Managing Contacts
- Switching Wallets
- Settings and Preferences
- Troubleshooting
BuhoGO supports three wallet types. See the feature comparison for details.
Full self-custody with your own keys.
- Zero-fee transfers to other Spark users
- On-chain Bitcoin (L1) support
- Single seed phrase backs up everything
- Requires secure backup and PIN each session
Connect your existing Lightning wallet (Alby, Primal, etc.).
- No seed phrase to manage
- Multiple wallets supported
- Quick setup with QR code
- Cannot send to Spark addresses
Connect to your own LNBits instance.
- Works with any LNBits server
- Full control via Admin API key
- Multiple wallets supported
- Cannot send to Spark addresses
Open BuhoGO and tap "Create Wallet" on the welcome screen.
You will see 12 words displayed on screen. These words are your only way to recover your wallet.
Important:
- Write these words down on paper in the exact order shown
- Store them in a secure, offline location
- Never store them digitally, take screenshots, or share them with anyone
- Anyone with these words can access your Bitcoin
We cannot recover your phrase if you lose it. Your funds are entirely in your hands.
The app will show all 12 words shuffled in random order. You must tap each word in the correct sequence (1-12) to prove you've properly recorded your backup.
How it works:
- Tap the first word of your seed phrase
- A green badge with "1" appears on that word
- Continue tapping words in order (2, 3, 4... up to 12)
- If you tap the wrong word, you'll see a red badge and an error message
- Use "Show me again" if you need to go back and check your written backup
Once all 12 words are selected correctly, you'll see a success message reminding you to store your phrase safely.
Enter a 6-digit PIN, then confirm it. This PIN protects your wallet and is required to:
- Unlock the wallet on app launch
- View your seed phrase in settings
- Sign transactions
Choose a PIN you can remember but others cannot guess.
Your wallet is now ready. You will be taken to the main wallet screen where you can start receiving and sending Bitcoin.
Nostr Wallet Connect (NWC) is a protocol that lets apps communicate with Lightning wallets. Many popular wallets support NWC including Alby, Mutiny, and others.
- Open your existing Lightning wallet
- Look for "Nostr Wallet Connect" or "NWC" in settings
- Create a new connection for BuhoGO
- Copy the connection string (starts with
nostr+walletconnect://)
- Open BuhoGO and tap "Connect Wallet"
- Either paste your NWC string or tap the QR icon to scan
- Give your wallet a name for easy identification
- Tap "Connect"
Your wallet balance and info will appear once connected.
To add more NWC wallets, go to Settings > Add Wallet.
- Log in to your LNBits instance
- Open your wallet and click "API Info"
- Copy your Server URL, Wallet ID and Admin API Key
Important: The Admin Key gives full wallet access. Keep it private.
- Tap "Connect Wallet" > "LNBits"
- Enter a name for your wallet
- Enter your LNBits server URL
- Enter your Admin API key
- Tap "Connect"
To add more LNBits wallets, go to Settings > Add Wallet.
Lightning invoices are the standard way to receive Bitcoin on the Lightning Network.
- Tap the "Receive" button on the wallet screen
- Enter the amount you want to receive (in sats)
- Optionally add a description
- Tap "Create Invoice"
- Share the QR code or copy the invoice string
The invoice expires after a set time (usually 1 hour). If not paid before expiry, create a new one.
Spark addresses allow you to receive instant, zero-fee payments from other Spark users.
- Tap the "Receive" button
- Toggle to "Spark Address" view
- Share the QR code or copy the address
Your Spark address never changes and does not expire. Anyone with a Spark wallet can send to it without fees.
Tip: Your Spark address starts with sp1 (mainnet) or tsp1 (testnet).
The fastest way to pay:
- Tap the "Send" button
- Point your camera at the payment QR code
- Confirm the amount and details
- Tap "Send"
- Tap the "Send" button
- Tap the paste icon or type the payment destination
- The app detects the payment type automatically:
- Lightning invoice (
lnbc...) - Lightning address (
name@domain.com) - Spark address (
sp1...) - Spark wallet only - LNURL (
lnurl...)
- Lightning invoice (
- Tap the "Send" button
- Scroll down to see your saved contacts
- Tap a contact to start a payment
Note: Contacts with Spark addresses show a badge and require a Spark wallet to pay.
Before sending, you will see:
- Recipient address or invoice
- Amount in sats and your local currency
- Network fee (if applicable)
Review these details carefully before confirming.
Send payments to multiple contacts at once. Great for splitting bills, paying contributors, or distributing funds.
- Open Address Book or Quick Contacts
- Tap the batch send icon (layer icon)
- Select contacts you want to pay
- Choose amount mode:
- Same amount: Everyone gets the same
- Custom amounts: Set different amounts per contact
- Review total and confirm
- Watch payments sent one by one
- Payments are sent sequentially
- Real-time progress for each payment
- If one fails, the rest continue
- Retry failed payments after batch completes
- 1% of balance reserved for fees
| Contact Type | Spark Wallet | NWC/LNBits |
|---|---|---|
| Lightning Address | Yes | Yes |
| Spark Address | Yes | No |
| Bitcoin Address | Yes | No |
Spark and Bitcoin contacts only appear when using a Spark wallet.
Move funds between your connected wallets without leaving the app.
- Go to Settings
- Tap "Transfer Between Wallets"
- Select source wallet (where funds come from)
- Select destination wallet (where funds go)
- Enter amount
- Confirm transfer
The app creates a Lightning invoice from the destination wallet and pays it from the source wallet.
- Standard Lightning fees apply (typically minimal)
- Both wallets must support Lightning
- Spark-to-Spark transfers are instant and free
- Move funds from NWC to Spark for zero-fee transfers
- Consolidate balances from multiple wallets
- Rebalance between Lightning wallets
Your transaction history shows all payments sent and received. Access it by tapping "Transactions" on the main wallet screen.
When you send or receive multiple payments to/from the same destination within a short period, BuhoGO automatically groups them together to keep your transaction list clean and organized.
Tap on a grouped transaction to expand and see individual payments within the group.
- Go to Settings > Address Book
- Tap the "+" button
- Enter the contact name
- Choose address type (Lightning or Spark)
- Enter the address
- Tap "Save"
- Go to Settings > Address Book
- Tap on the contact
- Make your changes
- Tap "Save"
- Go to Settings > Address Book
- Tap on the contact
- Tap "Delete"
- Confirm deletion
Lightning Address: Format like name@domain.com. Works with all wallet types.
Spark Address: Format starting with sp1.... Only payable from Spark wallets. These payments are instant and free.
If you have multiple wallets:
- Tap the wallet name at the top of the main screen
- Select the wallet you want to use
- The app switches to that wallet immediately
The active wallet indicator shows which wallet is currently selected.
Your most recently used wallet becomes the default. When you open the app, it will load this wallet automatically.
Toggle between dark and light modes in Settings > Appearance.
Change the app language in Settings > Language.
Set your preferred fiat currency for price display in Settings.
For Spark wallets, additional options are available:
View Seed Phrase: Requires PIN entry. Use this to verify your backup.
Change PIN: Update your wallet PIN.
Delete Wallet: Permanently removes the Spark wallet. Make sure you have your seed phrase backed up before deleting.
Rename: Change the display name for the wallet.
Disconnect: Removes the wallet connection. You can reconnect later.
For technical issues and developer debugging, see Common Issues in the Developer Guide.
Forgot PIN There is no PIN recovery. If you have your seed phrase, delete and restore the wallet:
- Uninstall and reinstall the app
- Select "Restore Wallet"
- Enter your 12-word seed phrase
- Set a new PIN
Payment Failed
- Check your balance is sufficient
- Verify the recipient address is correct
- For Lightning payments, the recipient must have inbound capacity
- Try a smaller amount
Connection Failed
- Verify your NWC string is complete and correct
- Check that your wallet provider is online
- Try generating a new NWC connection string
Balance Not Showing
- Pull down to refresh
- Check your wallet provider app is running
- Verify the NWC connection has balance read permissions
Cannot Send Payment
- Some NWC connections have spending limits
- Check your wallet provider for any restrictions
- Verify the payment destination is valid
Connection Failed
- Verify server URL is correct and uses HTTPS
- Check Admin API key is valid (not Invoice key)
- Try accessing LNBits server in browser first
Payment Failed
- Check wallet has sufficient balance
- Verify invoice is valid and not expired
- Check LNBits server logs for details
App Crashes on Launch
- Force close and reopen the app
- Clear app cache in your device settings
- Reinstall if problems persist (backup first!)
QR Scanner Not Working
- Ensure camera permissions are granted
- Check for adequate lighting
- Try moving closer to or further from the QR code
| Format | Example | Description |
|---|---|---|
| Lightning Invoice | lnbc10u1p... |
One-time payment request with encoded amount |
| Lightning Address | satoshi@wallet.com |
Reusable address, similar to email |
| Spark Address | sp1qw3e... |
Spark network address for zero-fee transfers |
| LNURL | lnurl1dp68... |
Encoded URL for various Lightning operations |
| Bitcoin Address (L1) | bc1p..., bc1q... |
On-chain Bitcoin address (Spark only) |
-
Start Small: Make your first few transactions with small amounts until you are comfortable.
-
Verify Addresses: Always double-check recipient addresses before sending. Bitcoin transactions cannot be reversed.
-
Backup Immediately: For Spark wallets, back up your seed phrase before receiving any funds.
-
Test Receive First: Generate a small test invoice to verify your setup works correctly.
-
Keep PIN Private: Never share your PIN with anyone. BuhoGO support will never ask for it.
If you encounter issues not covered in this guide:
- Check the GitHub Issues for known problems
- Open a new issue with details about your problem
- Include your wallet type (Spark or NWC) and steps to reproduce
- README - Project overview and quick start
- Use Cases - Real-world scenarios and examples
- Developer Guide - Technical documentation for contributors
This guide is updated regularly. Check back for new features and improvements.








