LIGHTNING-CREATEPROOF(7)
π 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 purchased22(offer_issuer_id): identifies who issued the offer being proved164(invoice_created_at): timestamp of invoice170(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): Thepayer_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
- nixpkgs unstable: clightning 26.06.9
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms