2020-09-03 13:01:45 -05:00
lightning-openchannel\_init -- Command to initiate a channel to a peer
=====================================================================
SYNOPSIS
--------
2024-01-29 10:04:17 +10:30
**openchannel\_init** *id* *amount* *initalpsbt* [*commitment\_feerate*] [*funding\_feerate*] [*announce*] [*close\_to*] [*request\_amt*] [*compact\_lease*] [*channel\_type*]
2020-09-03 13:01:45 -05:00
DESCRIPTION
-----------
`openchannel_init` is a low level RPC command which initiates a channel
open with a specified peer. It uses the openchannel protocol
which allows for interactive transaction construction.
*id* is the node id of the remote peer.
*amount* is the satoshi value that we will contribute to the channel.
This value will be _added_ to the provided PSBT in the output which is
encumbered by the 2-of-2 script for this channel.
*initialpsbt* is the funded, incomplete PSBT that specifies the UTXOs and
change output for our channel contribution. It can be updated,
2021-03-10 22:32:48 -06:00
see `openchannel_update` ; *initialpsbt* must have at least one input.
Must have the Non-Witness UTXO (PSBT\_IN\_NON\_WITNESS\_UTXO) set for
every input. An error (code 309) will be returned if this requirement
is not met.
2020-09-03 13:01:45 -05:00
2022-11-10 20:44:56 -05:00
*commitment\_feerate* is an optional field. Sets the feerate for
2023-06-26 08:42:21 +09:30
commitment transactions for non-anchor channels: see **fundchannel** .
For anchor channels, it is ignored.
2020-09-03 13:01:45 -05:00
2022-11-10 20:44:56 -05:00
*funding\_feerate* is an optional field. Sets the feerate for the
2020-09-03 13:01:45 -05:00
funding transaction. Defaults to 'opening' feerate.
*announce* is an optional field. Whether or not to announce this channel.
2022-11-10 20:44:56 -05:00
*close\_to* is a Bitcoin address to which the channel funds should be
2021-03-10 22:32:48 -06:00
sent on close. Only valid if both peers have negotiated
2020-09-03 13:01:45 -05:00
`option_upfront_shutdown_script` .
2022-11-10 20:44:56 -05:00
*request\_amt* is an amount of liquidity you'd like to lease from the peer.
2021-06-08 16:50:41 -05:00
If peer supports `option_will_fund` , indicates to them to include this
2022-11-10 20:44:56 -05:00
much liquidity into the channel. Must also pass in *compact\_lease* .
2021-07-02 16:19:47 -05:00
2022-11-10 20:44:56 -05:00
*compact\_lease* is a compact represenation of the peer's expected
2021-07-02 16:19:47 -05:00
channel lease terms. If the peer's terms don't match this set, we will
fail to open the channel.
2021-06-08 16:50:41 -05:00
2024-01-29 10:04:17 +10:30
*channel\_type* *(added v24.02)* is an array of bit numbers, representing the explicit
channel type to request. BOLT 2 defines the following value types:
The currently defined basic types are:
- no features (no bits set) `[]`
- `option_static_remotekey` (`[12]` )
- `option_anchor_outputs` and `option_static_remotekey` (`[20, 12]` )
- `option_anchors_zero_fee_htlc_tx` and `option_static_remotekey` ([22, 12])
Each basic type has the following variations allowed:
- `option_scid_alias` ([46])
- `option_zeroconf` ([50])
```
2020-09-03 13:01:45 -05:00
RETURN VALUE
------------
2021-06-16 10:40:17 +09:30
[comment]: # (GENERATE-FROM-SCHEMA-START)
On success, an object is returned, containing:
2022-09-06 07:03:09 +09:30
2022-09-06 07:15:06 +09:30
- **channel\_id** (hex): the channel id of the channel (always 64 characters)
2021-07-08 16:23:16 -05:00
- **psbt** (string): the (incomplete) PSBT of the funding transaction
2024-01-29 10:08:40 +10:30
- **channel\_type** (object): channel\_type as negotiated with peer *(added v24.02)* :
- **bits** (array of u32s): Each bit set in this channel\_type *(added v24.02)* :
- Bit number
- **names** (array of strings): Feature name for each bit set in this channel\_type *(added v24.02)* :
- Name of feature bit (one of "static\_remotekey/even", "anchor\_outputs/even", "anchors\_zero\_fee\_htlc\_tx/even", "scid\_alias/even", "zeroconf/even")
2022-09-06 07:15:06 +09:30
- **commitments\_secured** (boolean): whether the *psbt* is complete (always *false* )
2022-11-10 21:03:13 -05:00
- **funding\_serial** (u64): the serial\_id of the funding output in the *psbt*
2023-01-10 15:03:44 -06:00
- **requires\_confirmed\_inputs** (boolean, optional): Does peer require confirmed inputs in psbt?
2021-09-03 19:37:59 +09:30
2021-06-16 10:40:17 +09:30
[comment]: # (GENERATE-FROM-SCHEMA-END)
2020-09-03 13:01:45 -05:00
If the peer does not support `option_dual_fund` , this command
will return an error.
2022-11-10 20:44:56 -05:00
If you sent a *request\_amt* and the peer supports `option_will_fund` and is
2021-06-08 16:50:41 -05:00
interested in leasing you liquidity in this channel, returns their updated
2022-11-10 20:44:56 -05:00
channel fee max (*channel\_fee\_proportional\_basis*, *channel\_fee\_base\_msat* ),
updated rate card for the lease fee (*lease\_fee\_proportional\_basis*,
*lease\_fee\_base\_sat*) and their on-chain weight *weight\_charge* , which will
be added to the lease fee at a rate of *funding\_feerate* * *weight\_charge*
2021-06-08 16:50:41 -05:00
/ 1000.
2020-09-03 13:01:45 -05:00
On error the returned object will contain `code` and `message` properties,
with `code` being one of the following:
- -32602: If the given parameters are wrong.
- -1: Catchall nonspecific error.
- 300: The amount exceeded the maximum configured funding amount.
- 301: The provided PSBT cannot afford the funding amount.
- 304: Still syncing with bitcoin network
- 305: Peer is not connected.
- 306: Unknown peer id.
- 309: PSBT missing required fields
- 310: v2 channel open protocol not supported by peer
2021-03-10 22:32:48 -06:00
- 312: Channel in an invalid state
2020-09-03 13:01:45 -05:00
SEE ALSO
--------
lightning-openchannel\_update(7), lightning-openchannel\_signed(7),
2021-03-09 15:14:08 -06:00
lightning-openchannel\_abort(7), lightning-openchannel\_bump(7),
lightning-fundchannel\_start(7),
2021-03-10 22:33:47 -06:00
lightning-fundchannel\_complete(7), lightning-fundchannel(7),
lightning-fundpsbt(7), lightning-utxopsbt(7), lightning-multifundchannel(7)
2020-09-03 13:01:45 -05:00
AUTHOR
------
@niftynei < < niftynei @gmail .com > > is mainly responsible.
RESOURCES
---------
Main web site: < https: / / github . com / ElementsProject / lightning >
2022-12-09 09:10:12 +02:00
2024-01-29 10:08:40 +10:30
[comment]: # ( SHA256STAMP:2815e0b486c5346d0d058a7670b7e34f55b7ce0f5d35861dd76316e42b7b589d)