# Welcome to BitBanana! 🍌

BitBanana is not a classical bitcoin lightning wallet as it can only be used in combination with a lightning node.\
Therefore, it is much more like a remote control for your personal lightning node.\
BitBanana combines the full power and control of an always online lightning node with the flexibility of your mobile phone. Use and access your node, wherever you are!

We’ve built the app to offer on-the-spot guidance right from the start, therefore you won't need much documentation. But in case anything feels unclear, please let us know so we can improve. The main area requiring thorough documentation is the setup process, given the many ways it can be done.

Enough talk, let's [get started](/getting-started/overview).

## Discussions and community support

Visit BitBananas [discord](https://discord.gg/Xg85BuTc9A) to get support and engage in its future development.


# Overview

## Lightning Network

BitBanana leverages the Bitcoin Lightning Network, a second-layer framework that enhances the speed and efficiency of Bitcoin transactions. If you’d like to explore how Lightning works, please refer to our dedicated [Lightning Network](/getting-started/lightning-network) section for detailed explanations.

## **BitBananas' use cases**

There are essentially two ways to use BitBanana:

1. Run your own personal Bitcoin Lightning node and control it remotely with BitBanana.
2. Connect to an account hosted on a shared Lightning node (which can be yours or someone else’s).

### Remote controlling your own Lightning node

This approach is fully self-custodial, meaning you must set up your own Lightning node beforehand. In return, you gain enhanced privacy, more features, and maximum flexibility.

BitBanana supports two Lightning implementations: [LND](https://github.com/lightningnetwork/lnd) and [CoreLightning](https://blockstream.com/lightning/).\
Depending on the option you choose, BitBanana might support or lack different features. \
For further information, please check the [backend differences](/getting-started/backend-differences).

\-->  [I want to remote control my own node](/setup/connect-a-lightning-node)

### Connecting to a wallet hosted on a shared Lightning node

In most cases, this arrangement is custodial. The individual or organization running the Lightning node holds control over the funds stored in each wallet. This operator can also view the transaction history for all wallets hosted on that node. That said, there are scenarios where it makes sense:

* Someone runs a node and sets up some wallets for his family members where trust is not a concern.
* You are the operator of the node and want to have different accounts for yourself. In this case it is a self-custodial arrangement.
* You choose to deposit only small amounts, accepting reduced privacy and security for the sake of convenience.

BitBanana allows to connect to such a wallet using [Nost Wallet Connect](https://nwc.dev/) or [LndHub](https://bluewallet.io/lndhub/).\
Depending on the option you choose, BitBanana might support or lack different features. \
For further information, please check the [backend differences](/getting-started/backend-differences).\
\
\-->  [I want to connect to a hosted wallet](/setup/connect-a-hosted-wallet)


# Lightning Network

The Bitcoin Lightning Network is a layer-2 solution built on top of the Bitcoin blockchain that enables faster and cheaper transactions by creating off-chain payment channels between users. Basically, instead of broadcasting a Bitcoin transaction to the public, you exchange pre-signed Bitcoin transactions with your peers that can be published to the blockchain at any time by either party. As it eliminates the requirement to record every single transaction in the blockchain, the Lightning Network is a way to scale Bitcoin.&#x20;

The basic idea is simple, but understanding how it works in detail is very complex. This documentation won’t explain the Lightning Network in depth, but one essential fact deserves attention:

{% hint style="success" %}
**The Lightning Network is built on actual Bitcoin — no shady shitcoin involved!**
{% endhint %}

\
Here’s a brief overview of its pros and cons:

### Pros:

* Fast
* Cheap (for small transactions, costs scale with transaction value)
* Better Privacy (the transactions are not visible to the public, only the final channel balance is)
* Helps scaling bitcoin while preserving its decentralization

### Cons:

* Backups get way more complex
* Liquidity management is very complex
* Your node needs to be online to receive a lightning payment

{% hint style="info" %}
As a rule of thumb, the Lightning Network is ideal for small, everyday payments, while the Bitcoin base layer is better suited for larger transactions.
{% endhint %}


# Backend differences

Your overall BitBanana experience will depend on the backend you choose to connect with.\
Check the [Comparison Tables](#comparison-tables) for a brief summary of the key differences.\
For a comprehensive explanation of the backend-specific limitations, visit the [Detailed Limitations](#detailed-limitations) section.

## Comparison Tables

### Node management

|                                        |                 LND                 |                      Core Lightning                     |          Nostr Wallet Connect         |                 LndHub                |
| -------------------------------------- | :---------------------------------: | :-----------------------------------------------------: | :-----------------------------------: | :-----------------------------------: |
| Manage Peers                           | <mark style="color:green;">✔</mark> |           <mark style="color:green;">✔</mark>           | <mark style="color:red;">**✕**</mark> | <mark style="color:red;">**✕**</mark> |
| Manage channels                        | <mark style="color:green;">✔</mark> |           <mark style="color:green;">✔</mark>           | <mark style="color:red;">**✕**</mark> | <mark style="color:red;">**✕**</mark> |
| Rebalance Channels                     | <mark style="color:green;">✔</mark> | <p><mark style="color:green;">✔</mark><br>(≥ 25.02)</p> | <mark style="color:red;">**✕**</mark> | <mark style="color:red;">**✕**</mark> |
| View Routing Summary                   | <mark style="color:green;">✔</mark> |           <mark style="color:green;">✔</mark>           | <mark style="color:red;">**✕**</mark> | <mark style="color:red;">**✕**</mark> |
| Sign / Verify Message with Node Pubkey | <mark style="color:green;">✔</mark> |           <mark style="color:green;">✔</mark>           | <mark style="color:red;">**✕**</mark> | <mark style="color:red;">**✕**</mark> |
| Manage Watchtowers                     | <mark style="color:green;">✔</mark> |          <mark style="color:red;">**✕**</mark>          | <mark style="color:red;">**✕**</mark> | <mark style="color:red;">**✕**</mark> |
| View Backend Logs                      | <mark style="color:green;">✔</mark> |           <mark style="color:green;">✔</mark>           | <mark style="color:red;">**✕**</mark> | <mark style="color:red;">**✕**</mark> |

### Wallet features

<table><thead><tr><th></th><th align="center">LND</th><th align="center" valign="middle">Core Lightning</th><th align="center">Nostr Wallet Connect</th><th align="center">LndHub</th></tr></thead><tbody><tr><td>Bolt11 receiving</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>Bolt11 sending</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>Bolt12 receiving</td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>Bolt12 sending</td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>Keysend</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark><br>depends on backend</td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>LNURL Pay </td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>LNURL Withdraw</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>LNURL Channel</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>LNURL Auth</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>Pay Lightning Addresses</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr><tr><td>Lightning Fee estimation</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>Pick first Hop</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark><br>(≥ 25.02, not on keysends)</td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>Display lightning payment route</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>On-Chain receive</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:green;">✔</mark><br>depends on backend</td></tr><tr><td>On-Chain send</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>On-Chain Fee estimation</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>Send All (On-Chain)</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>Coin Control</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>Lock / Unlock UTXOs</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td><td align="center"><mark style="color:red;"><strong>✕</strong></mark></td></tr><tr><td>BIP 353 (DNS Payment Instructions)</td><td align="center"><mark style="color:green;">✔</mark></td><td align="center" valign="middle"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td><td align="center"><mark style="color:green;">✔</mark></td></tr></tbody></table>

## Detailed Limitations

The Detailed Limitations section includes only constraints that aren't visible in the [Comparison Tables](#comparison-tables).

### **LND**

For LND, the functionality offered by BitBanana is based on the permissions granted by the Macaroon used to connect to LND. BitBanana adapts its interface accordingly. The table above shows the full feature set available with the Admin Macaroon.

### **Core Lightning**

* Incoming unconfirmed transactions are not recognized and therefore not reflected in the balance
* Transaction history does not display internal transactions (channel events)
* No keysend message display
* No closing transaction id for closed channels < 100 confirmations
* No legacy Segwit addresses (P2PSH)
* No live updates of views (refresh manually)
* No absolute on-chain fee calculation
* UTXOs cannot be locked/unlocked with BitBanana

### Nostr Wallet Connect

* No live updates of views (refresh manually)

### LndHub

* No live updates of views (refresh manually)


# Connect a Lightning node

A lightning node can be set up in numerous ways.\
This documentation will not cover the node setup process itself. Instead, it focuses on the next step — connecting BitBanana to your already operational node.

Don’t have a node? Begin [here](/setup/connect-a-lightning-node/setup-a-node).

## Connection strategies

BitBanana offers multiple ways to connect to your node. Take a moment to explore the pros and cons of each option before deciding on the best connection strategy for your needs.

* **Clearnet**\
  Clearnet offers fast connectivity, but it exposes your IP address. Additionally, your node’s IP address must remain static, which can be tricky for most users.
* **Tor**\
  Tor offers the highest level of privacy, but its performance can be slow and unreliable, especially during network downtime.\
  A major benefit is that it eliminates the need for a static IP address, as the Tor service handles this for you.\ <mark style="color:green;">--> If privacy is your top priority, Tor is the preferred choice.</mark>
* **VPN: Tailscale or Zerotier**\
  An exciting alternative is using Tailscale or Zerotier, offering the same speed as clearnet without requiring a static IP.\
  These services simulate a local network over the internet, ensuring your traffic is encrypted end-to-end. While even the service providers can’t read your data, they do have access to your IP addresses, making it a little less private choice compared to Tor.\ <mark style="color:green;">--> If user experience is your top priority, this is the preferred choice.</mark>&#x20;

{% hint style="info" %}
We recommend a VPN solution using Tailscale or Zerotier due to its excellent combination of security, privacy, and usability (speed).&#x20;
{% endhint %}

## Connect&#x20;

Connecting BitBanana with a node is simple.\
You'll just need a connection URI or a QR code that contains one.\
\
The connection URI must be in one of these two formats:

* [lndconnect URI](/setup/connect-a-lightning-node/lndconnect-uri)
* [cln-grpc URI](/setup/connect-a-lightning-node/clngrpc-uri)

{% hint style="danger" %}
These connection URIs contain all information needed to access the funds of your node / wallet.\
Keep it confidential and do not save or share it anywhere.
{% endhint %}

Next, proceed with the following steps:

{% stepper %}
{% step %}

### Open scan view

Tap the QR code scanner icon located on the home screen.
{% endstep %}

{% step %}

### Scan or paste

Scan the QR code or tap the paste button to input the connection URI you copied earlier.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
As the QR-Code might be very dense, some phones won't scan it. Please fall back to copy/paste in these cases.
{% endhint %}

## Detailed connection instructions

How you obtain these connection URIs will vary based on the project you chose to setup your node.\
Here are step-by-step guides for the most popular projects, arranged alphabetically.

[BTCPay](/setup/connect-a-lightning-node/btcpay)\
[myNode](/setup/connect-a-lightning-node/mynode)\
[nodl](/setup/connect-a-lightning-node/nodl)\
[Raspiblitz](/setup/connect-a-lightning-node/raspiblitz)\
[Start9](/setup/connect-a-lightning-node/start9)\
[Umbrel](/setup/connect-a-lightning-node/umbrel)


# Setup a node

{% hint style="warning" %}
The node that you set up will normally run on a separate device, not your smartphone. Typically, this could be a Raspberry Pi or a computer, and it should stay online at all times. BitBanana will be your remote control for that node.
{% endhint %}

The easiest and most reliable setup for BitBanana is using [Start9](https://start9.com/) or [Umbrel](https://umbrel.com/) to run LND. However, many options are available. The setup method for your node doesn’t matter much, as long as it’s based on a LND or Core Lightning node.&#x20;

Here’s a list of noteworthy projects that simplify the setup, presented alphabetically.

* [myNode](https://mynodebtc.com/)
* [Nakamochi](https://nakamochi.io/)
* [nodl](https://www.nodl.eu/)
* [RaspiBlitz](https://github.com/raspiblitz/raspiblitz)
* [RaspiBolt](https://raspibolt.org/) (Step-by-Step DIY Guide)
* [Start9](https://start9.com/)
* [Umbrel](https://umbrel.com/)


# lndconnect URI

[lndconnect](https://github.com/LN-Zap/lndconnect) is a connection URI that allows connecting to LND nodes.

It looks like this:

```
lndconnect://<HOST>:<PORT>?cert=<certificate_encoded_as_base64url>&macaroon=<macaroon_encoded_as_base64url>
```

It contains the following information:

* Host and port (specifies the node's address)
* Host certificate (for secure communication, not needed when tor is used)
* Macaroon (permission handling for LND nodes)

{% hint style="info" %}
BitBanana automatically tailors its interface to match the permissions of the macaroon in use. Whether it's read-only, admin or a custom one, the app ensures users only see what they’re allowed to use. For instance, with a read-only macaroon, send functionality is disabled.
{% endhint %}


# clngrpc URI

{% hint style="warning" %}
CoreLightning recently changed the format of their connection URI. BitBanana v0.9.9 is required for this to work.
{% endhint %}

clngrpc is a connection URI to connect to Core Lightning nodes via gRPC.

It looks like this:

```
clngrpc://<HOST>:<PORT>?pubkey=<pubkey>&protoPath=<path-to-proto>&certs=<combined-base64-encoded-clientkey-clientcert-cacert>
```

It contains the following information:

* The host and port (specifies the node's address)
* The node's pubkey (BitBanana does not use this information)
* A client certificate & key (to authenticate the client to the host)
* A cacert (to authenticate the host to the client)


# BTCPay

[BTCPay](https://btcpayserver.org/) is designed for merchants that want to accept bitcoin payments.\
It is open source and supports on-chain and lightning payments.

### How to connect BitBanana:

{% hint style="info" %}
This is possible, but no details available yet. Help us complete it!
{% endhint %}


# myNode

[myNode](https://mynodebtc.com/) aims to be the easiest way to run a dedicated, easy to use, Bitcoin Node and Lightning Wallet!

### Connect to LND via Tor:

{% stepper %}
{% step %}
In your myNode GUI, open the LND connect page and enter your myNode password
{% endstep %}

{% step %}
Choose "Lightning (gRPC + Tor)"
{% endstep %}

{% step %}
Scan the QR code with BitBanana or copy/paste the lndconnect URL
{% endstep %}
{% endstepper %}

### Connect to LND via Tailscale:

{% stepper %}
{% step %}
On your myNode, go to the Network section of the Marketplace and install the Tailscale app
{% endstep %}

{% step %}
Install the Tailscale app on your android phone
{% endstep %}

{% step %}
Create a Tailscale account
{% endstep %}

{% step %}
In your myNode GUI, open the LND connect page and enter your myNode password
{% endstep %}

{% step %}
Choose "Lightning (gRPC + Tor)"
{% endstep %}

{% step %}
Scan the QR code with BitBanana or copy/paste the lndconnect URL
{% endstep %}

{% step %}
In BitBanana navigate to <mark style="background-color:orange;">Main menu --> Nodes</mark> and select the node you have just added
{% endstep %}

{% step %}
Click on "Change data"
{% endstep %}

{% step %}
Replace the host with the Tailscale IP address of your node
{% endstep %}

{% step %}
If you want the Tailscale VPN to automatically start whenever you use the node, choose Tailscale under VPN-Automation
{% endstep %}

{% step %}
Turn off "Certificate Verfication" (If you don't want to do this, you will have to add the Tailscale IP to "tlsextraip=" in your lnd.conf and regenerate the certificate)
{% endstep %}

{% step %}
Save the changes
{% endstep %}
{% endstepper %}


# Nakamochi

[Nakamochi](https://nakamochi.io/) takes on the challenge to make bitcoin nodes usable to a broad audience.

### Connect to Nakamochi via Tor:

{% stepper %}
{% step %}
On your Nakamochi, select the **“LIGHTNING”** tab.
{% endstep %}

{% step %}
In the **“Pairing”** section, tap the **“Pair”** button.
{% endstep %}

{% step %}
Ensure **BitBanana** is selected from the dropdown.
{% endstep %}

{% step %}
Open **BitBanana** and scan the QR code shown on Nakamochi’s screen.
{% endstep %}
{% endstepper %}


# nodl

[nodl](https://www.nodl.eu/) is an open-source project aimed at providing users with the tools to be financially sovereign through the use of hardware and software that respects your privacy.

#### Connect to LND via Tor: <a href="#connect-to-core-lightning-via-tor" id="connect-to-core-lightning-via-tor"></a>

{% hint style="info" %}
This is possible, but no details available yet. Help us complete it!
{% endhint %}


# RaspiBlitz

The [RaspiBlitz](https://github.com/rootzoll/raspiblitz) is a do-it-yourself Lightning Node running together with a Bitcoin-Fullnode on a RaspberryPi and a nice display for easy setup & monitoring.

### Connect to LND via Tor:

{% stepper %}
{% step %}
Go to RaspiBlitz dashboard --> Connect menu --> Mobile – Connect Mobile wallet
{% endstep %}

{% step %}
Choose "ZAP\_ANDROID     Zap/BitBanana to LND (Andoid)"
{% endstep %}

{% step %}
Scan the QR code with BitBanana or copy/paste the lndconnect URL
{% endstep %}
{% endstepper %}

### Connect to LND via Tailscale:

{% hint style="info" %}
This is possible, but no details available yet. Help us complete it!
{% endhint %}

### Connect to Core Lightning via Tor:

{% hint style="info" %}
This is possible, but no details available yet. Help us complete it!
{% endhint %}

### Connect to Core Lightning via Tailscale:

{% hint style="info" %}
This is possible, but no details available yet. Help us complete it!
{% endhint %}


# Start9

[Start9](https://start9.com/) is a powerful self-hosted server solution that runs on StartOS, a browser-based graphical operating system designed for hosting various software services like Nextcloud, Bisq, SimpleX, and many more.

### Connect to LND via Tor:

{% stepper %}
{% step %}
Click on "LND" in the list of installed services

<figure><img src="https://github.com/michaelWuensch/BitBanana/assets/15313630/1996fe9c-b49d-443d-bb65-d81f7d4de33e" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Access the "Properties" section for LND

<figure><img src="https://github.com/michaelWuensch/BitBanana/assets/15313630/22ae38cb-83d8-42a8-a44a-7d2e19dc0234" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Look for the LND Connect gRPC URL provided

<figure><img src="https://github.com/michaelWuensch/BitBanana/assets/15313630/aba40e22-455a-4812-b2c4-36127477c7c8" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Scan the QR code with BitBanana or copy/paste the lndconnect URL

<figure><img src="https://github.com/michaelWuensch/BitBanana/assets/15313630/8b1de01a-325a-472c-9dec-f2aad9ab4007" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### Connect to Core Lightning via Tor:

{% hint style="info" %}
This is possible, but no details available yet. Help us complete it!
{% endhint %}


# Umbrel

[Umbrel](https://umbrel.com/) is an OS for running a personal server in your home. Self-host open source apps like Nextcloud, Bitcoin node, and more.

### Connect to LND via Tor:

{% stepper %}
{% step %}
Open the "Lightning Node" app on your Umbrel
{% endstep %}

{% step %}
Use the three dots in the top right and select "Connect wallet"
{% endstep %}

{% step %}
Choose "gRPC(Tor)" as mode
{% endstep %}

{% step %}
Scan the QR code with BitBanana or copy/paste the lndconnect URL
{% endstep %}
{% endstepper %}

### Connect to LND via Tailscale:

{% stepper %}
{% step %}
On your Umbrel, go to the App Store and install the Tailscale app
{% endstep %}

{% step %}
Install the Tailscale app on your android phone
{% endstep %}

{% step %}
Create a Tailscale account
{% endstep %}

{% step %}
Open the "Lightning Node" app on your Umbrel
{% endstep %}

{% step %}
Use the three dots in the top right and select "Connect wallet"
{% endstep %}

{% step %}
Choose  gRPC(Local Network)  as mode
{% endstep %}

{% step %}
Scan the QR code with BitBanana or copy/paste the lndconnect URL
{% endstep %}

{% step %}
In BitBanana navigate to <mark style="background-color:orange;">Main menu --> Nodes</mark> and select the node you have just added
{% endstep %}

{% step %}
Click on "Change data"
{% endstep %}

{% step %}
Replace the host with the IP address that is shown when you open the Tailscale app on your Umbrel
{% endstep %}

{% step %}
If you want the Tailscale VPN to automatically start whenever you use the node, choose Tailscale under VPN-Automation
{% endstep %}

{% step %}
Turn off "Certificate Verfication" (If you don't want to do this, you will have to add the Tailscale IP to "tlsextraip=" in your lnd.conf and regenerate the certificate)
{% endstep %}

{% step %}
Save the changes
{% endstep %}
{% endstepper %}

### Connect to Core Lightning via Tor:

{% hint style="info" %}
This is possible, but no details available yet. Help us complete it!
{% endhint %}

### Connect to Core Lightning via Tailscale:

{% stepper %}
{% step %}
On your Umbrel, go to the App Store and install the Tailscale app
{% endstep %}

{% step %}
Install the Tailscale app on your android phone
{% endstep %}

{% step %}
Create a Tailscale account
{% endstep %}

{% step %}
Open the "Core Lightning" app on your Umbrel
{% endstep %}

{% step %}
Click on the "Settings" button in the top right and select "Connect wallet"
{% endstep %}

{% step %}
Choose  "gRPC"  in the  "Network"  dropown  as mode
{% endstep %}

{% step %}
Click on the QR code to enlarge it and scan it with BitBanana or copy/paste the "Connection URL"
{% endstep %}

{% step %}
In BitBanana navigate to <mark style="background-color:orange;">Main menu --> Nodes</mark> and select the node you have just added
{% endstep %}

{% step %}
Click on "Change data"
{% endstep %}

{% step %}
Replace the host with the IP address that is shown when you open the Tailscale app on your Umbrel
{% endstep %}

{% step %}
If you want the Tailscale VPN to automatically start whenever you use the node, choose Tailscale under VPN-Automation
{% endstep %}

{% step %}
Save the changes
{% endstep %}
{% endstepper %}


# Connect a hosted wallet

Setting up BitBanana with a hosted wallet is simple.\
You'll just need a connection URI or a QR code that contains one.\
\
The connection URI must be in one of these two formats:

* [LndHub URI](/setup/connect-a-hosted-wallet/lndhub-uri)
* [Nostr Wallet Connect URI](/setup/connect-a-hosted-wallet/nostr-wallet-connect-uri)

{% hint style="danger" %}
These connection URIs contain all information needed to access the funds of your wallet.\
Keep it confidential and do not save or share it anywhere.
{% endhint %}

## Connect

{% stepper %}
{% step %}

### Open scan view

Tap the QR code scanner icon located on the home screen.
{% endstep %}

{% step %}

### Scan or paste

Scan the QR code or tap the paste button to input the connection URI you copied earlier.
{% endstep %}
{% endstepper %}

## Detailed connection instructions

If you haven’t received a connection string and need to obtain one yourself, the process will depend on your specific setup.\
Here are step-by-step guides for the most popular projects, arranged alphabetically.<br>

* [AlbyHub](/setup/connect-a-hosted-wallet/alby)
* [LNbits](/setup/connect-a-hosted-wallet/lnbits)


# LndHub URI

An LndHub URI is used to connect to wallets that use the LndHub protocol.&#x20;

It looks like this:

```
lndhub://<USERNAME>:<PASSWORD>@<HOST>
```

It contains the following information:

* The host (points to the LndHub instance)
* Username (identifies the associated wallet)
* Password (the user's password)

{% hint style="danger" %}
LndHub functions as an accounting layer built on top of an LND node. However, this arrangement is custodial, as the operator has control over all funds within the accounts. Only connect to an LndHub account if you trust the operator and only deposit what you are willing to lose.
{% endhint %}


# Nostr Wallet Connect URI

A Nostr Wallet Connect URI is used to connect to wallet that use the [Nostr Wallet Connect](https://nwc.dev/) (NWC) protocol.

It looks like this:

```
nostr+walletconnect://<PUBKEY>?relay=<RELAY>&secret=<SECRET>
```

It contains the following information:

* Pubkey&#x20;
* Relay (URL of the relay where the **wallet service** is connected and will be listening for events.)
* Secret&#x20;


# Alby

[Alby](https://getalby.com/) is powering web economies with bitcoin.

### Connect to an Alby Hub wallet:

{% stepper %}
{% step %}
On Alby Hub go to "Connections"
{% endstep %}

{% step %}
Click on "Add Connection"
{% endstep %}

{% step %}
Give the connection a name, choose its permissions and hit "Next"
{% endstep %}

{% step %}
Scan the QR code with BitBanana or copy/paste the Nostr Wallet Connect URI
{% endstep %}
{% endstepper %}

### Connect to an Alby account (<mark style="color:red;">deprecated</mark>):

{% stepper %}
{% step %}
Login to your Alby account
{% endstep %}

{% step %}
Go to your Alby dashboard
{% endstep %}

{% step %}
Choose the "Connect" tab
{% endstep %}

{% step %}
Naviagete to "LNDhub credentials"
{% endstep %}

{% step %}
Click on "Create new LNDhub credentials"
{% endstep %}

{% step %}
Scan the QR code with BitBanana or copy/paste the LndHub URI
{% endstep %}
{% endstepper %}


# LNbits

[LNbits](https://lnbits.com/) is a powerful suite of bitcoin tools. It provides lots of extensions and allows for more advanced use cases like managing an accounting system on a single node.\
With the help of the LndHub extension BitBanana is able to connect to those wallets.\ <br>

### Connect to LNBits wallet via "NWC Service Provider" extension:

{% stepper %}
{% step %}
Login to your LNBits account
{% endstep %}

{% step %}
If you have the "Nostr Clien&#x74;***"*** extension already installed and configured, continue with step 9. If not, go to "Extensions"
{% endstep %}

{% step %}
Search for "Nostr"
{% endstep %}

{% step %}
In the "Nostr Client" box click on "Manage" and choose a source to install the extension
{% endstep %}

{% step %}
Enable the extension
{% endstep %}

{% step %}
Go to the "Nostr Client" extension page
{% endstep %}

{% step %}
Add at least one Relay
{% endstep %}

{% step %}
Go to the settings and enable "Expose Public Websocket" and hit "update"
{% endstep %}

{% step %}
If you have the "NWC Service Provide&#x72;**"** extension already installed, continue with step 13. If not, go to "Extensions"
{% endstep %}

{% step %}
Search for "NWC"
{% endstep %}

{% step %}
In the "NWC Service Provider" box click on "Manage" and choose a source to install the extension
{% endstep %}

{% step %}
Enable the extension
{% endstep %}

{% step %}
Go to the "NWC Service Provide&#x72;**"** extension page
{% endstep %}

{% step %}
Choose the desired wallet in the dropdown
{% endstep %}

{% step %}
Click on the "+" under Connected Apps
{% endstep %}

{% step %}
Adapt the connection settings to your needs, then click on "Connect"
{% endstep %}

{% step %}
Scan the QR code with BitBanana or copy/paste the provided pairing URL
{% endstep %}
{% endstepper %}

### Connect to LNBits wallet via "LndHub" extension:

{% stepper %}
{% step %}
Login to your LNBits account
{% endstep %}

{% step %}
If you have the "LndHub" extension already installed, continue with step 6. If not, go to "Extensions"
{% endstep %}

{% step %}
Search for "LndHub"
{% endstep %}

{% step %}
In the "LndHub" box click on "Manage" and choose a source to install the extension
{% endstep %}

{% step %}
Enable the extension
{% endstep %}

{% step %}
Go to the "LndHub" extension page
{% endstep %}

{% step %}
Choose the desired wallet in the dropdown
{% endstep %}

{% step %}
Scan the QR code with BitBanana or copy/paste the provided connection URI
{% endstep %}
{% endstepper %}


# Customize

BitBanana's commitment to also serving experts means offering a rich set of features. However we recognize that not everyone may require all of these functionalities. With our customizable settings, you have the flexibility to hide any features that are not relevant to your needs, keeping the UI lean and simple.\
\
Here’s how you do it:

{% stepper %}
{% step %}
Open the main menu
{% endstep %}

{% step %}
Navigate to:  <mark style="background-color:orange;">Settings --> Features</mark>&#x20;
{% endstep %}

{% step %}
Enable/disable the desired features
{% endstep %}
{% endstepper %}


# Quick Receive Setup

{% hint style="info" %}
BitBanana v0.9.6 or newer is required
{% endhint %}

There are many ways and options to receive Bitcoin. On-chain, Lightning invoice, BOLT12, Lightning Address, with or without a specified amount, and so on.\
However, with all those options, it can take a few extra taps just to view your receive QR code.

BitBanana keeps it simple. You can set a quick receive method for each node / wallet. So when you tap 'Receive', your QR code shows up right away. Need something different? Just tap 'Adjust' and all the choices are there.

## Set it up

{% stepper %}
{% step %}
Tap **'Receive'**.
{% endstep %}

{% step %}
In the dialog that appears, tap the **settings gear icon** in the top right corner.
{% endstep %}

{% step %}
You'll find various options to customize your default receive method—each will be explained below.
{% endstep %}
{% endstepper %}

## Quick Receive Types

Some options may not be available, depending on the backend you’ve selected while setting up your node / hosted wallet.

### Off

With Quick Receive turned off, you'll be asked to select what you want every time you press 'Receive'.

### Lightning Address

A Lightning Address is a simple, human-readable identifier that looks like an email address.\
See the [Lightning Address](/using-bitbanana/lightning-address) section for details on how to get one.\
Once you have your Lightning Address, just enter it into the designated field.

{% hint style="info" %}
**Summary**

**Receive type:**  Lightning\
**Compatibility:**  High (LNURL), Low (DNS entry)\
**QR code density:**  Low\
**Example result:**  lightning:<you@example.com>
{% endhint %}

### Payment Code

Also referred to as **BOLT 12**, a Payment Code is a static, reusable identifier that requires no web service.\
It contains all the necessary information to send a payment directly over the Lightning Network. Simply create and select it from within BitBanana.

{% hint style="info" %}
**Summary**

**Receive type:**  Lightning\
**Compatibility:**  Low\
**QR code density:**  Medium\
**Example result:** lightning:lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrc2pf2x2um5ypzx2umrwgtzzq5zur4lqjht6k9yz8zn7k4j0w4xnq2drn86pr44ec4jtylw3gy5e5
{% endhint %}

### On-chain Address

This will use the next unused on-chain address. However, it’s not recommended because it doesn’t support Lightning payments.

{% hint style="info" %}
**Summary**

**Receive type:**  On-Chain\
**Compatibility:**  High\
**QR code density:**  Medium\
**Example result:**  bitcoin:bc1pdrw973c5vfajajz9wdzmy478mtw6f934rxqqpqu33ha2m6zrs8ks9gk0ut
{% endhint %}

### On-chain + Lightning Address

This method uses the next unused on-chain address as a fallback when the sender doesn’t support Lightning payments.\
For all other senders, the Lightning Address can be used to send payments via the Lightning Network. See the [Lightning Address](/using-bitbanana/lightning-address) section for details on how to get one.

{% hint style="info" %}
**Summary**

**Receive type:**  On-chain and Lightning\
**Compatibility:**  High\
**QR code density:**  Medium\
**Example result:**  bitcoin:bc1pqftujmvjrt7q5qf500ptw27lpqt3n04r9namhsnfykht3mzs2wtq2uqstx?lightning=<you@example.com>
{% endhint %}

### On-chain + Payment Code

This method uses the next unused on-chain address as a fallback when the sender doesn’t support Payment Codes.\
For all other senders, the Payment Code can be used to send payments via the Lightning Network.\
Simply create and select your payment code from within BitBanana.

{% hint style="info" %}
**Summary**

**Receive type:**  On-chain and Lightning\
**Compatibility:**  High (on-chain), Low (Lightning)\
**QR code density:**  High\
**Example result:**  bitcoin:bc1pkf7j2el54es3hz6ws8qcgnqngfgax78a5f3gmzz38ld72qm5323qdaz6hm?lno=lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrc2pf2x2um5ypzx2umrwgtzzq5zur4lqjht6k9yz8zn7k4j0w4xnq2drn86pr44ec4jtylw3gy5e5
{% endhint %}


# Lightning Address

There are essentially two types of Lightning Addresses that appear similar but function very differently behind the scenes. Each has its own pros and cons and is obtained through different methods.

## Lightning Addresses based on the LNURL protocol

This is the original method, which relies on a web server to handle the payment process. Essentially, you authorize the server to create invoices on your behalf. When someone attempts to pay your Lightning Address, their wallet contacts the server, which in turn connects to your node or wallet to generate an invoice. That invoice is then sent back to the sender. The major drawback here is that the server sees all the payment details—resulting in poor privacy.

### **How to get one**

You have to use a web service that supports this type of Lightning Addresses, such as [lnaddress.me](https://lnaddress.me/) or [getalby.com](https://getalby.com/). Alternatively, you can run your own service, using your own domain and avoiding any third-party privacy concerns. This can be done with LNbits’ lnaddress extension or by self-hosting [satdress](https://github.com/nbd-wtf/satdress).\
A lot of wallets offer built-in solutions with their own servers, so users get a Lightning Address without much effort. BitBanana, though, puts privacy first—and that means not running a server that could see your payment activity.

### Pros & Cons

<mark style="color:green;">✔</mark> **Widely Supported:** Almost all major wallets and services support it\ <mark style="color:red;">**✕**</mark> **Poor privacy:** The web server can see your payment activity and payment details, like amount, comments, etc. (Unless you decide to self-host, which gets more complicated.)

## Lightning Addresses based on DNS Records (Bip353)

This is the newer, privacy-focused way of handling Lightning Addresses, as defined in BIP353. It still uses the familiar email-style format (like `name@domain.com`), but skips the web server entirely. Instead, the sender’s wallet looks up your payment info using DNS, which is then used to initiate an end-to-end encrypted Lightning transaction directly with your node or wallet.

### **How to get one**

Setting up a BIP353-compatible Lightning Address requires publishing a DNS record that others can query. This record contains a static payment code (BOLT12 offer), which you can host via a third-party service like [twelve.cash](https://twelve.cash)—or self-host it running [twelvecash](https://github.com/ATLBitLab/twelvecash) on your own domain.

### Pros & Cons

<mark style="color:green;">✔</mark> **Good privacy**\ <mark style="color:red;">**✕**</mark> **Limited Support (for now):** Only a few wallets (like Zeus or Phoenix) support sending to such an address.\ <mark style="color:red;">**✕**</mark> **Limited Availability (for now):** Setting one up requires BOLT12 support, which currently only works with Core Lightning when using BitBanana.


# Emergency Password / PIN

{% hint style="info" %}
BitBanana v0.9.7 or newer is required
{% endhint %}

An emergency password or PIN is designed for situations where you are being forced to unlock your wallet by someone else. If you enter this emergency password or PIN instead of your regular one, BitBanana will appear to unlock normally while quietly performing additional protective actions. Depending on your chosen emergency mode, it may erase all your connections or show only a wallet with a small amount of funds.

{% hint style="info" %}
When the app is unlocked with an emergency password or PIN, the <mark style="background-color:orange;">Settings → App Lock</mark> screen will show as if no emergency unlock is configured. This is intentional to ensure an attacker cannot detect if you have set up an emergency unlock.
{% endhint %}

{% hint style="warning" %}
It’s a good idea to make a backup and test it once or twice after setup so you’re comfortable using it.
{% endhint %}

## Emergency Modes

### Erase all

In this mode, the emergency unlock will delete all connections and contacts, making the app look like a fresh install. Keep in mind that if the person forcing you to unlock the app knows you have funds, they may become upset or suspicious when they see everything wiped.\
If you use this method, it's a good idea to create backups regularly so you can easily restore them later if needed.

### Show selected wallet only

This mode is designed for users who have multiple node or wallet connections in BitBanana. When using the emergency unlock, BitBanana will show only the specific connection you’ve selected in the settings while hiding all other connections and all your contacts. A good practice is to have a connection to a hosted wallet with just a small amount of sats. This way, you can provide the attacker with a minimal balance while keeping your other connections/wallets hidden.

{% hint style="warning" %}
If you change or remove your password, PIN, emergency password or emergency PIN while the app is unlocked using this emergency method, all contacts and all connections except the one used for display will be deleted. This ensures that an attacker cannot simply remove the PIN and gain access to all your connections.
{% endhint %}


# Privacy

BitBanana is committed to protecting your privacy. We don’t collect or store any data, so we won't even know if you're using our app. However, if you want to take your privacy a step further, there are extra measures you can consider.

### Tor

BitBanana has built in Tor support. Tor enhances privacy and security by anonymizing internet traffic, making it difficult for third parties to track users' online activities or determine their location. However, this comes at the cost of reduced speed.

To turn on Tor, navigate to the settings, then flip the Tor switch. Now all web requests will be routed through the Tor network without exception.

{% hint style="warning" %}
The Tor switch in the settings does not determine whether the connections to your nodes use Tor. This must be configured separately in the connection settings for each node. \
Furthermore looking up an address or a transaction in a block explorer is not affected by this switch either, as doing so involves opening a link in your browser, not in BitBanana itself.\
The switch only applies to web requests such as fetching the current exchange rate, estimating fees, or interacting with the LNURL protocol.
{% endhint %}

{% hint style="warning" %}
If Tor is enabled, exchange rate requests may fail due to Cloudflare blocking traffic from the Tor network. If this is the case for you, consider switching to a different exchange rate provider in the advanced settings.
{% endhint %}

### Exchange rate requests

To display fiat values, BitBanana fetches current exchange rates every 90 seconds by making a request to a web service that may expose your IP address (unless you're using Tor). However, BitBanana never requests the conversion of specific values that could reveal your balances. It only retrieves exchange rates, meaning the only exposed information is: *"IP Address xxx is requesting current exchange rates."*\
\
There are several ways how you can further improve your privacy here:

* If you don't need fiat values, navigate to <mark style="background-color:orange;">Settings --> Currencies</mark> and choose only Bitcoin units. From that point on, BitBanana will no longer fetch exchange rate data.
* Enable <mark style="background-color:orange;">Settings --> Tor</mark> to hide your IP address.

### Block Explorer

The block explorer allows you to lookup blockchain addresses and transactions. However, when you view a specific transaction, the block explorer (a third-party web service) may potentially collect some information about you.\
It could identify your IP address and track which transactions you’re viewing.

Here are some methods to further protect your privacy:

* &#x20;To hide your IP address, navigate to <mark style="background-color:orange;">Settings --> Advanced Settings --> Block Explorer</mark> and choose "Blockstream (v3 Tor)". This solution requires a tor browser on your smartphone.
* Host your own block explorer. In theory this can by any block explorer, but in this example we will setup a [Mempool](https://github.com/mempool/mempool) block explorer.\
  Navigate to  <mark style="background-color:orange;">Settings --> Advanced Settings --> Block Explorer</mark> and choose "Custom ...". Then open the custom block explorer settings by going to  <mark style="background-color:orange;">Settings --> Advanced Settings --> Custom Block Explorer</mark> .

  * Set "Host" to the address where your hosted Mempool is reachable. E.g. <http://192.168.0.12:8080>
  * Set "Address Suffix" to /address/
  * Set "Transaction Suffix" to /tx/

  Congrats! You can now explore blockchain addresses and transactions securely, with no data exposure.

### Fee Estimation

BitBanana provides fee estimates by regularly sending requests to a web service, potentially exposing your IP address unless using Tor. However, no specific transaction data is involved — it only requests general fee estimates to get the sats/vB required for confirmation within a preferred time frame. The only exposed information is: *"IP Address xxx is requesting current fee estimates."*\
\
There are several ways how you can further improve your privacy here:

* Enable <mark style="background-color:orange;">Settings --> Tor</mark> to hide your IP address.
* Host your own fee estimator using [Mempool](https://github.com/mempool/mempool).\
  Navigate to  <mark style="background-color:orange;">Settings --> Advanced Settings --> Fee Estimation</mark> and choose "Custom ...". Then open the custom fee estimation settings by going to  <mark style="background-color:orange;">Settings --> Advanced Settings --> Custom Fee Estimation</mark> .
  * Set "Type" to Mempool
  * Set "Host" to the address where your hosted Mempool is reachable. E.g. <http://192.168.0.12:8080>


# Troubleshooting

BitBanana aims to provide clear and helpful error messages, which should usually be enough to resolve your issue. If not, you can enable logging by navigating to

&#x20;<mark style="background-color:orange;">Settings --> Features --> Logs</mark>&#x20;

Reproduce the issue, then check the logs under:

&#x20;<mark style="background-color:orange;">Main menu --> Logs</mark>&#x20;

The detailed messages there may offer more insights. If you still need assistance, feel free to create a [GitHub issue](https://github.com/michaelWuensch/BitBanana/issues) or ask on our [Discord](https://discord.gg/Xg85BuTc9A). Including the logs will help developers diagnose the problem faster.

{% hint style="danger" %}
The logs may contain sensitive data. Carefully check and remove any sensitive data before posting a log on GitHub or Discord.
{% endhint %}


# FAQ

<details>

<summary>Is BitBanana really for free?</summary>

Absolutely! All fees paid within the app are Bitcoin network fees. BitBanana does not receive a single satoshi.

</details>

<details>

<summary>How is BitBanana financed?</summary>

BitBanana is mostly a one-person effort. There’s no funding behind it and no business model in place. I work on it in my free time because I personally want this kind of app to exist.\
If you’d like to support it, feel free to [donate](https://bitbanana.app/donate).\
\
I’d also like to express my gratitude to [GitBook](https://www.gitbook.com/) and [Weblate](https://weblate.org/) for generously supporting the project with their free services.

</details>

<details>

<summary>What is the difference to Zeus?</summary>

[Zeus](https://zeusln.com/) is probably the closest alternative to BitBanana. It’s a great app built by a different team, and the two share many features, though each has its own unique strengths. BitBanana emphasizes user experience and focuses on remote controlling a node, while Zeus tends to move faster in adopting new features, includes an embedded node and offers integrated paid services to simplify node management.\
\
[Here](/about/faq/bitbanana-vs-zeus) is a detailed comparison.

</details>

<details>

<summary>Will there be iOS support?</summary>

No. BitBanana is built natively for Android. Creating an iOS version would mean starting from scratch. Moreover BitBanana embraces openness and user sovereignty — values that iOS, with its walled-garden approach, doesn't support well.

</details>

<details>

<summary>Will BitBanana support a local node on the device itself?</summary>

Most likely not — at least for now.\
Running a local node comes with significant drawbacks. If those challenges are eventually solved in a practical way, we’ll gladly revisit the idea. For the time being, our focus remains on providing robust remote node control.

Here are the key reasons why local node support isn’t planned at the moment:

* Local nodes are frequently offline and unable to route transactions which ties up liquidity on routing nodes. A Lightning Network filled with passive, offline nodes isn’t the future we believe in. To keep the network vibrant and efficient, we focus on enabling users to run reliable, always-on routing nodes — and making that as easy as possible.
* More complex backups
* Migrating to a new phone becomes difficult
* If the phone is lost or stolen, all channels will be closed during restore process
* Channel management still remains too complex for most users (What's the use of a local node if it is still to complex for beginners? Experts can and should run a dedicate node anyway)
* Larger app size
* Higher bandwidth requirements (node must stay synced)
* Increased energy consumption
* More ongoing maintenance
* It takes time to implement
* BitBanana risks losing its core focus

</details>

<details>

<summary>Why isn’t BitBanana more popular?</summary>

I’m terrible at self-promotion — no social media strategy, no conference appearances. I try to let the work speak for itself.\
But if you think BitBanana deserves more attention, go ahead and make some noise — I’d really appreciate it!

</details>


# BitBanana vs Zeus

[Zeus](https://zeusln.com/) is probably the closest alternative to BitBanana. It’s a great app built by a different team, and the two share many features, though each has its own unique strengths. BitBanana emphasizes user experience and focuses on remote controlling a node, while Zeus tends to move faster in adopting new features, includes an embedded node and offers integrated paid services to simplify node management.\
If you are not missing a specific feature it most likely comes down to the User Experience and personal taste.\
\
The following comparison is intended to help you choose the right app for you. If anything should be wrong or missing in the tables, please let me know.

**Compatibility and connection**

|                                      |                         BitBanana (1.0.0)                         |                           Zeus (0.11.3)                           |
| ------------------------------------ | :---------------------------------------------------------------: | :---------------------------------------------------------------: |
| Android Support                      | <p><mark style="color:green;">✔</mark><br>Android 8 or higher</p> | <p><mark style="color:green;">✔</mark><br>Android 9 or higher</p> |
| iOS Support                          |               <mark style="color:red;">**✕**</mark>               |                <mark style="color:green;">✔</mark>                |
| Run local node on phone              |               <mark style="color:red;">**✕**</mark>               |                <mark style="color:green;">✔</mark>                |
| Connect to LND (gRPC[^1])            |                <mark style="color:green;">✔</mark>                |               <mark style="color:red;">**✕**</mark>               |
| Connect to LND (REST)                |               <mark style="color:red;">**✕**</mark>               |                <mark style="color:green;">✔</mark>                |
| Connect to LND (LNC)                 |               <mark style="color:red;">**✕**</mark>               |                <mark style="color:green;">✔</mark>                |
| Connect to Core Lightning (gRPC[^1]) |                <mark style="color:green;">✔</mark>                |               <mark style="color:red;">**✕**</mark>               |
| Connect to Core Lightning (REST)     |               <mark style="color:red;">**✕**</mark>               |                <mark style="color:green;">✔</mark>                |
| LndHub support                       |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Nostr Wallet Connect support         |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |

**Security & Privacy features**

|                                                  |                                        BitBanana (1.0.0)                                        |                                                   Zeus (0.11.3)                                                  |
| ------------------------------------------------ | :---------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------: |
| Open Source                                      |                               <mark style="color:green;">✔</mark>                               |                                        <mark style="color:green;">✔</mark>                                       |
| Reproducible                                     |                               <mark style="color:green;">✔</mark>                               |                                        <mark style="color:green;">✔</mark>                                       |
| Available on F-Droid                             |                               <mark style="color:green;">✔</mark>                               |                        <p><mark style="color:green;">✔</mark> </p><p>custom repository</p>                       |
| Self-custodial                                   |                               <mark style="color:green;">✔</mark>                               |                                        <mark style="color:green;">✔</mark>                                       |
| ZERO data collection                             | <p><mark style="color:green;">✔</mark><br>BitBanana doesn't even know you are using the app</p> | <p><mark style="color:orange;"><strong>—</strong></mark><br>Using their services shares some data with Zeus.</p> |
| Tor                                              |                               <mark style="color:green;">✔</mark>                               |                                        <mark style="color:green;">✔</mark>                                       |
| PIN access protection                            |                   <p><mark style="color:green;">✔</mark><br>4 - 10 digits</p>                   |                            <p><mark style="color:green;">✔</mark><br>4 - 8 digits</p>                            |
| Scrambled PIN field                              |                               <mark style="color:green;">✔</mark>                               |                                        <mark style="color:green;">✔</mark>                                       |
| Password access protection                       |                               <mark style="color:green;">✔</mark>                               |                                        <mark style="color:green;">✔</mark>                                       |
| [Emergency password/PIN](#user-content-fn-2)[^2] |                               <mark style="color:green;">✔</mark>                               |                                        <mark style="color:green;">✔</mark>                                       |
| Biometrics (optional)                            |                               <mark style="color:green;">✔</mark>                               |                                        <mark style="color:green;">✔</mark>                                       |
| Coin Control                                     |                               <mark style="color:green;">✔</mark>                               |                                        <mark style="color:green;">✔</mark>                                       |
| Supports self-hosted block explorer              |                               <mark style="color:green;">✔</mark>                               |                                        <mark style="color:green;">✔</mark>                                       |
| Supports self-hosted exchange rate provider      |                               <mark style="color:green;">✔</mark>                               |                                       <mark style="color:red;">**✕**</mark>                                      |
| Supports self-hosted fee estimation provider     |                               <mark style="color:green;">✔</mark>                               |                                       <mark style="color:red;">**✕**</mark>                                      |
| [User guardian](#user-content-fn-3)[^3]          |                               <mark style="color:green;">✔</mark>                               |     <p><mark style="color:orange;"><strong>—</strong></mark><br>Yes, but not as consistent as BitBanana.</p>     |
| Screen recording protection                      |                               <mark style="color:green;">✔</mark>                               |                                       <mark style="color:red;">**✕**</mark>                                      |
| Hide balances                                    |                               <mark style="color:green;">✔</mark>                               |                                        <mark style="color:green;">✔</mark>                                       |
| [Stealth mode](#user-content-fn-4)[^4]           |                               <mark style="color:green;">✔</mark>                               |                                       <mark style="color:red;">**✕**</mark>                                      |
| Security summary on connection status indicator  |                               <mark style="color:green;">✔</mark>                               |                                       <mark style="color:red;">**✕**</mark>                                      |

**Node management features**

|                                        |           BitBanana (1.0.0)           |                                 Zeus (0.11.3)                                 |
| -------------------------------------- | :-----------------------------------: | :---------------------------------------------------------------------------: |
| Manage peers                           |  <mark style="color:green;">✔</mark>  | <p><mark style="color:green;">✔</mark><br>yes, but only for embedded node</p> |
| Manage channels                        |  <mark style="color:green;">✔</mark>  |                      <mark style="color:green;">✔</mark>                      |
| Batch channel opening                  | <mark style="color:red;">**✕**</mark> |                      <mark style="color:green;">✔</mark>                      |
| Open channels from cold storage        | <mark style="color:red;">**✕**</mark> |                      <mark style="color:green;">✔</mark>                      |
| Rebalance channels                     |  <mark style="color:green;">✔</mark>  |      <p><mark style="color:green;">✔</mark><br>yes, but inconvenient</p>      |
| Show pending HTLCs                     | <mark style="color:red;">**✕**</mark> |                      <mark style="color:green;">✔</mark>                      |
| View routing summary                   |  <mark style="color:green;">✔</mark>  |      <p><mark style="color:green;">✔</mark><br>yes, but less metrics</p>      |
| View UTXOs                             |  <mark style="color:green;">✔</mark>  |                      <mark style="color:green;">✔</mark>                      |
| View addresses                         | <mark style="color:red;">**✕**</mark> |                      <mark style="color:green;">✔</mark>                      |
| Sign / Verify message with node Pubkey |  <mark style="color:green;">✔</mark>  |                      <mark style="color:green;">✔</mark>                      |
| Manage watchtowers                     |  <mark style="color:green;">✔</mark>  |                     <mark style="color:red;">**✕**</mark>                     |
| View backend logs                      |  <mark style="color:green;">✔</mark>  |                     <mark style="color:red;">**✕**</mark>                     |

**Wallet features**

|                                             |                         BitBanana (1.0.0)                         |                           Zeus (0.11.3)                           |
| ------------------------------------------- | :---------------------------------------------------------------: | :---------------------------------------------------------------: |
| Bolt11 receive                              |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Bolt11 send                                 |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Keysend                                     |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Bolt12 receive                              | <p><mark style="color:green;">✔</mark><br>Core Lightning only</p> | <p><mark style="color:green;">✔</mark><br>Core Lightning only</p> |
| Bolt12 send                                 | <p><mark style="color:green;">✔</mark><br>Core Lightning only</p> | <p><mark style="color:green;">✔</mark><br>Core Lightning only</p> |
| LNURL Pay                                   |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| LNURL Pay: Payer identity (Lud 18)          |                <mark style="color:green;">✔</mark>                |               <mark style="color:red;">**✕**</mark>               |
| LNURL Withdraw                              |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| LNURL Channel                               |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| LNURL Auth                                  |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Pick first Hop                              |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Display lightning payment route             |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| On-Chain receive                            |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| On-Chain send                               |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Transaction fee bumping                     |               <mark style="color:red;">**✕**</mark>               |                <mark style="color:green;">✔</mark>                |
| Send All (On-Chain)                         |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Coin Control                                |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Simplified UTXO consolidation               |                <mark style="color:green;">✔</mark>                |               <mark style="color:red;">**✕**</mark>               |
| Lock / Unlock UTXOs                         |                <mark style="color:green;">✔</mark>                |               <mark style="color:red;">**✕**</mark>               |
| BIP 353 (DNS Payment Instructions)          |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Scan QR-Code from image file                |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| NFC support                                 |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Label transactions & UTXOs                  |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Filter transaction history                  |                <mark style="color:green;">✔</mark>                |                <mark style="color:green;">✔</mark>                |
| Export transaction history                  |               <mark style="color:red;">**✕**</mark>               |                <mark style="color:green;">✔</mark>                |
| Sign / Verify message with On-Chain address |               <mark style="color:red;">**✕**</mark>               |                <mark style="color:green;">✔</mark>                |

**Convenience and UX**

|                                                   |                                BitBanana (1.0.0)                               |                                        Zeus (0.11.3)                                        |
| ------------------------------------------------- | :----------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------: |
| Detailed in-app help                              |                       <mark style="color:green;">✔</mark>                      |   <p><mark style="color:orange;"><strong>—</strong></mark><br>sometimes, but way less</p>   |
| [Feature customization](#user-content-fn-5)[^5]   |                       <mark style="color:green;">✔</mark>                      |                            <mark style="color:red;">**✕**</mark>                            |
| [VPN automation](#user-content-fn-6)[^6]          |                       <mark style="color:green;">✔</mark>                      |                            <mark style="color:red;">**✕**</mark>                            |
| [Certificate conversion](#user-content-fn-7)[^7]  |                       <mark style="color:green;">✔</mark>                      |                            <mark style="color:red;">**✕**</mark>                            |
| Proper right-to-left support for Arabic languages |                       <mark style="color:green;">✔</mark>                      |                            <mark style="color:red;">**✕**</mark>                            |
| NFC                                               | <p><mark style="color:green;">✔</mark><br>just position your phone... beep</p> | <p><mark style="color:green;">✔</mark><br>yes, but needs to be activated using a button</p> |
| Contacts                                          |                       <mark style="color:green;">✔</mark>                      |                             <mark style="color:green;">✔</mark>                             |

**Services**

|                                  |           BitBanana (1.0.0)           |            Zeus (0.11.3)            |
| -------------------------------- | :-----------------------------------: | :---------------------------------: |
| Liquidity Service Provider (LSP) | <mark style="color:red;">**✕**</mark> | <mark style="color:green;">✔</mark> |
| Create/get LnAddress             | <mark style="color:red;">**✕**</mark> | <mark style="color:green;">✔</mark> |
| Create twelve.cash address       | <mark style="color:red;">**✕**</mark> | <mark style="color:green;">✔</mark> |
| Swaps                            | <mark style="color:red;">**✕**</mark> | <mark style="color:green;">✔</mark> |

**Other**

|                     |           BitBanana (1.0.0)           |            Zeus (0.11.3)            |
| ------------------- | :-----------------------------------: | :---------------------------------: |
| POS[^8] integration | <mark style="color:red;">**✕**</mark> | <mark style="color:green;">✔</mark> |

[^1]: gRPC is faster and more efficient than REST

[^2]: An emergency password or PIN is designed for situations where you are being forced to unlock your wallet by someone else. If you enter an emergency password or PIN instead of your regular one, the app will appear to unlock normally while quietly performing additional protective actions like deleting sensitive data etc.

[^3]: The app warns you when you are about to perform a potentially dangerous or privacy leaking action.

[^4]: Protection against physical phone searches

[^5]: Allow users to remove features for a personalized, simplified experience.

[^6]: When you use a VPN to connect to your node, VPN automation will always start and stop the VPN whenever you open or close the node.

[^7]: When entering connection details manually, any certificate format is allowed. The app handles conversion so users don’t have to bother about the right format.

[^8]: Point of Sale


