Builder's Guide
  • Welcome to the Builder's Guide to the LND Galaxy!
  • The Lightning Network
    • Overview
    • Payment Channels
      • Lifecycle of a Payment Channel
      • Watchtowers
      • Understanding Sweeping
      • Etymology
    • The Gossip Network
      • Identifying Good Peers on the Lightning Network
    • Pathfinding
      • Finding routes in the Lightning Network
      • Channel Fees
      • Multipath Payments (MPP)
    • Lightning Network Invoices
      • Understanding Lightning Invoices
    • Making Payments
      • The Payment Cycle
      • Timelocks
      • ⭐Hashed Timelock Contract (HTLC)
      • Payment Etymology
      • ⭐What Makes a Good Routing Node
      • Understanding Submarine Swaps
      • Instant Submarine Swaps
    • Liquidity
      • ⭐Understanding Liquidity
      • Managing Liquidity on the Lightning Network
      • Liquidity Management for Lightning Merchants
      • How to Get Inbound Capacity on the Lightning Network
      • Lightning Service Provider
    • L402: Lightning HTTP 402 Protocol
      • Macaroons
      • L402
      • 📋Protocol Specification
      • Implementations and Links
    • Taproot Assets
      • Taproot Assets Protocol
      • Taproot Assets on Lightning
      • Edge Nodes
      • Taproot Assets Trustless Swap
      • FAQ
      • Glossary
  • Lightning Network Tools
    • LND
      • 🛠️Get Started
      • lnd.conf
      • First Steps With LND
      • Wallet Management
      • Sending Payments
      • Atomic Multi-path Payments (AMP)
      • Receiving Payments
      • Unconfirmed Bitcoin Transactions
      • Channel Fees
      • Inbound Channel Fees
      • Macaroons
      • Configuring Watchtowers
      • Pathfinding
      • Blinded Paths
      • Key Import
      • Secure Your Lightning Network Node
      • Configuration of a Routing Node
      • Quick Tor Setup
      • Configuring Tor
      • Enable ‘Neutrino mode’ in Bitcoin Core
      • Send Messages With Keysend
      • Partially Signed Bitcoin Transactions
      • Bulk onchain actions with PSBTs
      • Sweeper
      • Debugging LND
      • Fuzzing LND
      • LND API documentation
      • Channel Acceptor
      • RPC Middleware Interceptor
      • HTLC Interceptor
      • NAT Traversal
      • Recovery: Planning for Failure
      • Migrating LND
      • Disaster recovery
      • Contribute to LND
    • Lightning Terminal
      • What is Lightning Terminal?
      • 🛠️Get litd
      • Run litd
      • Integrating litd
      • Demo: Litd Speed Run
      • Connect to Terminal
      • Recommended Channels
      • Rankings
      • Health Checks
      • Liquidity Report
      • Opening Lightning Network Channels
      • Managing Channel Liquidity
      • Autofees
      • AutoOpen
      • LND Accounts
      • Loop and Lightning Terminal
      • Loop Fees
      • Pool and Lightning Terminal
      • Command Line Interface
      • Troubleshooting
      • Lightning Node Connect: Under the hood
      • LNC Node Package
      • LITD API Documentation
      • Privacy and Security
      • Privacy Policy
      • Terms of Use
    • Loop
      • 🛠️Get Started
      • The Loop CLI
      • Autoloop
      • Static Loop In Addresses
      • Instant Loop Outs
      • Peer with Loop
      • Loop API Documentation
    • Pool
      • Overview
      • Quickstart
      • 🛠️Installation
      • First Steps
      • Accounts
      • Orders and Asks
      • Sidecar Channels
      • Zero-confirmation Channels
      • Channel Leases
      • Batch Execution
      • Account Recovery
      • Pool API Documentation
      • FAQs
    • Taproot Assets
      • Get Started
      • First Steps
      • Taproot Assets Channels
      • Asset Decimal Display
      • Become an Edge Node
      • RFQ
      • Collectibles
      • Universes
      • Asset Loop
      • Debugging Tapd
      • Multisignature
      • Minting Assets With an External Signer
      • Lightning Polar
      • Operational Safety Guidelines
      • Taproot Assets API Documentation
    • Aperture
      • ⚒️Get Aperture
      • LNC Backend
      • LNC Mailbox
      • Pricing
    • Faraday
      • 🛠️Get Started
      • The Faraday CLI
      • Faraday API Documentation
  • LAPPs
    • Guides
      • Use Polar to Build Your First LAPP
        • Setup: Local Cluster with Polar
        • Setup: Run the Completed App
        • Setup: Run the App Without LND
      • Add Features
        • Feature 1: Connect to LND
        • Feature 2: Display Node Alias and Balance
        • Feature 3: Sign and Verify Posts
        • Feature 4: Modify Upvote Action
      • Make Your own LNC-powered Application
    • Next Steps
  • Community Resources
    • Resource List
    • Lightning Bulb 💡
    • Glossary
    • FAQ
Powered by GitBook
On this page
  • Auctioneer-Assisted Account Recovery
  • Umbrel

Was this helpful?

  1. Lightning Network Tools
  2. Pool

Account Recovery

In this section, we'll cover the possible ways of recovering the funds within a Pool account upon data corruption/loss. Account funds are locked to a 2-of-2 multi-sig output of the account owner and the Pool auctioneer until the account's expiration has been met, giving the account owner full control of the funds. This expiration is included in the account output script, so it must be known in order to spend the account funds. There are two possible ways to recover an account's funds after data corruption/loss: one that requires the Pool auctioneer's cooperation, which is the only method currently supported, and one without, which will require storage of an additional data blob similar to the Static Channel Backups present within lnd. An auctioneer-assisted account recovery intent can be issued through the pool accounts recover command or the RecoverAccounts RPC.

pool accounts recover -h
NAME:
   pool accounts recover - recover accounts after data loss with the help of the auctioneer

USAGE:
   pool accounts recover [arguments...]

DESCRIPTION:

  In case the data directory of the trader was corrupted or lost, this
  command can be used to ask the auction server to send back its view of
  the trader's accounts. This is possible as long as the connected lnd
  node is running with the same seed as when the accounts to recover were
  first created.

  NOTE: This command should only be used after data loss as it will fail
  if there already are open accounts in the trader's database.
  All open or pending orders of any recovered account will be canceled on
  the auctioneer's side and won't be restored in the trader's database.

Auctioneer-Assisted Account Recovery

As part of the initial Lightning Pool launch, an account recovery method has been added that requires the cooperation of the auctioneer. This method is based on the account owner sending a recovery intent to the auctioneer, along with a challenge response to prove ownership. The recovery intent includes a set of keys derived by the same account BIP-0043 derivation path m/1017'/coin_type'/220'/0/index, so the same lnd seed that was to used to initially create the accounts must be used.

Upon the auctioneer receiving the intent, it will verify the challenge response, determine the validity of account key to recovery, and provide the account owner the latest details of the account known to the auctioneer. This allows the account owner to continue using their account within the auction without having to perform any on-chain transactions. As usual, the account owner can decide to close the account and withdraw their funds to their desired outputs if they no longer wish to participate in the auction.

Note that as a part of this process, all orders belonging to an account being recovered are canceled within the auction and are not restored to the account owner.

Umbrel

In Umbrel, you may run the following command to recovery your account: docker exec -it lightning-terminal_web_1 pool --rpcserver=localhost:8443 --tlscertpath=~/.lit/tls.cert accounts recover

PreviousBatch ExecutionNextFAQs

Last updated 18 days ago

Was this helpful?