#

lightning network

(13 articles)

Securely Expose Your LND Node via Cloudflared and a VPS

# **Securely Expose Your LND Node via Cloudflared and a VPS** ## **Introduction & Motivation** Exposing your Lightning Network Daemon (LND) node to the public internet is essential for full participation in the Lightning Network. However, doing so introduces critical challenges in terms of **security**, **privacy**, and **resilience against attacks**. This guide presents a solution using **Cloudflare Tunnel and Cloudflare Access**—a modern, secure method to expose services to the internet while maintaining strict control and minimizing exposure. We also compare this approach with more traditional methods such as **SSH tunnels** and **VPNs (WireGuard/OpenVPN + socat/iptables)** to highlight the trade-offs. --- ### **Traditional Exposure Methods: Risks and Limitations** #### **SSH Reverse Tunnels (`ssh -R`, `sshtunnel`)** * ✅ **Outbound-only**: The connection is initiated from the LND host. The VPS cannot reach the internal network on its own. * ⚠️ **Metadata exposure**: The LND host's IP address, SSH key, and connection metadata are visible to the VPS. * ⚠️ **Access control is coarse**: Without extra measures, any process on the VPS can access the forwarded service. * ⚠️ **No service-layer authentication**: Anyone reaching the exposed port can interact with LND, assuming the protocol is known. #### **VPNs (WireGuard/OpenVPN + iptables or socat)** * ⚠️ **Blurs the security boundary**: VPNs extend the network perimeter to remote clients. Misconfigured rules can inadvertently expose internal services. * ❌ **Allows lateral movement**: If the VPS is compromised, it may gain full access to the LND host’s network. * ✅ **Traffic is encrypted**, but requires correct firewalling and routing to be safe. * ⚠️ **Complexity**: These setups often involve manual iptables, port forwarding, and tight coupling of services. --- ### **Cloudflare Tunnel + Access (This Guide)** This solution uses **Cloudflared** on the LND host to initiate an outbound connection to Cloudflare, which then routes traffic through a secured, authenticated TCP tunnel via a VPS. * ✅ **No exposed ports on the LND host**. * ✅ **VPS cannot discover or access the LND IP**—only forwards TCP packets to Cloudflare. * ✅ **Service Token authentication** ensures only authorized clients can connect. * ⚠️ **Trust in Cloudflare** is required. While your LND host is protected from the internet, **Cloudflare can see metadata**, and potentially, inspect unencrypted traffic. * ❌ **Cloudflare is proprietary** infrastructure. You’re protected from attackers, but not necessarily from **Cloudflare** or governments. --- ### **Security & Privacy Comparison** | Feature | SSH Tunnel | VPN + socat/iptables | Cloudflare Tunnel + Access | | --------------------------------- | ------------------ | -------------------- | -------------------------- | | Encrypts traffic | ✅ | ✅ | ✅ | | Initiated from LND host | ✅ | ❌ | ✅ | | Prevents VPS from accessing LAN | ✅ | ❌ | ✅ | | Hides LND IP from VPS | ❌ | ❌ | ✅ | | Hides LND IP from tunnel provider | ❌ | ✅ | ❌ | | Proprietary infrastructure | ❌ | ❌ | ⚠️ (Cloudflare) | | Fine-grained access control | ⚠️ (manual) | ⚠️ (manual) | ✅ (Service Token) | | Susceptible to VPS compromise | ⚠️ (metadata only) | ❌ (full access) | ✅ (isolated forwarding) | --- ## **Tutorial: Step-by-Step Setup** --- ### **1. Set Up the Cloudflare Tunnel** 1. In your Cloudflare Zero Trust dashboard, navigate to **Access → Tunnels**. 2. Create a new tunnel (e.g., `lnd-tunnel`). 3. Choose **Use Token Authentication** and copy the token. 4. Add a **Public Hostname**: * **Hostname**: `lnd-external-access.mydomain.com` * **Service Type**: TCP * **URL**: `tcp://lnd:9735` *(This is the internal Docker hostname and port for LND.)* --- ### **2. Run Cloudflared on the LND Host** Assuming your LND node runs in Docker inside the `bitcoin-net` network: **`.env`** ```env TOKEN=your-cloudflare-tunnel-token ``` **`docker-compose.yml`** ```yaml version: "3.8" services: cloudflared: image: cloudflare/cloudflared:latest command: tunnel --no-autoupdate run --token ${TOKEN} restart: unless-stopped env_file: - .env networks: - bitcoin-net networks: bitcoin-net: external: true name: bitcoin-net ``` --- ### **3. Create the Cloudflare Service Token** 1. Go to **Access → Service Auth**. 2. Click **Create Service Token**. 3. Name it (e.g., `lnd-access-client`) and store both the **Token ID** and **Token Secret**—you’ll need these on the VPS and to configure access. --- ### **4. Define the Cloudflare Access Application** 1. Navigate to **Access → Applications → Add an Application**. 2. Choose **Self-hosted**. 3. Set: * **Application Name**: `lnd-external-access` * **Domain**: `lnd-external-access.mydomain.com` 4. In **Policies**: * Add a policy: * **Name**: `Allow via Service Token` * **Action**: `Service Auth` * **Include → Service Token**: select the token you just created --- ### **5. Deploy the Forwarding VPS** #### a. Configure firewall: ```bash sudo ufw allow ssh sudo ufw allow 9735/tcp sudo ufw enable ``` #### b. Set environment variables: **`.env`** ```env TOKEN_ID=your-service-token-id TOKEN_SECRET=your-service-token-secret HOSTNAME=lnd-external-access.mydomain.com LISTEN=tcp://0.0.0.0:9735 ``` #### c. Run Cloudflared: **`docker-compose.yml`** ```yaml version: "3.8" services: cloudflared: image: cloudflare/cloudflared:latest ports: - 9735:9735 command: > access tcp --service-token-id ${TOKEN_ID} --service-token-secret ${TOKEN_SECRET} --hostname ${HOSTNAME} --url ${LISTEN} --loglevel debug env_file: - .env restart: unless-stopped ``` --- ### **6. Configure DNS** In Cloudflare DNS: * Create an **A record**: * **Name**: `lnd` * **Type**: A * **Value**: `VPS_IP` * **Proxy status**: DNS only --- ### **7. Configure LND** Edit `lnd.conf` to include: ```ini externalip=lnd.mydomain.com ``` Restart LND to apply changes. --- ### **8. Test the Connection** From another LND node or client: ```bash lncli connect <pubkey>@lnd.mydomain.com:9735 ``` Check logs in LND and Cloudflared to confirm successful connection. --- ## **Final Notes** * This method **preserves your network perimeter**, even if the VPS is compromised. * All traffic is **authenticated with service tokens**, and **no direct access** is possible to your LND host. * You do **trust Cloudflare**, so weigh that risk in high-privacy environments.

How to confirm a stuck Lightning channel closing transaction with the mempool.space Accelerator

This week, it finally happened: I still had a Lightning channel open with a node that hadn't been online for the better part of a year now, so I decided to close the channel unilaterally. But force-closing a channel means you have to broadcast the latest commitment transaction, the pre-set fee of which was only ~1 sat/vB for this one. With LND, if the channel is created as an [anchor channel](https://lightning.engineering/posts/2021-01-28-lnd-v0.12/) (by default only since version 0.12), then the commitment transaction contains small extra outputs (currently 330 sats), which let either channel partner spend one of them into a child transaction that can be created with higher fees to pay for the parent transaction (CPFP). LND even has a built-in command for that: `lncli wallet bumpclosefee` However, this channel was created in the old-school way, and was thus stuck with its low fee. In fact, even the local bitcoin node refused to accept the transaction into its own mempool, so the bitcoin p2p network didn't even know it existed. So how do we get out of this pickle? ## The solution Enter the [mempool.space Accelerator](https://mempool.space/accelerator). It is essentially an automated way to create agreements with various mining pools to mine your low-fee transaction in exchange for an out-of-band payment. Mempool.space coordinates these agreements and out-of-band payments with miners and gets a share from the overall fee for that. Now, if you're in the same situation as I was, you might search for the ID of your closing transaction and find that mempool.space cannot find it. Remember how the local bitcoin node (with mostly default settings) didn't accept it in the first place? ### 1. Get the transaction to be broadcast In your `bitcoin.conf`, add the following line: minrelaytxfee=0 This sets the minimum fee to 0, meaning it will accept and broadcast your transactions, no matter how low the fee is. Restart `bitcoind` and wait a little bit. LND will retry broadcasting the closing transaction every minute or so until it succeeds. At some point you should be able to find it on mempool.space. ### 2. Use the Accelerator to confirm it Once you can see the transaction on [mempool.space](https://mempool.space), you can just click the "Accelerate" button next to the ETA. This will bring you to a page that shows you the estimated share of miners that will include your transaction in their blocks, as well as some acceleration fee options for various transaction fee levels, which you can pay for via the Lightning Network, of course. If you haven't looked into this service before (which I had), then the fees might be a bit of a surprise to you. This thing is **not** cheap! Bumping my fee from 1 sat/vB to ~9 sats/vB cost a whopping 51,500 sats (31 USD that day). Bumping it higher only seemed to add the difference in the transaction fee itself, so the service seems to have cost a flat 50K sats at the time. Unfortunately, this channel wasn't particularly large, so the acceleration fee amounted to ~9% of my remaining channel balance. But 91% of something is better than 100% of nothing, so I actually felt pretty good about it. Next, you will see something like this: [![Screenshot of an accelerated transaction on mempool.space](https://image.nostr.build/76151cc2ae06a93a8fcd97102bf4fa63541f8f3bd19800b96ff1070c9450945c.png)](https://image.nostr.build/76151cc2ae06a93a8fcd97102bf4fa63541f8f3bd19800b96ff1070c9450945c.png) Time to lean back and let the miners work for you. In my case, the ETA was eerily precise. It told me that it would take ~56 minutes to confirm the transaction, and almost exactly an hour later it was mined. ### 3. Wait Now that our transaction is confirmed, our channel is not closed immediately, of course. The [time lock of the HTLC](https://docs.lightning.engineering/the-lightning-network/multihop-payments/hash-time-lock-contract-htlc) protects our channel partner from us broadcasting an old channel state in which our balance might be higher than in the latest state. In my case, it was set to 144 blocks, i.e. ~24 hours. So I checked back the next day, et voilá: channel closed and balance restored. 🥳

Introducción a la autocustodia en Lightning Network

> Para navegación con índice y una mejor visualización de las tablas te recomendamos la lectura de este artículo en nuestra web: https://w3.do/malaga2140@getalby-com/Taller-LN # ¿Por qué usar Lightning Network? Recientemente vivimos una temporada con muy alta demanda por el espacio en los bloques de Bitcoin, lo que provocó una comisión de minado inasumible para pequeños pagos onchain. ![Captura de mempool.space a mediados de Diciembre de 2023](https://nostrcheck.me/media/malaga2140/401d708543b5996179abb365fa30979ac7bc31ddf3deb4d463b2f70b2705312e.webp) Ya había pasado antes y volverá a pasar. Usar la red Lightning de forma soberana no sólo aumenta la velocidad y la eficiencia de las transacciones, sino que también reduce el coste y ayuda a escalar la red para manejar un mayor volumen de transacciones. ![](https://www.bitcoinlightning.com/wp-content/uploads/2018/07/LN-Channel-Map-via-Lightshot.jpg) [Lightning Network](https://lightning.network/) es una red para procesar pagos instantáneos de bitcoin que fue [presentada en enero de 2016](https://lightning.network/lightning-network-paper.pdf) por Joseph Poon y Thaddeus Dryja como una solución al problema de escalabilidad de Bitcoin gracias al bajo coste y rapidez en las transacciones. Desde luego no es una solución perfecta. La dificultad de usar Lightning de forma soberana es el motivo por el cual la mayoría de usuarios de la red no está en realidad usando Lightning sino un apunte contable en las llamadas *wallets custodial* (custodian los fondos por ti). La necesidad de que la wallet esté online para poder recibir un pago o el temor a cierre forzoso de canales son inconvenientes o fricciones que aún no están resueltas. Pero que Lightning Network no sea perfecto no quiere decir que no funcione o que no vaya a seguir mejorando en el futuro. Por ejemplo, [Proveedores de Servicio Lightning](https://docs.lightning.engineering/the-lightning-network/liquidity/lightning-service-provider) como los que vimos en el taller (Blixt, Phoenix, Zeus o Mutiny) ayudan a simplificar la gestión de canales a cambio de una comisión por apertura o [empalme](https://acinq.co/blog/phoenix-splicing-update). # Pero … ¿LN es Bitcoin? Pensemos en Bitcoin como un sistema de 2 capas: <br/> ⛓️ **Capa 1:** onchain → dentro de la cadena <br/> ⚡ **Capa 2:** offchain → fuera de la cadena En la capa 1, cada transacción queda registrada en la cadena de bloques lo que garantiza la seguridad y la integridad del sistema. La capa 2 funciona mediante la creación de canales de pago y **para abrir un canal se realiza una transacción onchain que queda registrada en la cadena de bloques de Bitcoin.** Dentro de estos canales, las transacciones pueden ocurrir de manera instantánea y sin la necesidad de confirmaciones en la cadena principal pero todo lo que se mueve en ellos forma parte de la emisión programada de bitcoin y se ha registrado previamente en una transacción onchain. Lightning Network se basa en la seguridad e inmutabilidad de la blockchain de Bitcoin para su liquidación final. Por lo tanto: **Si. LN es bitcoin.** > 💡 La relación entre Lightning Network y Bitcoin es similar a la que existe entre el protocolo base TCP/IP de Internet y protocolos de nivel superior como HTTP. Al igual que HTTP permite que la web florezca sobre los protocolos fundacionales de Internet, Lightning Network permite que un entorno de transacciones más dinámico florezca sobre Bitcoin. Es un ejemplo de la adaptabilidad y extensibilidad de Bitcoin que un sistema tan sofisticado pueda ser construido para operar sin problemas con él, mejorando sus capacidades sin comprometer sus atributos fundamentales. ## **Liquid, Cashu y otras soluciones que no son Bitcoin** En contraste, otras redes como Liquid o Cashu, son cadenas laterales independientes o incluso redes completamente diferentes, que no comparten la cadena de bloques principal de Bitcoin. Estas redes tienen sus propias reglas y consensos, y las transacciones en estas cadenas no están directamente vinculadas a la cadena principal de Bitcoin. --- # Wallets Lightning Network ## Hot vs Cold wallets Ya que cualquier wallet Lightning es una *hot wallet* no está de más recordar brevemente la diferencia entre *hot y cold wallets*. La elección entre un tipo u otro dependerá de las preferencias y necesidades de cada usuario. Puede tener sentido disponer de una pequeña cantidad de fondos en una *hot wallet* para su uso diario y guardar la mayor parte de fondos en almacenamiento en frío para mayor seguridad. ### Hot wallet (almacenamiento en caliente): Cartera (onchain o lightning) diseñada para realizar transacciones frecuentes con el inconveniente de ser más vulnerables a ataques por hackeo o malware al estar siempre conectada a internet. No es recomendable almacenar una gran cantidad de bitcoin en este tipo de cartera por el riesgo de seguridad. Otro posible caso de uso de este tipo de carteras es almacenar cierta cantidad de sats antes de pasarlo a almacenamiento en frío. ### Cold wallet (almacenamiento en frío): Cartera sin conexión a internet para almacenamiento a largo plazo. Normalmente se recurre a este tipo de carteras en forma de dispositivo (hardware wallet) para guardar de forma segura cantidades sustanciales de bitcoin (cada uno elige qué cantidad de sats estaría incómodo guardando en una wallet vulnerable). ## Custodial vs non-custodial De entre los muchos términos mal escogidos en Bitcoin este debe estar entre los peores por llevar a confusión frecuentemente. Aclaremos la diferencia entre una y otra para distinguirlas. ## Wallets custodial Las **wallets custodial** son aquellas en las que un tercero custodia las claves de tu bitcoin. Si bien puede ser más cómodo y fácil de usar para principiantes o personas sin conocimientos técnicos **este tipo de servicios o aplicaciones va en contra de la principal propuesta de Bitcoin: prescindir de intermediarios para transmitir valor o almacenarlo.** Al confiar tus fondos a un tercero confías en su capacidad para custodiar tu bitcoin contra posibles ataques, brechas de seguridad, requerimientos de autoridades o la tentación de salir corriendo con ellos. ![](https://c.tenor.com/gfSWsxaDN78AAAAC/tenor.gif) ### Ejemplos de wallets custodial LN | CUSTODIAL | [ALBY](https://getalby.com) | [COINOS](https://coinos.io/) | [LN.TIPS](https://t.me/LightningTipBot) | [Wallet of Satoshi](https://www.walletofsatoshi.com/) | | --- | --- | --- | --- | --- | | UI / SO | Web | Web | Telegram Bot | Android / iOS | | Open Source | SI | SI | SI | NO | | Incluye Onchain | NO | SI | NO | SI | | ¿Permite conectar propio nodo LN? | SI | NO | NO | NO | | Tor | SI | SI | - | NO | | Swap | NO | SI | NO | SI | | [LN Address](https://lightningaddress.com/) | SI | SI | SI | SI | | [LNURL-auth](https://lightninglogin.live/) (Login con LN) | SI | SI | SI | SI | | Tutorial | [Video en español](https://www.youtube.com/watch?v=P44W38nlIZM) | [Video en español](https://youtu.be/dRNaVHsUeKg) | [Guía completa](https://www.notion.so/Tutorial-LightningTipBot-03185677b90b4ae19cbfad5574502970) | [Video en inglés](https://youtu.be/e7u55iuD0Hc?si=DdMHVQp5WJ1GSHyz&t=685) | > ℹ️ Puedes consultar una comparación más completa en el [blog de DarthCoin](https://darthcoin.substack.com/p/comparacion-lightning-wallets) ## Wallets non-custodial Por otro lado, las *wallets non-custodial* o *self-custodial* te otorgan el control y propiedad de tu bitcoin al ser tu quien posee las claves privadas. Esto garantiza no depender del permiso de ninguna entidad centralizada para preservar tus fondos o realizar transacciones. Evidentemente esta soberanía requiere responsabilidad personal a la hora de saber cómo gestionar adecuadamente tus fondos. ### Proveedores de Servicio Lightning Al tratarse de un taller de nivel intermedio o de iniciación a la autocustodia, nos centramos en Proveedores de Servicio Lightning (LSP’s por sus siglas en inglés) que ayudan a los usuarios a conectarse a la red abriendo canales bien conectados y ofreciendo liquidez entrante manteniendo la autocustodia. ### Liquidez entrante y saliente Un concepto que conviene tener claro es el de ***inbound* / *outbound liquidity*** o liquidez entrante y saliente. ![](https://bitcoin.design/assets/images/guide/how-it-works/liquidity/liquidity-inbound-outbound@2x.png) **INBOUND** ← (Entrante): Cantidad de sats que un canal puede recibir (sin incurrir en comisiones por apertura o empalme de canal) <br/> **OUTBOUND** → (Saliente): Cantidad de Sats que un canal puede enviar Cada vez que recibes sats disminuye la liquidez entrante de tu canal y aumenta la liquidez saliente. Por otro lado, enviar sats disminuye tu liquidez saliente y aumenta la entrante. ![](https://bitcoin.design/assets/images/guide/how-it-works/liquidity/liquidity-01@2x.png) Al abrir un canal toda la liquidez entrante estará llena por lo que tendrás que equilibrar el balance gastando, enviando fondos a otra wallet o mediante [swap submarinos](https://docs.lightning.engineering/the-lightning-network/multihop-payments/understanding-submarine-swaps#what-are-submarine-swaps-good-for). ### Splicing Una vez abierto un canal Lightning no se puede alterar su capacidad. Si abres un canal de 100k y recibes más de esa cantidad en un pago lo que puede ocurrir es: - El pago fallará y no recibirás esos fondos - Se creará un nuevo canal con la cantidad que no quepa en el canal inicial (restando fee minera por la transacción onchain y posible comisión de servicio) En el 2º caso un usuario puede terminar con varios canales abiertos de liquidez entrante limitada, lo que dificultará predecir cuándo un pago entrante desencadenará la creación de un nuevo canal. El *splicing* o “empalme” es una [funcionalidad que incorporó Phoenix](https://acinq.co/blog/phoenix-splicing-update#swap-out-(paying-to-a-bitcoin-address)) recientemente y que permite redimensionar un único canal dinámico. ![“Empalme” de un canal mediante un splice-in en Phoenix](https://acinq.co/blog/phoenix-splicing-update_files/phoenix-splicing-in-article-details.jpg) ***¿Pero no habíamos quedado en que no se puede redimensionar un canal una vez abierto?*** Correcto. Lo que ocurre *entre bambalinas* es que se produce un cierre cooperativo del canal entre las partes implicadas que gasta los fondos antiguos del canal a un nuevo canal junto con el nuevo depósito. Dado que la apertura del nuevo canal se basa en la seguridad del cierre del canal anterior, los participantes en el canal pueden gastar con seguridad los fondos antiguos dentro del canal mientras esperan a que se confirmen las transacciones de cierre y apertura. Más información sobre splicing: https://bitcoinops.org/en/topics/splicing ### Solicitar liquidez entrante Como ya hemos visto, la liquidez entrante es la cantidad que puedes recibir en tu canal sin incurrir en ninguna comisión por apertura de nuevo canal o empalme. Imagina que el canal de tu wallet lightning es un cubo, y tu saldo la cantidad de agua que hay en el cubo: <br/> - Recibir = añadir más agua <br/> - Gastar = verter agua <br/> Cada vez que sea necesario aumentar el tamaño del cubo o crear uno nuevo para añadir más agua, se incurre en una transacción onchain con las consiguientes tasas de minería. Dependiendo del caso de uso de cada uno, si vas a recibir más de lo que gastas, podría tener sentido solicitar liquidez entrante en grandes cantidades con antelación. De este modo, incurres en menos transacciones onchain y ahorras comisión de minería. Por ejemplo, pongamos que quieres reunir 1m de sats en LN para después pasarlo a onchain como un solo UTXO. Para ello vas a ir haciendo compras de 100k. Eso requeriría una transacción onchain cada vez que recibas para ensanchar el canal (splice-in) o abrir uno nuevo. Si en vez de eso solicitas 1M de liquidez entrante solo pagas la fee minera 1 vez. En cualquier caso, como norma general y siempre que se pueda conviene abrir canales "grandes" (y tener el balance equilibrado). ### Ejemplos de wallets non-custodial LN Te proponemos algunas wallets con servicio LSP que ayudan a simplificar la autocustodia en Lightning gestionando la apertura de canales, mejorando el enrutado de pagos, integrando el intercambio de onchain a LN o empalmando canales para aumentar la liquidez entrante. > ⚠️ Las funcionalidades y comisiones de la siguiente tabla pueden sufrir cambios. Intentaremos mantener la tabla actualizada. Última actualización: 22 Enero 2024 | AUTO. CUSTODIA | [GREEN](https://blockstream.com/green/) | [MUTINY](https://www.mutinywallet.com/) | [PHOENIX](https://phoenix.acinq.co) | [ZEUS](https://zeusln.com/) | [BLIXT](https://blixtwallet.github.io/) | [BREEZ](https://breez.technology/) | | --- | --- | --- | --- | --- | --- | --- | | UI / SO | Android / iOS / Escritorio | Web / Android /iOS | Android / iOS | Android / iOS | Android / iOS | Android / iOS | | Open Source | SI | SI | SI | SI | SI | SI | | Incluye balance Onchain | SI | SI | Balance unificado | SI | SI | Balance unificado | | Tor | SI | - | SI | SI | SI | ¿? | | Swap in | 0,4 % (10.000 sats min.) | - | mining fees (+ 1000 sat one time) | Mining fee | - | 0,4 % + mining fee | | https://lightningaddress.com/ (Recibir) | NO | NO | NO | SI | SI | NO | | https://lightninglogin.live/ (Login con LN) | NO | - | SI | SI | SI | SI | | Apertura canal / 1era transacción | Desde LN: 2500 Sats Desde onchain: fee minera + 2500 sats | Dinámica | mining fees (+ 1000 sats) | Hasta 1m = 10k sats 1-5m = 1 % | Mining fees | Mining fees | | Capacidad máx. | 900k - 4m | - | ¿? | ¿? | 400k sats (LSP) | 4m | | Coste por envío | fee de enrutado | fee de enrutado | 0.4 % + 4 sat | fee de enrutado | fee de enrutado | fee de enrutado | | Ampliar canal (Splicing) | - | - | mining fees (+ 1000 sat one time) | - | - | - | | Solicitar liquidez entrante | NO | ¿? | 1 % + mining fees | Cantidad recibida + 100k | | Cantidad recibida +50k sats | | Cerrar canal / Swap out | - | Mining fee | Mining fee | Mining fee | Mining fee | Mining fee +0,5% | | Tutorial | [Guía en español](https://darthcoin.substack.com/p/comenzando-green-wallet-lightning) / [Video en inglés](https://youtu.be/DesN85bWmGA&t=1016) | [Video en inglés](https://www.youtube.com/watch?v=vHQ6wgT3S2I) | [Video en inglés](https://www.youtube.com/watch?v=dPKLkRK9bF8) | [Documentación](https://docs.zeusln.app/) | [Video en español](https://www.youtube.com/watch?v=gM7ksjD7Y5o) | [Video en inglés](https://youtu.be/Z_yiPM2gzk0?si=_6lnaO6vuGWUkry5) | --- # Plataformas P2P Lightning Network ![](https://nostrcheck.me/media/malaga2140/13531ab85c4326dd2ce83bf3d895f354e92ac903d240fbff85992bfb0b68b042.webp) En el taller aprendimos como se podrían adquirir o vender sats en **LNP2PBot** y **Robosats** mediante la red Lightning. Ambas son muy buenas opciones si quieres intercambiar sats sin necesidad de pasar por un registro completo de tus datos. La elección de una u otra dependerá de cada usuario. En sus webs encontraréis información sobre cómo usarlas, preguntas frecuentes, etc: https://lnp2pbot.com/aprende [https://learn.robosats.com](https://learn.robosats.com/) Comentemos algunas de las diferencias: ### Cómo acceder - LNP2PBot es un bot de Telegram por lo que solo necesitarás una cuenta en Telegram con un [nombre de usuario](https://telegram.org/faq?setln=es#nombres-de-usuario-y-t-me). Puedes crear una oferta iniciando conversación con el bot: https://t.me/lnp2pbot o tomar una oferta que encuentres en el canal general: https://t.me/p2plightning - Para preservar la privacidad se recomienda acceder a Robosats a través del [navegador Tor](https://www.torproject.org/download/) o su [app para Android](https://github.com/RoboSats/robosats/releases) (con Tor integrado). ### Fianza - LNP2PBot no requiere que el usuario tenga sats de antemano por lo que es mejor opción para realizar la primera compra. - En el caso de Robosats se requiere de una fianza para crear o tomar una oferta para incentivar que ambas partes actúen de acuerdo a las normas. La fianza se realiza mediante una [hold invoice](https://learn.robosats.com/docs/escrow/#what-is-a-hold-invoice). Este tipo de facturas bloquean los fondos en la wallet hasta que el intercambio se complete satisfactoriamente o se caduque la oferta sin que nadie la haya tomado. Si todo sale bien sin disputas los fondos se quedan en tu wallet. ### Comisiones - En LNP2PBot el vendedor paga un 0,6% del total de cada intercambio mientras que el comprador no paga comisión. - En Robosats se paga un 0,2% por cada trade. El creador de la oferta (sea comprador o vendedor) paga un 0,025% y el tomador el 0,175% restante. | INTERCAMBIO LN | [LNP2PBot](https://lnp2pbot.com/aprende) | [Robosats](https://learn.robosats.com) | | --- | --- | --- | | UI | Telegram bot | Navegador Tor / Android (Beta) | | Fianza | No requiere fianza | Requiere fianza en sats | | Comisiones | Vendedor: 0,6 % <br/> Comprador: 0 | Creador de la oferta: 0,025 % <br/> Tomador de la oferta: 0,175 % | | Duración ofertas | 23 horas | 1 - 24 horas | | Más info | https://lnp2pbot.com/aprende | https://learn.robosats.com/ | | Guía / Tutorial | [Video en español](https://www.youtube.com/watch?v=sf6JD1xb-kc) | [Video en español](https://www.youtube.com/watch?v=ADZuY6Agy-c) | # Swap Lightning ↔ onchain Ya hemos visto que para equilibrar el balance de tu canal tienes la opción de gastar algunos sats, enviar fondos a otra wallet o mediante [swap submarinos](https://docs.lightning.engineering/the-lightning-network/multihop-payments/understanding-submarine-swaps#what-are-submarine-swaps-good-for). Un swap submarino es un intercambio entre Bitcoin dentro y fuera de la cadena (es decir, entre Bitcoin onchain y Bitcoin en la red Lightning). Un *Swap-Out* es un tipo específico de swap atómico que puede realizarse sin custodia ni riesgo de contraparte y que facilitan la gestión de la liquidez de tu Nodo Lightning ayudándote a conseguir liquidez entrante. Ya sea para equilibrar el balance de tu canal o para pasar fondos a almacenamiento en frío, te dejamos esta tabla con las comisiones y enlaces de algunos servicios: | SWAP OUT | Coinos | MyLoopOutBot | Robosats | Boltz | | --- | --- | --- | --- | --- | | UI | Web | Bot Telegram / Tor | Tor / Android | Web | | Fees | 0,1 % | 0,3 % | Swap con otro peer: premium de la oferta + fee minera. <br/> Recibir onchain directamente de Robosats: Dinámico | 0,5 % | | Enlaces | [Classic Coinos](https://classic.coinos.io/) | [Bot Telegram](https://t.me/myloopoutbot) <br/>Tor: [My Loop Out](http://myloopwy54sdecce63bpx7kga5jvyzamjxfn3wdehxbd357twmtnmlad.onion/index.html) | [Robosats](https://learn.robosats.com/docs/swaps/) | [Boltz](https://boltz.exchange/) | Si quieres seguir profundizando te recomendamos este podcast de Lunaticoin con Reckless Satoshi (Robosats) en el que analizan billeteras y herramientas Lightning que puedes utilizar en tu móvil. [https://youtu.be/SfzmD504jZ4](https://youtu.be/SfzmD504jZ4)