lightning-delinvoice -- Command for removing an invoice (or just its description)


delinvoice label status [desconly]


The delinvoice RPC command removes an invoice with status as given
in listinvoices, or with desconly set, removes its description.

The caller should be particularly aware of the error case caused by the
status changing just before this command is invoked!

If desconly is set, the invoice is not deleted, but has its
description removed (this can save space with very large descriptions,
as would be used with lightning-invoice(7) deschashonly.


Note: The return is the same as an object from lightning-listinvoice(7).

On success, an object is returned, containing:

  • label (string): Unique label given at creation time
  • payment_hash (hash): the hash of the payment_preimage which will prove payment
  • created_index (u64): 1-based index indicating order this invoice was created in (added v23.08)
  • status (string): State of invoice (one of "paid", "expired", "unpaid")
  • expires_at (u64): UNIX timestamp when invoice expires (or expired)
  • bolt11 (string, optional): BOLT11 string
  • bolt12 (string, optional): BOLT12 string
  • amount_msat (msat, optional): the amount required to pay this invoice
  • description (string, optional): description used in the invoice
  • updated_index (u64, optional): 1-based index indicating order this invoice was changed (only present if it has changed since creation) (added v23.08)

If bolt12 is present:

  • local_offer_id (hex, optional): offer for which this invoice was created
  • invreq_payer_note (string, optional): the optional invreq_payer_note from invoice_request which created this invoice

If status is "paid":

  • pay_index (u64): unique index for this invoice payment
  • amount_received_msat (msat): how much was actually received
  • paid_at (u64): UNIX timestamp of when payment was received
  • payment_preimage (secret): SHA256 of this is the payment_hash offered in the invoice


The following errors may be reported:

  • -1: Database error.
  • 905: An invoice with that label does not exist.
  • 906: The invoice status does not match the parameter.
    An error object will be returned as error data, containing
    current_status and expected_status fields.
    This is most likely due to the status of the invoice
    changing just before this command is invoked.
  • 908: The invoice already has no description, and desconly was set.


Rusty Russell <[email protected]> is mainly responsible.


lightning-listinvoice(7), lightning-waitinvoice(7),
lightning-invoice(7), lightning-delexpiredinvoice(7),


Main web site: