<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.38 (Ruby 3.2.11) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3339 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3339.xml">
<!ENTITY RFC4648 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4648.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8259 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8259.xml">
<!ENTITY RFC8785 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8785.xml">
<!ENTITY RFC9457 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9457.xml">
]>


<rfc ipr="noModificationTrust200902" docName="draft-lightning-charge-00" category="info" submissionType="independent">
  <front>
    <title abbrev="Lightning Charge Intent">Lightning Network Charge Intent for HTTP Payment Authentication</title>

    <author initials="K." surname="Zhang" fullname="Kevin Zhang">
      <organization>Lightspark</organization>
      <address>
        <email>kevz@lightspark.com</email>
      </address>
    </author>
    <author initials="J." surname="Klein" fullname="Jeremy Klein">
      <organization>Lightspark</organization>
      <address>
        <email>jeremy@lightspark.com</email>
      </address>
    </author>
    <author initials="Z." surname="Lu" fullname="Zhen Lu">
      <organization>Lightspark</organization>
      <address>
        <email>zhenlu@lightspark.com</email>
      </address>
    </author>

    <date year="2026" month="May" day="18"/>

    
    
    

    <abstract>


<?line 69?>

<t>This document defines the "charge" intent for the "lightning" payment
method within the Payment HTTP Authentication Scheme
<xref target="I-D.httpauth-payment"/>. The server issues a BOLT11 invoice as a
challenge; the client pays it and proves payment by presenting the
preimage as a credential.</t>



    </abstract>



  </front>

  <middle>


<?line 77?>

<section anchor="introduction"><name>Introduction</name>

<t>HTTP Payment Authentication <xref target="I-D.httpauth-payment"/> defines
a challenge-response mechanism that gates access to resources behind
micropayments. This document registers the "charge" intent for the
"lightning" payment method.</t>

<t>The flow proceeds as follows:</t>

<figure><artwork><![CDATA[
   Client                        Server                   Lightning Network
      |                             |                             |
      |  (1) GET /resource          |                             |
      |-------------------------->  |                             |
      |                             |                             |
      |                             |  (2) Create invoice         |
      |                             |-------------------------->  |
      |                             |  (3) invoice, hash          |
      |                             |<--------------------------  |
      |                             |                             |
      |  (4) 402 Payment Required   |                             |
      |      (invoice, hash)        |                             |
      |<--------------------------  |                             |
      |                             |                             |
      |  (5) Pay invoice            |                             |
      |------------------------------------------------------>    |
      |  (6) Preimage (HTLC)        |                             |
      |<------------------------------------------------------    |
      |                             |                             |
      |  (7) GET /resource          |                             |
      |      credential: preimage   |                             |
      |-------------------------->  |                             |
      |                             |                             |
      |  (8) 200 OK (resource)      |                             |
      |<--------------------------  |                             |
      |                             |                             |
]]></artwork></figure>

<section anchor="relationship-to-the-charge-intent"><name>Relationship to the Charge Intent</name>

<t>This document inherits the shared request semantics of the "charge"
intent from <xref target="I-D.payment-intent-charge"/>. It defines only the
Lightning-specific <spanx style="verb">methodDetails</spanx>, <spanx style="verb">payload</spanx>, and settlement
procedures for the "lightning" payment method.</t>

</section>
</section>
<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
<section anchor="terminology"><name>Terminology</name>

<dl>
  <dt>BOLT11 Invoice</dt>
  <dd>
    <t>A Lightning Network payment request encoded per the BOLT11
specification, containing a payment hash, amount, expiry,
and optional routing hints.</t>
  </dd>
  <dt>Payment Hash</dt>
  <dd>
    <t>A 32-byte SHA-256 hash of the payment preimage, encoded as a
lowercase hex string. Embedded in the BOLT11 invoice and used
by the server to verify payment.</t>
  </dd>
  <dt>Payment Preimage</dt>
  <dd>
    <t>A 32-byte random secret whose SHA-256 hash equals the payment
hash. Revealed to the payer upon successful payment settlement;
serves as proof of payment.</t>
  </dd>
</dl>

</section>
<section anchor="intent-identifier"><name>Intent Identifier</name>

<t>The intent identifier for this specification is "charge". It <bcp14>MUST</bcp14>
be lowercase.</t>

</section>
<section anchor="intent-charge"><name>Intent: "charge"</name>

<t>The "charge" intent represents a one-time payment gating access to
a resource. The server generates a fresh BOLT11 invoice
(<xref target="BOLT11"/>) per request. The client pays the invoice
on the Lightning Network and presents the payment preimage as the
credential. The server verifies the preimage cryptographically
without contacting any external service.</t>

</section>
<section anchor="encoding"><name>Encoding Conventions</name>

<t>All JSON <xref target="RFC8259"/> objects carried in auth-params or
HTTP headers in this specification <bcp14>MUST</bcp14> be serialized using the JSON
Canonicalization Scheme (JCS) <xref target="RFC8785"/> before encoding. JCS
produces a deterministic byte sequence, which is required for
any digest or signature operations defined by the base spec
<xref target="I-D.httpauth-payment"/>.</t>

<t>The resulting bytes <bcp14>MUST</bcp14> then be encoded using base64url
<xref target="RFC4648"/> Section 5 without padding characters
(<spanx style="verb">=</spanx>). Implementations <bcp14>MUST NOT</bcp14> append <spanx style="verb">=</spanx> padding
when encoding, and <bcp14>MUST</bcp14> accept input with or without padding when
decoding.</t>

<t>This encoding convention applies to: the <spanx style="verb">request</spanx>
auth-param in <spanx style="verb">WWW-Authenticate</spanx>, the credential token in
<spanx style="verb">Authorization</spanx>, and the receipt token in
<spanx style="verb">Payment-Receipt</spanx>.</t>

</section>
<section anchor="request-schema"><name>Request Schema</name>

<section anchor="shared-fields"><name>Shared Fields</name>

<t>The <spanx style="verb">request</spanx> auth-param of the <spanx style="verb">WWW-Authenticate: Payment</spanx>
header contains a JCS-serialized, base64url-encoded JSON object
(see <xref target="encoding"/>). The following shared fields are
included in that object:</t>

<dl>
  <dt>amount</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The invoice amount in base units (satoshis), encoded
as a decimal string (e.g., "100"). The value <bcp14>MUST</bcp14> be a positive
integer.</t>
  </dd>
  <dt>currency</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. Identifies the unit for <spanx style="verb">amount</spanx>. <bcp14>MUST</bcp14> be the string
"sat" (lowercase). "sat" denotes satoshis, the base unit used for
Lightning/Bitcoin amounts.</t>
  </dd>
  <dt>description</dt>
  <dd>
    <t><bcp14>OPTIONAL</bcp14>. A human-readable memo describing the resource or
service being paid for. This value is used as the description
field of the BOLT11 invoice (<xref target="BOLT11"/>) and is
distinct from any <spanx style="verb">description</spanx> auth-param that the base
<xref target="I-D.httpauth-payment"/> scheme may include at the
header level.</t>
  </dd>
  <dt>recipient</dt>
  <dd>
    <t><bcp14>OPTIONAL</bcp14>. Payment recipient in method-native format, per
<xref target="I-D.payment-intent-charge"/>. Lightning implementations
typically do not use this field; the invoice payee is implied
by the BOLT11 invoice.</t>
  </dd>
  <dt>externalId</dt>
  <dd>
    <t><bcp14>OPTIONAL</bcp14>. Merchant's reference (e.g., order ID, invoice number),
per <xref target="I-D.payment-intent-charge"/>. May be used for
reconciliation or idempotency.</t>
  </dd>
</dl>

</section>
<section anchor="method-details"><name>Method Details</name>

<t>The following fields are nested under <spanx style="verb">methodDetails</spanx> in
the request JSON. The BOLT11 invoice (<spanx style="verb">methodDetails.invoice</spanx>)
is the authoritative source for payment parameters. The
<spanx style="verb">paymentHash</spanx> and <spanx style="verb">network</spanx> fields are provided as
convenience to spare clients from decoding the invoice; if present,
they <bcp14>MUST</bcp14> exactly match the values encoded in the invoice. Servers
<bcp14>MUST</bcp14> verify this consistency before issuing the challenge. Clients
<bcp14>MUST</bcp14> decode and verify the invoice independently before paying,
and <bcp14>MUST</bcp14> reject challenges where the convenience fields do not
match the invoice.</t>

<dl>
  <dt>invoice</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The full BOLT11-encoded payment request string
(e.g., "lnbc100n1..."). This field is authoritative; all other
payment parameters are derived from it.</t>
  </dd>
  <dt>paymentHash</dt>
  <dd>
    <t><bcp14>OPTIONAL</bcp14> convenience field. The payment hash embedded in the
invoice, as a lowercase hex-encoded string. If present, <bcp14>MUST</bcp14>
equal the payment hash decoded from <spanx style="verb">invoice</spanx>.</t>
  </dd>
  <dt>network</dt>
  <dd>
    <t><bcp14>OPTIONAL</bcp14> convenience field. Identifies the Lightning Network the
invoice is issued on. <bcp14>MUST</bcp14> be one of "mainnet", "regtest", or
"signet". If present, <bcp14>MUST</bcp14> match the network implied by the
invoice's human-readable prefix. Defaults to "mainnet" if
omitted. Clients <bcp14>SHOULD</bcp14> reject invoices whose network does not
match their configured network.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="credential-schema"><name>Credential Schema</name>

<t>The <spanx style="verb">Authorization</spanx> header carries a single base64url-encoded
JSON token (no auth-params). The decoded object contains two top-level
fields:</t>

<dl>
  <dt>challenge</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. An echo of the challenge auth-params from the
<spanx style="verb">WWW-Authenticate</spanx> header: <spanx style="verb">id</spanx>, <spanx style="verb">realm</spanx>,
<spanx style="verb">method</spanx>, <spanx style="verb">intent</spanx>, <spanx style="verb">request</spanx>, and
(if present) <spanx style="verb">expires</spanx>. This binds the credential to the
exact challenge that was issued.</t>
  </dd>
  <dt>source</dt>
  <dd>
    <t><bcp14>OPTIONAL</bcp14>. A payer identifier string, as defined by
<xref target="I-D.httpauth-payment"/>. The <bcp14>RECOMMENDED</bcp14> format
is a Decentralized Identifier (DID) per
<xref target="W3C-DID"/>. Lightning-specific implementations
<bcp14>MAY</bcp14> omit this field; servers <bcp14>MUST NOT</bcp14> require it.</t>
  </dd>
  <dt>payload</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. A JSON object containing the Lightning-specific credential
fields. The single required field is <spanx style="verb">preimage</spanx>: the 32-byte
payment preimage revealed upon successful HTLC settlement, encoded
as a lowercase hex string.</t>
  </dd>
</dl>

<t>Example (decoded):</t>

<figure><sourcecode type="json"><![CDATA[
{
  "challenge": {
    "id": "kM9xPqWvT2nJrHsY4aDfEb",
    "realm": "api.example.com",
    "method": "lightning",
    "intent": "charge",
    "request": "eyJ...",
    "expires": "2026-03-15T12:05:00Z"
  },
  "source": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
  "payload": {
    "preimage": "a3f1...e209"
  }
}
]]></sourcecode></figure>

</section>
<section anchor="verification"><name>Verification Procedure</name>

<t>Upon receiving a request with a credential, the server <bcp14>MUST</bcp14>:</t>

<t><list style="numbers" type="1">
  <t>Decode the base64url credential and parse the JSON.</t>
  <t>Verify that "preimage" is present and is a 64-character lowercase
hex string.</t>
  <t>Look up the stored challenge using <spanx style="verb">credential.challenge.id</spanx>.
Retrieve the <spanx style="verb">paymentHash</spanx> recorded when the challenge was
issued. If no matching challenge is found, reject the request.</t>
  <t>Verify that all fields in <spanx style="verb">credential.challenge</spanx> exactly match
the stored challenge auth-params (e.g., <spanx style="verb">id</spanx>, <spanx style="verb">realm</spanx>, <spanx style="verb">method</spanx>,
<spanx style="verb">intent</spanx>, <spanx style="verb">request</spanx>, <spanx style="verb">expires</spanx>).</t>
  <t>Decode the echoed <spanx style="verb">credential.challenge.request</spanx> and verify that
the <spanx style="verb">amount</spanx> and <spanx style="verb">currency</spanx> in it match the invoice parameters
stored with the challenge.</t>
  <t>Compute sha256(hex_to_bytes(preimage)) and verify the result
equals the stored paymentHash.</t>
</list></t>

<section anchor="challenge-binding"><name>Challenge Binding</name>

<t>To prevent preimage replay across different resources or sessions,
the server <bcp14>MUST</bcp14> store the issued <spanx style="verb">paymentHash</spanx> keyed by the
challenge <spanx style="verb">id</spanx> assigned at challenge time. When the client
presents a credential, the server <bcp14>MUST</bcp14> verify
<spanx style="verb">credential.challenge</spanx> is an exact echo of the issued
challenge params and look up the stored <spanx style="verb">paymentHash</spanx> by
<spanx style="verb">credential.challenge.id</spanx>. A preimage that is valid for one
challenge <bcp14>MUST NOT</bcp14> be accepted for a different challenge.</t>

</section>
</section>
<section anchor="settlement-procedure"><name>Settlement Procedure</name>

<t>Lightning Network settlement is synchronous from the payer's
perspective: the preimage is only revealed after the HTLC resolves
(see <xref target="BOLT4"/>). Settlement is therefore considered
complete at the moment the server successfully verifies the preimage
(step 6 of <xref target="verification"/>). No out-of-band
confirmation is required.</t>

<t>The server <bcp14>MUST</bcp14> atomically mark the challenge as consumed and
deliver the resource. Specifically, the challenge invalidation and
the decision to return HTTP 200 <bcp14>MUST</bcp14> be treated as a single
operation: a challenge that has been marked consumed <bcp14>MUST NOT</bcp14> be
accepted again, even if the resource delivery subsequently fails.
If resource delivery fails after the challenge is consumed, the
server <bcp14>MUST</bcp14> return an appropriate HTTP error (e.g., 500) and <bcp14>MUST
NOT</bcp14> reissue the same challenge. The client <bcp14>MUST</bcp14> treat such a
response as a payment loss and <bcp14>MAY</bcp14> retry with a new payment.
Unlike reversible payment methods, Lightning settlement is final
once the preimage is revealed; the payment cannot be refunded
through the payment channel.</t>

<t>Servers <bcp14>MUST</bcp14> include <spanx style="verb">Cache-Control: no-store</spanx> on all HTTP
402 responses. The challenge contains a single-use invoice; caching
it could cause clients to attempt to pay a stale or already-settled
invoice.</t>

<section anchor="challenge-expiry-and-invoice-expiry"><name>Challenge Expiry and Invoice Expiry</name>

<t>A challenge has two independent expiry signals: the <spanx style="verb">expires</spanx>
auth-param on the <spanx style="verb">WWW-Authenticate</spanx> header (defined by
<xref target="I-D.httpauth-payment"/>) and the expiry field
embedded in the BOLT11 invoice. The effective expiry of a
challenge is the earlier of the two.</t>

<t>Servers <bcp14>MUST NOT</bcp14> set the <spanx style="verb">expires</spanx> auth-param to a time
later than the invoice's BOLT11 expiry time. Clients <bcp14>SHOULD</bcp14> use
the earlier of the two values when deciding whether to attempt
payment. Servers <bcp14>MUST</bcp14> reject credentials for challenges whose
effective expiry has passed, regardless of which signal
triggered it.</t>

</section>
<section anchor="receipt-generation"><name>Receipt Generation</name>

<t>The server <bcp14>MUST</bcp14> include a Payment-Receipt header in the 200
response with the following fields:</t>

<dl>
  <dt>method</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The string "lightning".</t>
  </dd>
  <dt>challengeId</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The challenge identifier (the <spanx style="verb">id</spanx> from the
WWW-Authenticate challenge) for audit and traceability
correlation.</t>
  </dd>
  <dt>reference</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The payment hash (SHA-256 of the preimage) as a
lowercase hex string. Serves as a globally unique, publicly
shareable payment receipt identifier. The preimage <bcp14>MUST NOT</bcp14>
be used here, as it is a bearer secret and its exposure in
logs, analytics, or shared receipts would allow replay.</t>
  </dd>
  <dt>status</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The string "success".</t>
  </dd>
  <dt>timestamp</dt>
  <dd>
    <t><bcp14>REQUIRED</bcp14>. The settlement time in <xref target="RFC3339"/> format.</t>
  </dd>
</dl>

<t>Example (decoded):</t>

<figure><sourcecode type="json"><![CDATA[
{
  "method": "lightning",
  "challengeId": "kM9xPqWvT2nJrHsY4aDfEb",
  "reference": "bc230847...",
  "status": "success",
  "timestamp": "2026-03-10T21:00:00Z"
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="error-responses"><name>Error Responses</name>

<t>When rejecting a credential, the server <bcp14>MUST</bcp14> return HTTP 402 (Payment
Required) with a fresh <spanx style="verb">WWW-Authenticate: Payment</spanx> challenge per
<xref target="I-D.httpauth-payment"/>. The server <bcp14>SHOULD</bcp14> include a response body
conforming to RFC 9457 <xref target="RFC9457"/> Problem Details, with
<spanx style="verb">Content-Type: application/problem+json</spanx>. The following
problem types are defined for this intent:</t>

<dl>
  <dt>https://paymentauth.org/problems/lightning/malformed-credential</dt>
  <dd>
    <t>HTTP 402. The credential token could not be decoded, the JSON
could not be parsed, or required fields (<spanx style="verb">challenge</spanx>,
<spanx style="verb">payload</spanx>, <spanx style="verb">payload.preimage</spanx>) are absent or have
the wrong type. A fresh challenge <bcp14>MUST</bcp14> be included in
<spanx style="verb">WWW-Authenticate</spanx>.</t>
  </dd>
  <dt>https://paymentauth.org/problems/lightning/unknown-challenge</dt>
  <dd>
    <t>HTTP 402. The value of <spanx style="verb">credential.challenge.id</spanx> does not
match any challenge issued by this server, or the challenge has
already been consumed. A fresh challenge <bcp14>MUST</bcp14> be included in
<spanx style="verb">WWW-Authenticate</spanx>.</t>
  </dd>
  <dt>https://paymentauth.org/problems/lightning/invalid-preimage</dt>
  <dd>
    <t>HTTP 402. <spanx style="verb">SHA-256(payload.preimage)</spanx> does not equal the
<spanx style="verb">paymentHash</spanx> stored for the identified challenge. A fresh
challenge <bcp14>MUST</bcp14> be included in <spanx style="verb">WWW-Authenticate</spanx>.</t>
  </dd>
  <dt>https://paymentauth.org/problems/lightning/expired-invoice</dt>
  <dd>
    <t>HTTP 402. The BOLT11 invoice associated with the challenge has
passed its expiry time, or the challenge <spanx style="verb">expires</spanx>
auth-param indicates the challenge has expired. A fresh
challenge <bcp14>MUST</bcp14> be included in <spanx style="verb">WWW-Authenticate</spanx>.</t>
  </dd>
</dl>

<t>Example error response body:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "type": "https://paymentauth.org/problems/lightning/invalid-preimage",
  "title": "Invalid Preimage",
  "status": 402,
  "detail": "SHA-256 of the provided preimage does not match the stored payment hash"
}
]]></sourcecode></figure>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="preimage-uniqueness"><name>Preimage Uniqueness</name>

<t>Each BOLT11 invoice <bcp14>MUST</bcp14> use a freshly generated random payment hash.
Reusing a payment hash allows a client who has previously paid to
replay the credential indefinitely.</t>

</section>
<section anchor="amount-verification"><name>Amount Verification</name>

<t>The server <bcp14>MUST</bcp14> verify that the amount encoded in the BOLT11 invoice
matches the intended charge amount before issuing the challenge.
Clients <bcp14>SHOULD</bcp14> independently decode and verify the invoice amount
before paying.</t>

</section>
<section anchor="invoice-expiry"><name>Invoice Expiry</name>

<t>BOLT11 invoices carry an expiry field (default 3600 seconds). Servers
<bcp14>MUST NOT</bcp14> accept credentials for expired invoices. Servers <bcp14>MAY</bcp14> enforce
a shorter expiry window to reduce the window in which a compromised
preimage could be replayed.</t>

</section>
<section anchor="preimage-confidentiality"><name>Preimage Confidentiality</name>

<t>The payment preimage <bcp14>MUST</bcp14> only be transmitted over HTTPS. Servers,
clients, and intermediaries <bcp14>MUST NOT</bcp14> log, persist, or include
preimages in error responses, analytics, or diagnostic output.
Exposure of the preimage allows any party to present it as a valid
credential
until the challenge has been consumed or the invoice has expired.
Servers <bcp14>MUST</bcp14> invalidate a challenge on first successful use to
enforce consume-once semantics. The acceptance check and
invalidation <bcp14>MUST</bcp14> be atomic: concurrent requests presenting the
same valid preimage <bcp14>MUST</bcp14> result in exactly one success and one
rejection, with no window in which both are accepted.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="payment-method-registration"><name>Payment Method Registration</name>

<t>This document requests registration of the following entry in
the "HTTP Payment Methods" registry established by
<xref target="I-D.httpauth-payment"/>:</t>

<texttable>
      <ttcol align='left'>Method Identifier</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c><spanx style="verb">lightning</spanx></c>
      <c>Lightning Network BOLT11 invoice payment</c>
      <c>This document</c>
</texttable>

<t>Contact: Lightspark (<eref target="mailto:contact@lightspark.com">contact@lightspark.com</eref>)</t>

</section>
<section anchor="payment-intent-registration"><name>Payment Intent Registration</name>

<t>This document requests registration of the following entry in
the "HTTP Payment Intents" registry established by
<xref target="I-D.httpauth-payment"/>:</t>

<texttable>
      <ttcol align='left'>Intent</ttcol>
      <ttcol align='left'>Applicable Methods</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c><spanx style="verb">charge</spanx></c>
      <c><spanx style="verb">lightning</spanx></c>
      <c>One-time BOLT11 invoice payment gating access to a resource</c>
      <c>This document</c>
</texttable>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

&RFC2119;
&RFC3339;
&RFC4648;
&RFC8174;
&RFC8259;
&RFC8785;
&RFC9457;
<reference anchor="I-D.payment-intent-charge" target="https://datatracker.ietf.org/doc/draft-payment-intent-charge/">
  <front>
    <title>'charge' Intent for HTTP Payment Authentication</title>
    <author initials="J." surname="Moxey" fullname="Jake Moxey">
      <organization></organization>
    </author>
    <author initials="B." surname="Ryan" fullname="Brendan Ryan">
      <organization></organization>
    </author>
    <author initials="T." surname="Meagher" fullname="Tom Meagher">
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="BOLT11" target="https://github.com/lightning/bolts/blob/master/11-payment-encoding.md">
  <front>
    <title>BOLT #11: Invoice Protocol for Lightning Payments</title>
    <author >
      <organization>Lightning Network Developers</organization>
    </author>
    <date year="2024"/>
  </front>
</reference>
<reference anchor="I-D.httpauth-payment" target="https://datatracker.ietf.org/doc/draft-ryan-httpauth-payment/">
  <front>
    <title>The 'Payment' HTTP Authentication Scheme</title>
    <author initials="J." surname="Moxey" fullname="Jake Moxey">
      <organization></organization>
    </author>
    <date year="2026" month="January"/>
  </front>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="BOLT4" target="https://github.com/lightning/bolts/blob/master/04-onion-routing.md">
  <front>
    <title>BOLT #4: Onion Routing Protocol</title>
    <author >
      <organization>Lightning Network Developers</organization>
    </author>
    <date year="2024"/>
  </front>
</reference>
<reference anchor="W3C-DID" target="https://www.w3.org/TR/did-core/">
  <front>
    <title>Decentralized Identifiers (DIDs) v1.0</title>
    <author >
      <organization>W3C</organization>
    </author>
    <date year="2022"/>
  </front>
</reference>


    </references>

</references>


<?line 525?>

<section anchor="examples"><name>Examples</name>

<section anchor="initial-request-and-402-challenge"><name>Initial Request and 402 Challenge</name>

<figure><sourcecode type="http"><![CDATA[
GET /weather HTTP/1.1
Host: api.example.com

HTTP/1.1 402 Payment Required
WWW-Authenticate: Payment id="kM9xPqWvT2nJrHsY4aDfEb",
  realm="api.example.com",
  method="lightning",
  intent="charge",
  request="eyJhbW91bnQiOiIxMDAiLCJjdXJyZW5jeSI6IkJUQyIsImRlc2NyaXB0aW9uIjoiV2VhdGhlciByZXBvcnQgZm9yIDk0MTA3IiwibWV0aG9kRGV0YWlscyI6eyJpbnZvaWNlIjoibG5iYzF1MXAuLi4iLCJwYXltZW50SGFzaCI6ImJjMjMwODQ3Li4uIiwibmV0d29yayI6Im1haW5uZXQifX0",
  expires="2026-03-15T12:05:00Z"
Cache-Control: no-store
]]></sourcecode></figure>

<t>Decoded <spanx style="verb">request</spanx>:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "amount": "100",
  "currency": "sat",
  "description": "Weather report for 94107",
  "methodDetails": {
    "invoice": "lnbc1u1p...",
    "paymentHash": "bc230847...",
    "network": "mainnet"
  }
}
]]></sourcecode></figure>

</section>
<section anchor="retry-with-credential"><name>Retry with Credential</name>

<figure><sourcecode type="http"><![CDATA[
GET /weather HTTP/1.1
Host: api.example.com
Authorization: Payment eyJjaGFsbGVuZ2UiOnsiaWQiOiJrTTl4UHFXdlQybkpySHNZNGFEZkViIiwicmVhbG0iOiJhcGkuZXhhbXBsZS5jb20iLCJtZXRob2QiOiJsaWdodG5pbmciLCJpbnRlbnQiOiJjaGFyZ2UiLCJyZXF1ZXN0IjoiZXlKLi4uIiwiZXhwaXJlcyI6IjIwMjYtMDMtMTVUMTI6MDU6MDBaIn0sInBheWxvYWQiOnsicHJlaW1hZ2UiOiJhM2YxLi4uZTIwOSJ9fQ

HTTP/1.1 200 OK
Payment-Receipt: eyJtZXRob2QiOiJsaWdodG5pbmciLCJyZWZlcmVuY2UiOiJhM2YxLi4uZTIwOSIsInN0YXR1cyI6InN1Y2Nlc3MiLCJ0aW1lc3RhbXAiOiIyMDI2LTAzLTEwVDIxOjAwOjAwWiJ9
Content-Type: application/json

{"temperature": 72, "condition": "sunny"}
]]></sourcecode></figure>

<t>Decoded receipt:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "method": "lightning",
  "challengeId": "kM9xPqWvT2nJrHsY4aDfEb",
  "reference": "bc230847...",
  "status": "success",
  "timestamp": "2026-03-10T21:00:00Z"
}
]]></sourcecode></figure>

<t>Decoded credential:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "challenge": {
    "id": "kM9xPqWvT2nJrHsY4aDfEb",
    "realm": "api.example.com",
    "method": "lightning",
    "intent": "charge",
    "request": "eyJ...",
    "expires": "2026-03-15T12:05:00Z"
  },
  "source": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK",
  "payload": {
    "preimage": "a3f1...e209"
  }
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>The authors thank the Spark SDK team and the broader Lightning
Network developer community. The authors also thank Brendan Ryan for
his review of this document.</t>

</section>


  </back>

<!-- ##markdown-source:
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
r7nROyMTbmRrdc/YzIEaTfE/Gvs1fTlRAAA=

-->

</rfc>

