--- title: "Opening channels" slug: "opening-channels" hidden: false createdAt: "2022-11-18T16:26:57.798Z" updatedAt: "2023-01-31T15:07:08.196Z" --- First you need to transfer some funds to `lightningd` so that it can open a channel: ```shell # Returns an address
lightning-cli newaddr ``` `lightningd` will register the funds once the transaction is confirmed. You may need to generate a p2sh-segwit address if the faucet does not support bech32: ```shell # Return a p2sh-segwit address lightning-cli newaddr p2sh-segwit ``` Confirm `lightningd` got funds by: ```shell # Returns an array of on-chain funds. lightning-cli listfunds ``` Once `lightningd` has funds, we can connect to a node and open a channel. Let's assume the **remote** node is accepting connections at `` (and optional ``, if not 9735) and has the node ID ``: ```shell lightning-cli connect [] lightning-cli fundchannel ``` This opens a connection and, on top of that connection, then opens a channel. The funding transaction needs 3 confirmations in order for the channel to be usable, and 6 to be announced for others to use. You can check the status of the channel using `lightning-cli listpeers`, which after 3 confirmations (1 on testnet) should say that `state` is `CHANNELD_NORMAL`; after 6 confirmations you can use `lightning-cli listchannels` to verify that the `public` field is now `true`.