"title":"Command to prepare to withdraw funds from the internal wallet",
"description":[
"The **txprepare** RPC command creates an unsigned transaction which spends funds from Core Lightning's internal wallet to the outputs specified in *outputs*.",
"",
"**txprepare** is similar to the first part of a **withdraw** command, but supports multiple outputs and uses *outputs* as parameter. The second part is provided by **txsend**."
],
"request":{
"required":[
"outputs"
],
"properties":{
"outputs":{
"type":"array",
"description":[
"Format is like: [{destination1: amount1}, {destination2: amount2}] or [{destination: *all*}]. It supports any number of **confirmed** outputs."
],
"items":{
"type":"outputdesc"
}
},
"feerate":{
"type":"feerate",
"description":[
"Used for the transaction as initial feerate."
],
"default":"*normal*"
},
"minconf":{
"type":"u32",
"description":[
"The minimum number of confirmations that used outputs should have."
],
"default":1
},
"utxos":{
"type":"array",
"description":[
"To be used to fund the transaction, as an array of `txid:vout`. These must be drawn from the node's available UTXO set."
],
"items":{
"type":"outpoint"
}
}
}
},
"response":{
"required":[
"psbt",
"unsigned_tx",
"txid"
],
"properties":{
"psbt":{
"type":"string",
"description":[
"The PSBT representing the unsigned transaction."
]
},
"unsigned_tx":{
"type":"hex",
"description":[
"The unsigned transaction."
]
},
"txid":{
"type":"txid",
"description":[
"The transaction id of *unsigned_tx*; you hand this to lightning-txsend(7) or lightning-txdiscard(7), as the inputs of this transaction are reserved."
]
}
}
},
"errors":[
"On failure, an error is reported and the transaction is not created.",
"",
"- -1: Catchall nonspecific error.",
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",