I know that maybe it's a bit early to start asking Wallets to implement Lightning Network connections even if the majority don't support SegregatedWitness yet.

But how about Payment Channels? In theory they have already been out there since long ago, and as far as I understand, they are not affected by transaction malleability if not combined with other channels forming a (lightning) network. So then, is there any wallet out there that already implements them? I only find libraries (such as BitcoinJ) that have support for them, but not wallets.

2 Answers 2


There are two major issues when it comes to the adoption of payment channels in Bitcoin. Firstly, we have an interoperability issue, where the implementation of payment channels in one wallet may not necessarily be compatible with the implementation of payment channels in another wallet. Even if interoperability is resolved, there is still an issue with security, how do we safely communicate the parameters required to setup the payment channels between two independent wallets in a trust-less manner?

Secondly, a Jeremy Spillman style payment channel involving one consumer and one producer is still vulnerable to transaction malleability depending on how patient our hypothetical wallet user is. If the usual 6 block confirmation recommendation is adopted, there is a low chance that transaction malleability may affect the service provider of the payment channel. However, if the service provider starts providing services by accepting an unconfirmed commitment transaction to fund the payment channel, the transaction malleability exploit can be used to invalidate all subsequent payment transactions as the consumer of the service can simply mutate her sigScript for the commitment transaction, resulting in a different transaction hash. However, this is only achievable when there's a fork in the blockchain and the mutated transaction has been committed in the winning chain or when the commitment transaction is unconfirmed and the mutated transaction was committed instead of the original transaction.

  • thanks for your answer; I've also come to know another malleability attack that would not be fixed by waiting 6 confirmations, but using other technique (hashing): bitcointalk.org/index.php?topic=303088.0
    – knocte
    Aug 11, 2016 at 3:14

Several wallets supported payment channels:

Bitcoin Core: The original Bitcoin wallet, Bitcoin Core, is expected to support payment channels. Development work and testing for these features were ongoing, but they were not yet implemented as of my last update.

Electrum: Electrum is a popular open-source wallet that supports both standard on-chain transactions and the Lightning Network. It has a plugin architecture, which means that you can add support for payment channels via plugins. Note that using plugins may require additional setup and care.

C-Lightning (Command Line Interface): C-Lightning is a Lightning Network implementation that can be used as a wallet. However, it is primarily a command-line tool and may not offer the same user-friendly experience as other wallets.

Eclair Wallet: Eclair Wallet is a Lightning Network-enabled wallet developed by the team behind the Eclair Lightning Network implementation. It provides a user-friendly interface for managing Lightning Network channels.

Zap Wallet: Zap Wallet is another Lightning Network-enabled wallet that aims to provide a user-friendly experience. It allows users to send and receive Lightning Network payments and manage Lightning Network channels.

Breez Wallet: Breez Wallet is a non-custodial Lightning Network wallet designed for ease of use. It allows users to send and receive Lightning Network payments and manage their Lightning Network channels.

  • these wallets are LN wallets (Lightning Network is a network of channels, but the original question was about single-payment-channels)
    – knocte
    Feb 27 at 21:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.