{ "$schema": "../rpc-schema-draft.json", "type": "object", "additionalProperties": false, "added": "v23.02", "rpc": "preapproveinvoice", "title": "Ask the HSM to preapprove an invoice (low-level)", "description": [ "The **preapproveinvoice** RPC command submits the *bolt11* invoice to the HSM to check that it is approved for payment.", "", "Generally the **preapproveinvoice** request does not need to be made explicitly, it is automatically generated as part of a **pay** request.", "", "By default, the HSM will approve all **preapproveinvoice** requests.", "", "If a remote signer is being used it might decline an **preapproveinvoice** request because it would exceed velocity controls, is not covered by allowlist controls, was declined manually, or other reasons.", "", "If a remote signer declines a **preapproveinvoice** request a subsequent attempt to pay the invoice anyway will fail; the signer will refuse to sign the commitment." ], "request": { "required": [ "bolt11" ], "properties": { "bolt11": { "type": "string", "description": [ "Bolt11 invoice to submit to the HSM to check." ], "added": "v23.02" } } }, "response": { "properties": {} }, "author": [ "Ken Sedgwick <> is mainly responsible." ], "see_also": [ "lightning-pay(7)" ], "resources": [ "Main web site: " ] }