docs: document missing and fix erroneous JSON-RPC error codes
What changed, and why it matters
This commit is a documentation-only cleanup of the JSON-RPC command help files. It corrects which numeric error codes are listed for each command so the published schemas match what the software actually returns. No program logic, validation, or behavior was changed, so it cannot be exploited or cause runtime failures. It mainly helps developers and automated tools build correct clients.
No security action required. Treat as a normal documentation fix. Reviewers may optionally verify that the listed error codes now match the source, but the commit itself does not introduce or fix a vulnerability.
Security signals we found
Documentation-only change with no executable code modifications
Corrects RPC schema error-code metadata to match actual handler behavior
No change to input parsing, authorization, cryptography, or network behavior
Evidence from the diff
The patch audits and updates the errors sections in the JSON-RPC schema files under doc/schemas/ and the bundled contrib/msggen/msggen/schema.json. Changes include: adding missing error codes such as 304 (FUNDING_STILL_SYNCING_BITCOIN) to wallet/fund commands, removing stale 304 codes from fundchannel_start and openchannel_init, replacing an incorrect 211 with 208 in delpay, adding newly documented codes for createinvoice, enableoffer, getroutes, addpsbtoutput, disableoffer, disableinvoicerequest, preapproveinvoice, preapprovekeysend, recover, and the splice RPCs. No C source code is modified.
Changed components
doc/schemas/addpsbtoutput.jsondoc/schemas/createinvoice.jsondoc/schemas/delpay.jsondoc/schemas/disableinvoicerequest.jsondoc/schemas/disableoffer.jsondoc/schemas/enableoffer.jsondoc/schemas/fundchannel.jsondoc/schemas/fundchannel_start.jsondoc/schemas/fundpsbt.jsondoc/schemas/getroutes.jsondoc/schemas/multifundchannel.jsondoc/schemas/multiwithdraw.jsondoc/schemas/openchannel_init.jsondoc/schemas/preapproveinvoice.jsondoc/schemas/preapprovekeysend.jsondoc/schemas/recover.jsondoc/schemas/splice_init.jsondoc/schemas/splice_signed.jsondoc/schemas/splice_update.jsondoc/schemas/txprepare.jsondoc/schemas/upgradewallet.jsondoc/schemas/utxopsbt.jsondoc/schemas/withdraw.jsoncontrib/msggen/msggen/schema.jsonInspect captured patch +204 / −12
### contrib/msggen/msggen/schema.json
@@ -133,6 +133,14 @@
}
}
},
+ "errors": [
+ "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.",
+ "- 302: The output amount is below the dust limit.",
+ "- 309: The given PSBT is invalid or could not be modified."
+ ],
"author": [
"Dusty [@dusty_daemon](mailto:@dustydaemon) is mainly responsible."
],
@@ -7532,7 +7540,8 @@
"The following error codes may occur:",
"",
"- -1: Catchall nonspecific error.",
- "- 900: An invoice with the given *label* already exists."
+ "- 900: An invoice with the given *label* already exists.",
+ "- 907: The offer associated with the invoice is not active."
],
"author": [
"Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) is mainly responsible."
@@ -12643,8 +12652,7 @@
"The following error codes may occur:",
"",
"- -32602: Parameter missed or malformed;",
- "- 211: Payment status mismatch. Check the correct status via **paystatus**;",
- "- 208: Payment with payment_hash not found."
+ "- 208: Payment with payment_hash not found, or without the given status (and partid/groupid)."
],
"author": [
"Vincenzo Palazzo [vincenzo.palazzo@protonmail.com](mailto:vincenzo.palazzo@protonmail.com) is mainly responsible."
@@ -13456,6 +13464,12 @@
"Note: the returned object is the same format as **listinvoicerequests**."
]
},
+ "errors": [
+ "On failure, one of the following error codes may be returned:",
+ "",
+ "- -32602: Error in given parameters.",
+ "- 1001: invoice_request is already disabled."
+ ],
"author": [
"Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) is mainly responsible."
],
@@ -13578,6 +13592,12 @@
"Note: the returned object is the same format as **listoffers**."
]
},
+ "errors": [
+ "On failure, one of the following error codes may be returned:",
+ "",
+ "- -32602: Error in given parameters.",
+ "- 1001: offer is already disabled."
+ ],
"author": [
"Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) is mainly responsible."
],
@@ -13847,7 +13867,8 @@
"On failure, one of the following error codes may be returned:",
"",
"- -32602: Error in given parameters.",
- "- 1006: offer already enabled."
+ "- 1006: offer already enabled.",
+ "- 1007: offer is single-use and has already been used."
],
"author": [
"Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) is mainly responsible."
@@ -15022,6 +15043,7 @@
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
"- 302: The output amount is too small, and would be considered dust.",
"- 303: Broadcasting of the funding transaction failed, the internal call to bitcoin-cli returned with an error.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have or are opening anchor channels).",
"",
"Failure may also occur if **lightningd** and the peer cannot agree on channel parameters (funding limits, channel reserves, fees, etc.)."
@@ -15498,7 +15520,6 @@
"- -1: Catchall nonspecific error.",
"- 300: The amount exceeded the maximum configured funding amount.",
"- 301: The provided `push_msat` is greater than the provided `amount`.",
- "- 304: Still syncing with bitcoin network",
"- 305: Peer is not connected.",
"- 306: Unknown peer id.",
"- 312: Peer negotiated `option_dual_fund`, must use `openchannel_init` not `fundchannel_start`. (Only if ``experimental-dual-fund` is enabled)"
@@ -16103,6 +16124,7 @@
"- -32602: If the given parameters are wrong.",
"- -1: Catchall nonspecific error.",
"- 301: Insufficient UTXOs to meet *satoshi* value.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have or are opening anchor channels)."
],
"author": [
@@ -17462,6 +17484,7 @@
"- 205: Unable to find a route.",
"- 206: Route too expensive. Either the max_delay or maxfee_msat was exceeded.",
"- 215: We don't have enough funds in all our channels to pay this.",
+ "- 217: The given *maxdelay* is larger than the maximum allowed.",
"- 220: We can't find sufficient capacity into the destination."
],
"author": [
@@ -30711,6 +30734,7 @@
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
"- 302: The output amount is too small, and would be considered dust.",
"- 303: Broadcasting of the funding transaction failed, the internal call to bitcoin-cli returned with an error.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have or are opening anchor channels).",
"",
"Failure may also occur if **lightningd** and the peer cannot agree on channel parameters (funding limits, channel reserves, fees, etc.). See lightning-fundchannel_start(7) and lightning-fundchannel_complete(7).",
@@ -30957,6 +30981,7 @@
"- -1: Catchall nonspecific error.",
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
"- 302: The dust limit is not met.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have anchor channels)."
],
"author": [
@@ -32024,7 +32049,6 @@
"- -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",
@@ -33489,6 +33513,12 @@
"additionalProperties": false,
"properties": {}
},
+ "errors": [
+ "On failure, one of the following error codes may be returned:",
+ "",
+ "- -32602: Error in given parameters.",
+ "- 213: The invoice was not preapproved."
+ ],
"author": [
"Ken Sedgwick [ken@bonsai.com](mailto:ken@bonsai.com) is mainly responsible."
],
@@ -33575,6 +33605,12 @@
"additionalProperties": false,
"properties": {}
},
+ "errors": [
+ "On failure, one of the following error codes may be returned:",
+ "",
+ "- -32602: Error in given parameters.",
+ "- 214: The keysend payment was not preapproved."
+ ],
"author": [
"Ken Sedgwick [ken@bonsai.com](mailto:ken@bonsai.com) is mainly responsible."
],
@@ -33847,6 +33883,13 @@
}
}
},
+ "errors": [
+ "On failure, one of the following error codes may be returned:",
+ "",
+ "- -32602: Error in given parameters.",
+ "- -1: Catchall nonspecific error.",
+ "- 1600: The node is not empty, or recovery is already in progress."
+ ],
"author": [
"Rusty Russell [rusty@blockstream.com](mailto:rusty@blockstream.com) is mainly responsible."
],
@@ -37354,6 +37397,21 @@
}
}
},
+ "errors": [
+ "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.",
+ "- 351: The channel is not owned by this node, or its owner is in an abnormal state.",
+ "- 352: Unknown channel.",
+ "- 353: The channel is not in a state which permits splicing.",
+ "- 354: The peer does not support splicing.",
+ "- 355: Another splice command is already in progress for this channel.",
+ "- 356: The splice PSBT is invalid.",
+ "- 358: The channel is not in a valid state to perform the requested splice operation.",
+ "- 362: The splice was aborted.",
+ "- 363: The channel was disconnected during the splice command."
+ ],
"usage": [
"Here is an example set of splice commands that will splice in 100,000 sats to the first channel that comes out of `listpeerchannels`.",
"",
@@ -37504,6 +37562,22 @@
}
}
},
+ "errors": [
+ "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.",
+ "- 350: The splice transaction could not be broadcast.",
+ "- 351: The channel is not owned by this node, or its owner is in an abnormal state.",
+ "- 352: Unknown channel.",
+ "- 353: The channel is not in a state which permits splicing.",
+ "- 354: The peer does not support splicing.",
+ "- 355: Another splice command is already in progress for this channel.",
+ "- 356: The splice PSBT is invalid.",
+ "- 358: The channel is not in a valid state to perform the requested splice operation.",
+ "- 362: The splice was aborted.",
+ "- 363: The channel was disconnected during the splice command."
+ ],
"usage": [
"In this example we funded the psbt from our lightning node, so we can use the lightning node to sign for its funds.",
"",
@@ -37665,6 +37739,24 @@
}
}
},
+ "errors": [
+ "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.",
+ "- 351: The channel is not owned by this node, or its owner is in an abnormal state.",
+ "- 352: Unknown channel.",
+ "- 353: The channel is not in a state which permits splicing.",
+ "- 354: The peer does not support splicing.",
+ "- 355: Another splice command is already in progress for this channel.",
+ "- 356: The splice PSBT is invalid.",
+ "- 357: The amount of funds provided for the splice was lower than the amount committed to the peer.",
+ "- 358: The channel is not in a valid state to perform the requested splice operation.",
+ "- 359: The splice feerate is lower than the minimum required.",
+ "- 360: The splice feerate is higher than the configured maximum (use `force_feerate` to override).",
+ "- 362: The splice was aborted.",
+ "- 363: The channel was disconnected during the splice command."
+ ],
"usage": [
"Here is an example way to call `splice_update`",
"",
@@ -38501,6 +38593,7 @@
"- -1: Catchall nonspecific error.",
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
"- 302: The dust limit is not met.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have anchor channels)."
],
"author": [
@@ -38878,6 +38971,7 @@
"",
"- -1: Catchall nonspecific error.",
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have anchor channels)."
],
"usage": [
@@ -39116,6 +39210,7 @@
"- -32602: If the given parameters are wrong.",
"- -1: Catchall nonspecific error.",
"- 301: Insufficient UTXOs to meet *satoshi* value.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have or are opening anchor channels)."
],
"author": [
@@ -41008,6 +41103,7 @@
"- -1: Catchall nonspecific error.",
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
"- 302: The dust limit is not met.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have anchor channels)."
],
"author": [
### doc/schemas/addpsbtoutput.json
@@ -69,6 +69,14 @@
}
}
},
+ "errors": [
+ "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.",
+ "- 302: The output amount is below the dust limit.",
+ "- 309: The given PSBT is invalid or could not be modified."
+ ],
"author": [
"Dusty [@dusty_daemon](mailto:@dustydaemon) is mainly responsible."
],
### doc/schemas/createinvoice.json
@@ -188,7 +188,8 @@
"The following error codes may occur:",
"",
"- -1: Catchall nonspecific error.",
- "- 900: An invoice with the given *label* already exists."
+ "- 900: An invoice with the given *label* already exists.",
+ "- 907: The offer associated with the invoice is not active."
],
"author": [
"Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) is mainly responsible."
### doc/schemas/delpay.json
@@ -194,8 +194,7 @@
"The following error codes may occur:",
"",
"- -32602: Parameter missed or malformed;",
- "- 211: Payment status mismatch. Check the correct status via **paystatus**;",
- "- 208: Payment with payment_hash not found."
+ "- 208: Payment with payment_hash not found, or without the given status (and partid/groupid)."
],
"author": [
"Vincenzo Palazzo [vincenzo.palazzo@protonmail.com](mailto:vincenzo.palazzo@protonmail.com) is mainly responsible."
### doc/schemas/disableinvoicerequest.json
@@ -77,6 +77,12 @@
"Note: the returned object is the same format as **listinvoicerequests**."
]
},
+ "errors": [
+ "On failure, one of the following error codes may be returned:",
+ "",
+ "- -32602: Error in given parameters.",
+ "- 1001: invoice_request is already disabled."
+ ],
"author": [
"Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) is mainly responsible."
],
### doc/schemas/disableoffer.json
@@ -91,6 +91,12 @@
"Note: the returned object is the same format as **listoffers**."
]
},
+ "errors": [
+ "On failure, one of the following error codes may be returned:",
+ "",
+ "- -32602: Error in given parameters.",
+ "- 1001: offer is already disabled."
+ ],
"author": [
"Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) is mainly responsible."
],
### doc/schemas/enableoffer.json
@@ -94,7 +94,8 @@
"On failure, one of the following error codes may be returned:",
"",
"- -32602: Error in given parameters.",
- "- 1006: offer already enabled."
+ "- 1006: offer already enabled.",
+ "- 1007: offer is single-use and has already been used."
],
"author": [
"Rusty Russell [rusty@rustcorp.com.au](mailto:rusty@rustcorp.com.au) is mainly responsible."
### doc/schemas/fundchannel.json
@@ -223,6 +223,7 @@
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
"- 302: The output amount is too small, and would be considered dust.",
"- 303: Broadcasting of the funding transaction failed, the internal call to bitcoin-cli returned with an error.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have or are opening anchor channels).",
"",
"Failure may also occur if **lightningd** and the peer cannot agree on channel parameters (funding limits, channel reserves, fees, etc.)."
### doc/schemas/fundchannel_start.json
@@ -184,7 +184,6 @@
"- -1: Catchall nonspecific error.",
"- 300: The amount exceeded the maximum configured funding amount.",
"- 301: The provided `push_msat` is greater than the provided `amount`.",
- "- 304: Still syncing with bitcoin network",
"- 305: Peer is not connected.",
"- 306: Unknown peer id.",
"- 312: Peer negotiated `option_dual_fund`, must use `openchannel_init` not `fundchannel_start`. (Only if ``experimental-dual-fund` is enabled)"
### doc/schemas/fundpsbt.json
@@ -195,6 +195,7 @@
"- -32602: If the given parameters are wrong.",
"- -1: Catchall nonspecific error.",
"- 301: Insufficient UTXOs to meet *satoshi* value.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have or are opening anchor channels)."
],
"author": [
### doc/schemas/getroutes.json
@@ -238,6 +238,7 @@
"- 205: Unable to find a route.",
"- 206: Route too expensive. Either the max_delay or maxfee_msat was exceeded.",
"- 215: We don't have enough funds in all our channels to pay this.",
+ "- 217: The given *maxdelay* is larger than the maximum allowed.",
"- 220: We can't find sufficient capacity into the destination."
],
"author": [
### doc/schemas/multifundchannel.json
@@ -314,6 +314,7 @@
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
"- 302: The output amount is too small, and would be considered dust.",
"- 303: Broadcasting of the funding transaction failed, the internal call to bitcoin-cli returned with an error.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have or are opening anchor channels).",
"",
"Failure may also occur if **lightningd** and the peer cannot agree on channel parameters (funding limits, channel reserves, fees, etc.). See lightning-fundchannel_start(7) and lightning-fundchannel_complete(7).",
### doc/schemas/multiwithdraw.json
@@ -73,6 +73,7 @@
"- -1: Catchall nonspecific error.",
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
"- 302: The dust limit is not met.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have anchor channels)."
],
"author": [
### doc/schemas/openchannel_init.json
@@ -189,7 +189,6 @@
"- -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",
### doc/schemas/preapproveinvoice.json
@@ -34,6 +34,12 @@
"additionalProperties": false,
"properties": {}
},
+ "errors": [
+ "On failure, one of the following error codes may be returned:",
+ "",
+ "- -32602: Error in given parameters.",
+ "- 213: The invoice was not preapproved."
+ ],
"author": [
"Ken Sedgwick [ken@bonsai.com](mailto:ken@bonsai.com) is mainly responsible."
],
### doc/schemas/preapprovekeysend.json
@@ -52,6 +52,12 @@
"additionalProperties": false,
"properties": {}
},
+ "errors": [
+ "On failure, one of the following error codes may be returned:",
+ "",
+ "- -32602: Error in given parameters.",
+ "- 214: The keysend payment was not preapproved."
+ ],
"author": [
"Ken Sedgwick [ken@bonsai.com](mailto:ken@bonsai.com) is mainly responsible."
],
### doc/schemas/recover.json
@@ -41,6 +41,13 @@
}
}
},
+ "errors": [
+ "On failure, one of the following error codes may be returned:",
+ "",
+ "- -32602: Error in given parameters.",
+ "- -1: Catchall nonspecific error.",
+ "- 1600: The node is not empty, or recovery is already in progress."
+ ],
"author": [
"Rusty Russell [rusty@blockstream.com](mailto:rusty@blockstream.com) is mainly responsible."
],
### doc/schemas/splice_init.json
@@ -63,6 +63,21 @@
}
}
},
+ "errors": [
+ "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.",
+ "- 351: The channel is not owned by this node, or its owner is in an abnormal state.",
+ "- 352: Unknown channel.",
+ "- 353: The channel is not in a state which permits splicing.",
+ "- 354: The peer does not support splicing.",
+ "- 355: Another splice command is already in progress for this channel.",
+ "- 356: The splice PSBT is invalid.",
+ "- 358: The channel is not in a valid state to perform the requested splice operation.",
+ "- 362: The splice was aborted.",
+ "- 363: The channel was disconnected during the splice command."
+ ],
"usage": [
"Here is an example set of splice commands that will splice in 100,000 sats to the first channel that comes out of `listpeerchannels`.",
"",
### doc/schemas/splice_signed.json
@@ -71,6 +71,22 @@
}
}
},
+ "errors": [
+ "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.",
+ "- 350: The splice transaction could not be broadcast.",
+ "- 351: The channel is not owned by this node, or its owner is in an abnormal state.",
+ "- 352: Unknown channel.",
+ "- 353: The channel is not in a state which permits splicing.",
+ "- 354: The peer does not support splicing.",
+ "- 355: Another splice command is already in progress for this channel.",
+ "- 356: The splice PSBT is invalid.",
+ "- 358: The channel is not in a valid state to perform the requested splice operation.",
+ "- 362: The splice was aborted.",
+ "- 363: The channel was disconnected during the splice command."
+ ],
"usage": [
"In this example we funded the psbt from our lightning node, so we can use the lightning node to sign for its funds.",
"",
### doc/schemas/splice_update.json
@@ -65,6 +65,24 @@
}
}
},
+ "errors": [
+ "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.",
+ "- 351: The channel is not owned by this node, or its owner is in an abnormal state.",
+ "- 352: Unknown channel.",
+ "- 353: The channel is not in a state which permits splicing.",
+ "- 354: The peer does not support splicing.",
+ "- 355: Another splice command is already in progress for this channel.",
+ "- 356: The splice PSBT is invalid.",
+ "- 357: The amount of funds provided for the splice was lower than the amount committed to the peer.",
+ "- 358: The channel is not in a valid state to perform the requested splice operation.",
+ "- 359: The splice feerate is lower than the minimum required.",
+ "- 360: The splice feerate is higher than the configured maximum (use `force_feerate` to override).",
+ "- 362: The splice was aborted.",
+ "- 363: The channel was disconnected during the splice command."
+ ],
"usage": [
"Here is an example way to call `splice_update`",
"",
### doc/schemas/txprepare.json
@@ -82,6 +82,7 @@
"- -1: Catchall nonspecific error.",
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
"- 302: The dust limit is not met.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have anchor channels)."
],
"author": [
### doc/schemas/upgradewallet.json
@@ -68,6 +68,7 @@
"",
"- -1: Catchall nonspecific error.",
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have anchor channels)."
],
"usage": [
### doc/schemas/utxopsbt.json
@@ -192,6 +192,7 @@
"- -32602: If the given parameters are wrong.",
"- -1: Catchall nonspecific error.",
"- 301: Insufficient UTXOs to meet *satoshi* value.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have or are opening anchor channels)."
],
"author": [
### doc/schemas/withdraw.json
@@ -84,6 +84,7 @@
"- -1: Catchall nonspecific error.",
"- 301: There are not enough funds in the internal wallet (including fees) to create the transaction.",
"- 302: The dust limit is not met.",
+ "- 304: Still syncing with bitcoin network.",
"- 313: The `min-emergency-msat` reserve could not be preserved (and we have anchor channels)."
],
"author": [Why this scored 21/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.