> For the complete documentation index, see [llms.txt](https://docs.cakewallet.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cakewallet.com/features/basic/bitcoin-lightning.md).

# Bitcoin Lightning

Send and receive Bitcoin over Lightning in Cake Wallet via Spark: get a cake.cash address, move funds to and from on-chain, and understand the privacy limits.

Lightning lets you send and receive Bitcoin instantly, with fees measured in fractions of a cent — perfect for everyday payments where waiting for on-chain confirmations doesn't make sense.

Cake Wallet's Lightning support is powered by **Spark**, a new Bitcoin scaling network, through the Breez SDK. What that means for you: it's self-custodial and there are no channels to open, manage, or rebalance — it just works. The honest tradeoff: your Lightning balance lives on the Spark network rather than on the Bitcoin chain itself, so treat it like a spending balance and keep larger amounts on-chain.

{% hint style="info" %}
Lightning is available on Bitcoin wallets on mobile and macOS (not Windows/Linux), and is enabled by default. You can turn it off under `Settings` → `Privacy` → `Enable Lightning`.
{% endhint %}

## Your Lightning balance

Your Bitcoin wallet's home screen has two chips at the top left: the Bitcoin chip for your on-chain balance, and the ⚡ chip for Lightning. Tap ⚡ to see your Lightning balance (shown in sats) with `Deposit` and `Withdraw` buttons.

![Lightning balance view with Deposit and Withdraw](https://raw.githubusercontent.com/cake-tech/docs-assets/main/v6.3.1/lightning_wallet_01_home_hl.png)

## Receive on Lightning

{% stepper %}
{% step %}

### Open the Lightning receive tab

Tap `Receive`, tap the address type under the QR code, and choose `Lightning`.

![Address type sheet with Lightning option](https://raw.githubusercontent.com/cake-tech/docs-assets/main/v6.3.1/lightning_wallet_06_receive-types_hl.png)
{% endstep %}

{% step %}

### Share your Lightning address

Your wallet gets a Lightning address — like `carrotcake@cake.cash` — that anyone can pay from any Lightning wallet, any amount, any time. Share it as text or let them scan the QR. Use `Set amount` to request a specific amount instead.

![Lightning receive screen with Lightning address](https://raw.githubusercontent.com/cake-tech/docs-assets/main/v6.3.1/lightning_wallet_05_receive_hl.png)
{% endstep %}
{% endstepper %}

## Receiving with an empty wallet

You can receive Lightning payments with a zero balance, on a wallet you created a minute ago. Nothing to set up, no minimum, no waiting on an on-chain transaction first. Tap `Receive`, share your Lightning address, and the sats arrive.

This is the part of classic Lightning that Spark fixes completely. On an ordinary Lightning wallet you can only receive what your channels have room for, so your first payment usually means opening a channel and paying an on-chain fee for the privilege. Spark has no channels, so there's no inbound liquidity to run out of — the incoming Lightning payment is atomically swapped into Spark sats you own, and you never have to borrow capacity from anyone.

{% hint style="info" %}
**Payments land while you're offline.** Spark can complete an incoming Lightning payment without your wallet being online — one of the reasons it works well on a phone. Close the app, get paid, and the payment is waiting for you when you next open the wallet.
{% endhint %}

## Pick your Lightning username

Every Bitcoin wallet with Lightning turned on gets a username straight away. Each time the wallet opens, Cake Wallet asks for the Lightning address already registered to it, and only if there isn't one does it register a random name (a generated name followed by a number). Right after you create a new Bitcoin wallet and back up its seed, Cake Wallet shows the `Lightning Username` screen so you can pick your own name, or tap `Skip` to keep the random one.

You can change it any time under `Settings` → `Bitcoin Settings` → `Lightning Username` → `Change Username`. Type a custom name or tap the shuffle icon for a random one, then tap `Confirm`. Usernames can use lowercase letters `a-z`, numbers `0-9`, `-`, `_` and `.`, and must be 1 to 64 characters long. The screen shows `Username Available` when the name is free and `This username is not available.` when someone else has it. Your username becomes your `yourname@cake.cash` address.

![Changing the Lightning username](https://raw.githubusercontent.com/cake-tech/docs-assets/main/v6.3.1/settings_lightning-username_02_edit_hl.png)

### Your username over time

* **One address at a time.** After you change your username, your `Receive` screen and QR code show only the new address, and Cake Wallet has no option to keep the old name alongside it. Update the address anywhere you've shared or published the old one.
* **No expiry, release or transfer in the app.** Cake Wallet has no renewal step for usernames, and no option to delete one, release it, or move it to a different wallet. The only change you can make is picking a new name for the same wallet.
* **Turning Lightning off doesn't unregister it.** Switching off `Enable Lightning` stops Lightning in the app but leaves your username registered. When you turn Lightning back on, Cake Wallet looks up the address registered to your wallet again.
* **It comes back when you restore.** Your username is tied to your seed, not your phone. Restore the same seed and the restored wallet finds the address already registered to it and keeps it, instead of generating a new random name. The username screen isn't shown after a restore, so check `Settings` → `Bitcoin Settings` → `Lightning Username` to see it.
* **Use the same passphrase.** If your seed has a passphrase, your Lightning wallet comes from the seed and passphrase together. Restoring with a different passphrase, or none, gives a different Lightning wallet with a different username.
* **Same seed, same address.** The same seed on two devices shares one Lightning address. If you change the username on one, the other shows the new name the next time it opens the wallet. A different seed always gets its own, separate address.

## Send on Lightning

Sending works from the same `Send` screen as on-chain Bitcoin: paste or scan a Lightning invoice or a Lightning address, and Cake Wallet routes the payment over Lightning automatically. Payments settle in seconds — ordinary Lightning sends and receives never wait for on-chain confirmations.

## Sending without a Lightning balance

Short answer: you need sats in your Lightning balance to send over Lightning. A Lightning send spends *from* that balance — if it's empty there's nothing to spend, and Cake Wallet won't quietly reach into your on-chain coins to cover it.

There is a way around it. [Swap](https://docs.cakewallet.com/features/basic/swap) treats Lightning as its own asset, so you can set **Send** to on-chain Bitcoin (or any other coin you hold), set **Receive** to Lightning, and use `Select Receiver` to point at the recipient's Lightning address. The swap provider delivers the Lightning payment on your behalf.

{% hint style="warning" %}
**It works, but it's the wrong tool for a payment.** A swap routes your money through a third-party provider that sees both sides of the trade, charges a fee and a spread on top of normal network fees, and enforces a minimum trade size that most everyday Lightning payments fall below. It isn't fast either: the on-chain leg has to confirm first, which gives up the one thing you came to Lightning for. And on a floating rate the amount that lands may not match the amount that was requested — enough to fail an invoice, which can expire while the swap is still in flight.
{% endhint %}

**Do this instead:** deposit once, in an amount that covers what you expect to spend, and send normally from then on. Deposits wait for six confirmations, so fund your balance before you need it. If you want sats in your Lightning balance *right now*, the fastest route is to have someone pay you over Lightning — that lands in seconds.

## Move between on-chain and Lightning

Use the `Deposit` and `Withdraw` buttons on the Lightning balance view:

* **Deposit to Lightning** — moves on-chain BTC into your Lightning balance. The sheet shows the network fee estimate up front, and `Advanced Settings` includes [Coin Control](https://docs.cakewallet.com/features/advanced/coin-control) for choosing which outputs to use.
* **Withdraw to on-chain** — moves sats from Lightning back to your on-chain Bitcoin balance, as an on-chain transaction.

![Deposit to Lightning sheet](https://raw.githubusercontent.com/cake-tech/docs-assets/main/v6.3.1/lightning_wallet_02_deposit.png)

![Withdraw to on-chain sheet](https://raw.githubusercontent.com/cake-tech/docs-assets/main/v6.3.1/lightning_wallet_04_withdraw.png)

{% hint style="info" %}
**Six confirmations applies only to moving funds in and out of Lightning.** Deposits and withdrawals bridge between the Bitcoin chain and Spark, so both wait for six on-chain confirmations before the funds land on the other side — and deposits pay a normal on-chain fee. Sending and receiving *on* Lightning is unaffected: Lightning-to-Lightning payments are instant and never wait for confirmations. Small, frequent moves add up in fees — deposit what you plan to spend.
{% endhint %}

## What to expect for privacy

Moving payments off-chain is not the same as making them private. The model is closer to a VPN than to a public ledger: your activity leaves Bitcoin's permanent, world-readable history, but the network's operators can still see it. What matters is what happens to that data next — and that's where Cake Wallet's defaults do the work.

### Who can see what

Every Spark transfer is co-signed by the **Spark Operators** — a small, permissioned set of companies that run the network, a threshold of which must sign for any transfer to go through. Co-signing means they see the transfer: the amount, and the Spark addresses on either end. That's inherent to how Spark works, and no wallet can opt out of it.

What a wallet *can* control is whether that data travels any further. Cake Wallet makes two choices on your behalf, both on by default with nothing for you to configure:

* **Your Spark transactions are never published to public Spark explorers.** Other Spark wallets publish by default, which makes balances and history searchable by anyone who has your address. Yours aren't — the barista you paid this morning can't look up what else is in your wallet.
* **Your Spark address is never embedded in your Lightning invoices.** The default Spark SDKs include it, so anyone holding a single invoice of yours could decode it and pull up your entire Spark history. Cake Wallet leaves it out.

### Where that leaves you

* **Better than on-chain Bitcoin.** There's no permanent public record of your Lightning payments for anyone to scrape, cluster, and re-examine years from now.
* **Not cryptographic privacy.** This is a small set of operators choosing not to publish what they can see, not math that stops them seeing it. When you need privacy that doesn't rest on anyone's promise, use Monero, or [Silent Payments](https://docs.cakewallet.com/features/privacy-and-security/silent-payments) on-chain.

### What still leaks

* **Your Lightning address is a permanent identifier.** `yourname@cake.cash` is reusable by design, exactly like an email address — everyone you hand it to can link every payment they send you, and the server answering for it sees those requests. For a payment you'd rather not tie to a name you use publicly, generate a one-off invoice with `Set amount` instead.
* **Deposits and withdrawals are ordinary Bitcoin transactions.** They're permanently public, and they link specific on-chain coins to the act of funding a Lightning balance. [Coin control](https://docs.cakewallet.com/features/advanced/coin-control) lets you choose which coins do that.
* **Spark addresses are static today.** There's no address rotation yet, so whatever is tied to one address stays tied to it.

Confidential amounts for Spark transfers are in development. Until they land, the honest summary is the same as everywhere else on this page: Lightning here is spending money, savings belong on-chain, and a payment isn't invisible just because it never touched a block explorer.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.cakewallet.com/features/basic/bitcoin-lightning.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
