LIGHTNING-CREATEPROOF(7)

πŸ“¦ version 26.06.9, in nixpkgs unstable

πŸŽ€ NAME β€” createproof from LIGHTNING-CREATEPROOF(7) πŸŽ€

createproof -- Create a BOLT12 payer proof (EXPERIMENTAL). It’s giving experimental fairy vibes, so peep the warning below, k? 🧚


✨ SYNOPSIS ✨

createproof invstring [note] [include]

πŸ’… DESCRIPTION πŸ’…

Command added in v26.06. Bestie, write that down.

⚠️ NOTE: The proof format is still a draft: IT MAY CHANGE IN INCOMPATIBLE WAYS IN FUTURE.

The createproof RPC command creates proofs that we have made a BOLT12 payment according to the current draft specification. In case we have made multiple payments to the same thing, we will create multiple proofs. Each returned proof includes enough fields from the offer and invoice itself that a reader can verify it: see decode.

  • invstring (string): bolt12 invoice, a bolt12 (non-recursive) offer or a BIP353 name.
  • note (string, optional): A note to include in the proof: someone can challenge you to create a proof with a given note, and so you can demonstrate that you can indeed make a new proof. Default is an empty string.
  • include (array, optional): An explicit list of TLV field names or numbers to include in the proof if they are present. The default values are:
    • 10 (offer_description): identifies what was purchased
    • 22 (offer_issuer_id): identifies who issued the offer being proved
    • 164 (invoice_created_at): timestamp of invoice
    • 170 (invoice_amount): the amount actually paid

Note that the following fields are always included: 88 (invreq_payer_id), 168 (invoice_payment_hash), 174 (invoice_features), 176 (invoice_node_id) and 240 (signature).

Each include entry can be:

  • (string): Name of an offer, invoice_request or invoice field to include
  • (u64): Number of an offer, invoice_request or invoice field to include (allows reference to unknown fields)

πŸ‘‘ RETURN VALUE πŸ‘‘

On success, an object containing proofs is returned. It is an array of objects, where each object contains:

  • bolt12 (string): The payer_proof.
  • offer_fields_included (array):
    • (string): The name of the field from the offer we included in the proof.
    • (u64): The number of the field from the offer we included in the proof (if we don't know the name).
  • invreq_fields_included (array):
    • (string): The name of the field from the invoice_request we included in the proof.
    • (u64): The number of the field from the invoice_request we included in the proof (if we don't know the name).
  • invoice_fields_included (array):
    • (string): The name of the field from the invoice we included in the proof.
    • (u64): The number of the field from the invoice we included in the proof (if we don't know the name).

πŸ’€ ERRORS πŸ’€

The following error codes may occur:

  • -1: Catchall nonspecific error.
  • 1700: We could not find a successful payment for that invstring.

🌸 AUTHOR 🌸

Rusty Russell rusty@rustcorp.com.au is mainly responsible. Iconic. πŸ’–

πŸ¦‹ SEE ALSO πŸ¦‹

lightning-xpay(7), lightning-decode(7)

🌈 RESOURCES 🌈

Main web site: https://github.com/ElementsProject/lightning


okay bestie, that’s the whole glow-up! Served fresh from Core Lightning v26.06.9 πŸ’– Catch u in the next manpage! 🫢

πŸ“¦ where this page comes from