"title":"Command to initiate a channel to a peer",
"warning":"experimental-splicing only",
"description":[
"`splice_update` is a low level RPC command which updates the active channel splice associated with `channel_id`.",
"",
"`splice_update` must be called repeatidly until the result `commitments_secured` is `true`. Each time `splice_update` is called, it will return a new PSBT that may have changes. In the simplest case, you take the returned `psbt` and pass it back into `splice_update` for the incoming `psbt` field.",
"",
"For more complex use cases, you may modify the `psbt` both before calling `splice_update` and inbetween subsequent calls until `commitments_secured` is `true`. After which point you can no long make modifications to the PSBT (beyond signing, which comes later with `splice_signed`).",
"",
"Each `splice_update` result may include changes to the PSBT specified by your channel peer. You can review these changes between calls to `splice_update` to perform additional validation or strategy adjustment.",
"",
"Typically, `splice_update` will return `commitments_secured` true after one call but you should assume it will need multiple calls."
],
"request":{
"required":[
"channel_id",
"psbt"
],
"properties":{
"channel_id":{
"type":"hash",
"description":[
"The channel id of the channel to be spliced."
]
},
"psbt":{
"type":"string",
"description":[
"The base 64 encoded PSBT returned from `splice_init` with any changes added by the user."
]
}
}
},
"response":{
"required":[
"psbt",
"commitments_secured"
],
"properties":{
"psbt":{
"type":"string",
"description":[
"The (incomplete) PSBT of the splice transaction."
"Before each call to `splice_update` you have the opportunity to make additional changes.",
"",
"Here is a full example set of splice commands that will splice in 100,000 sats to the first channel that comes out of `listpeerchannels`. The example assumes you already have at least one confirmed channel.",