Skip to main content
You’re viewing an old version of the Arkade contracts documentation. Go to Your first contract for the current version.
A Dryja-Poon channel is the two-way payment channel that Lightning uses. Alice and Bob lock funds in a shared funding output and then exchange commitment transactions that split it. Within Arkade, the funding output is a virtual output, so only its script changes. The code uses serverPubkey, exitTimelock, and CSVMultisigTapscript from Set Up Your Project.

Build the funding output

The two paths are:

Commitment transactions

The commitment transactions, revocation keys, and HTLC outputs that spend the funding output follow the Lightning specification (BOLT 3). Build them with your Lightning implementation. One constraint is specific to Arkade: the funding output expires with its batch. Lightning Channels explains how that limits HTLC timeouts and when to renew the channel.