<?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.39 (Ruby 3.2.3) -->


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

]>

<?rfc tocompact="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>

<rfc ipr="trust200902" docName="draft-vauban-x402-consolidated-00" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="x402-receipts">x402 Cryptographic Receipts: Format, Post-Quantum Discipline, and Starknet Anchor</title>

    <author initials="F." surname="Serafini" fullname="F. Serafini" role="editor">
      <organization>Vauban Research</organization>
      <address>
        <email>research@vauban.tech</email>
        <uri>https://pay.vauban.tech</uri>
      </address>
    </author>

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

    <area>int</area>
    
    <keyword>x402</keyword> <keyword>HTTP</keyword> <keyword>payment</keyword> <keyword>receipt</keyword> <keyword>cryptographic</keyword> <keyword>STARK</keyword> <keyword>post-quantum</keyword> <keyword>PQC</keyword> <keyword>ML-DSA</keyword> <keyword>FIPS 204</keyword> <keyword>hybrid signature</keyword> <keyword>canonicalisation</keyword> <keyword>JCS</keyword> <keyword>RFC 8785</keyword> <keyword>on-chain</keyword> <keyword>anchor</keyword> <keyword>Starknet</keyword> <keyword>settlement</keyword> <keyword>finality</keyword> <keyword>block-explorer</keyword> <keyword>Voyager</keyword>

    <abstract>


<?line 173?>

<t>The x402 V2 protocol defines HTTP-native payment flows but leaves three gaps that
block compliance use cases. First, the <spanx style="verb">PAYMENT-RESPONSE</spanx> carries a
facilitator-issued reference rather than a self-contained, offline-verifiable
cryptographic receipt; an auditor cannot validate a retained receipt without
contacting the facilitator. Second, classical signatures alone (ES256K) do not
satisfy the post-quantum migration horizon set by NIST SP 800-208, ANSSI, BSI,
and EU eIDAS 2.0 for high-value or long-retention material. Third, off-chain
receipts alone do not provide ledger-anchored finality required by frameworks
such as MiCA Art. 76 (settlement record-keeping) and EU AI Act Art. 12
(transparency-and-documentation).</t>

<t>This document consolidates three previously separate extensions into a single
specification. It defines (a) a negotiable <spanx style="verb">receipt-format</spanx> extension with three
variants (Stwo Circle STARK proof, hybrid ES256K + ML-DSA-65 dual-signature,
classical ES256K fallback) over a JCS canonical preimage discipline grounded in
RFC 8785; (b) a two-axis post-quantum discipline mapping hash-based proving
and hybrid signatures to the NIST PQC migration roadmap; and (c) a Starknet
on-chain anchor format with a canonical anchor tuple, Cairo event layout, RPC
endpoint convention, and block explorer reference for human-readable audit.</t>

<t>Topics under active coalition discussion are explicitly out of scope: the VPSF
composability claim algebra, the payment lifecycle finite state machine, and the
delegation binding extension are deferred to companion documents not included in
this consolidated submission.</t>



    </abstract>



  </front>

  <middle>


<?line 200?>

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

<section anchor="problem-statement"><name>Problem Statement</name>

<t>The x402 protocol <xref target="X402-V2"/> defines HTTP-native payment flows using three
messages: <spanx style="verb">PAYMENT-REQUIRED</spanx> (402 response), <spanx style="verb">PAYMENT-SIGNATURE</spanx> (client
request), and <spanx style="verb">PAYMENT-RESPONSE</spanx> (facilitator confirmation). The
<spanx style="verb">PAYMENT-RESPONSE</spanx> carries a <spanx style="verb">payment_hash</spanx> and a facilitator-issued settlement
reference. Three gaps prevent the base protocol from satisfying audit-grade and
post-quantum compliance use cases:</t>

<t><list style="symbols">
  <t>Off-line verifiability gap: a verifier must contact the facilitator to confirm
that the conditions of a specific payment were met. EU AI Act Art. 12
(transparency-and-documentation) and MiCA Art. 76 (settlement record-keeping)
require evidence that is self-contained at audit time.</t>
  <t>Post-quantum migration gap: ES256K signatures rely on the discrete-logarithm
hardness assumption and become forgeable under Shor's algorithm once a
sufficient quantum capability becomes available. NIST <xref target="NIST-PQC-MIGRATION"/>,
ANSSI <xref target="ANSSI-PQC"/>, BSI <xref target="BSI-PQC"/>, and EU eIDAS 2.0 <xref target="EIDAS-2"/> guidance
converge on a 2030-2035 horizon for high-value or long-retention material.</t>
  <t>On-chain finality gap: an off-chain receipt does not confirm that a settlement
was committed to a public ledger. A regulator examining a retained receipt
cannot independently verify that the settlement reached canonical confirmation
at a specific block height.</t>
</list></t>

</section>
<section anchor="scope"><name>Scope</name>

<t>This document folds three previously separate Internet-Drafts into one
specification, addressing the three gaps in a single audit surface:</t>

<t><list style="symbols">
  <t>A negotiable receipt-format extension with three variants over a JCS canonical
preimage discipline (<xref target="receipt-format"/>).</t>
  <t>A two-axis post-quantum discipline (proof-system layer and signature layer)
aligned with the NIST PQC migration roadmap (<xref target="pqc"/>).</t>
  <t>A Starknet on-chain anchor format with a canonical anchor tuple, Cairo event
layout, RPC endpoint convention, and block explorer reference
(<xref target="starknet-anchor"/>).</t>
</list></t>

</section>
<section anchor="out-of-scope"><name>Out of Scope</name>

<t>The following work, under active coalition discussion at the time of writing, is
deferred to companion documents and is not included in this consolidated
submission:</t>

<t><list style="symbols">
  <t>Composability grammar for payment claims, including the algebra of operators
for combining cryptographic evidence across payment lifecycle states. See
<xref target="VPSF-ALGEBRA"/>.</t>
  <t>Payment lifecycle finite state machine, including state-transition validity
rules and chain-reconstruction algorithm. See <xref target="LIFECYCLE-FSM"/>.</t>
  <t>Delegation binding extension, including cryptographic scope of delegation
receipts to granting principals. See <xref target="DELEGATION-BINDING"/>.</t>
</list></t>

<t>These topics are referenced in the present document only where necessary for
cross-context clarity; this document defines no normative content for them.</t>

</section>
<section anchor="status-of-this-document"><name>Status of This Document</name>

<t>This document is an Independent Submission. It is not the product of an IETF
Working Group. It is published for community review and to establish a stable
reference for implementors. The three folded extensions have been the subject of
public coalition review at <xref target="X402-2326"/>, <xref target="X402-2357"/>, <xref target="X402-2398"/>,
<xref target="X402-2411"/>,
<xref target="X402-2412"/>, <xref target="X402-2413"/>, <xref target="X402-2434"/>, <xref target="X402-2440"/>, and <xref target="X402-2459"/>.</t>

</section>
</section>
<section anchor="conventions"><name>Conventions and Definitions</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" 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>

<dl>
  <dt>Receipt format:</dt>
  <dd>
    <t>A string token identifying which cryptographic receipt variant a facilitator
produces. See <xref target="receipt-format-enum"/>.</t>
  </dd>
  <dt>JCS:</dt>
  <dd>
    <t>JSON Canonicalization Scheme, defined in <xref target="RFC8785"/>. Produces a deterministic
byte representation of a JSON value by applying recursive key sorting and value
normalisation.</t>
  </dd>
  <dt>action_ref:</dt>
  <dd>
    <t>A 32-byte opaque digest binding a payment receipt to a work-layer event,
derived by SHA-256 over the UTF-8 JCS encoding of a canonical preimage object.
See <xref target="wire-binding"/>.</t>
  </dd>
  <dt>payment_hash:</dt>
  <dd>
    <t>A hash of the payment conditions committed to by the payer, as defined in the
x402 V2 base specification <xref target="X402-V2"/>.</t>
  </dd>
  <dt>NFC:</dt>
  <dd>
    <t>Unicode Normalization Form C, as defined in <xref target="UAX15"/>.</t>
  </dd>
  <dt>Hash-based proof system:</dt>
  <dd>
    <t>A succinct proof system whose soundness reduces to the collision and
second-preimage resistance of an underlying cryptographic hash function rather
than to algebraic assumptions (pairings, discrete logarithms, factorisation).
STARK proof systems are hash-based. See <xref target="pqc-proof-axis"/>.</t>
  </dd>
  <dt>Hybrid signature:</dt>
  <dd>
    <t>A composite signature scheme that produces two or more independent signatures
over the same canonical message under disjoint cryptographic assumptions. A
hybrid signature is valid only if every component signature verifies
independently. See <xref target="pqc-signature-axis"/>.</t>
  </dd>
  <dt>Anchor:</dt>
  <dd>
    <t>An on-chain record that commits a payment settlement to a public ledger,
identified by a canonical anchor tuple (<xref target="anchor-tuple"/>) and verifiable by
any party with read access to the chain.</t>
  </dd>
  <dt>Conforming emitter:</dt>
  <dd>
    <t>A smart contract that satisfies the settlement event layout defined in
<xref target="event-layout"/> and emits that event for each settled payment.</t>
  </dd>
</dl>

</section>
<section anchor="receipt-format"><name>Receipt Format and Canonical Preimage</name>

<t>This section defines the negotiable <spanx style="verb">receipt_format</spanx> extension, its three
variants, the HTTP negotiation surface, and the JCS canonical preimage
discipline that binds a receipt to a work-layer event. It harmonises material
from the three folded source drafts into a single normative surface.</t>

<section anchor="receipt-format-enum"><name>Receipt Format Enum</name>

<t>The <spanx style="verb">receipt_format</spanx> field identifies which cryptographic receipt variant a
facilitator has produced. The value is a string token from the registry
described in <xref target="iana-considerations"/>:</t>

<texttable>
      <ttcol align='left'>Token</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>Approx. size</ttcol>
      <c><spanx style="verb">stark-vauban-pay-v1</spanx></c>
      <c>Stwo Circle STARK over payment-condition witness (amount, currency, payer attestation, nullifier). Post-quantum sound at the proof layer. Offline verifiable.</c>
      <c>~100 KB</c>
      <c><spanx style="verb">hybrid-pqc</spanx></c>
      <c>ES256K + ML-DSA-65 (<xref target="FIPS204"/>) dual-signature over JCS-canonical receipt core. Receipt survives Q-Day if either single algorithm is broken.</c>
      <c>~3.3 KB</c>
      <c><spanx style="verb">classical-es256k</spanx></c>
      <c>ES256K signature only. Default fallback for clients that do not require post-quantum or zero-knowledge properties.</c>
      <c>~0.5 KB</c>
</texttable>

<t>Each variant corresponds to <spanx style="verb">evidenceType: "cryptographic"</spanx> in the
<xref target="X402-2322"/> compliance taxonomy. The <spanx style="verb">signature_algorithm</spanx> discriminator used
in the bazaar <spanx style="verb">evidenceShape</spanx> maps as follows:</t>

<texttable>
      <ttcol align='left'>receipt_format token</ttcol>
      <ttcol align='left'>signature_algorithm</ttcol>
      <c><spanx style="verb">stark-vauban-pay-v1</spanx></c>
      <c><spanx style="verb">"stark-m31-stwo"</spanx></c>
      <c><spanx style="verb">hybrid-pqc</spanx></c>
      <c><spanx style="verb">"es256k+ml-dsa-65"</spanx></c>
      <c><spanx style="verb">classical-es256k</spanx></c>
      <c><spanx style="verb">"es256k"</spanx></c>
</texttable>

<t>Facilitators MAY introduce additional tokens by registering them in the <spanx style="verb">x402
Receipt Format</spanx> registry. Tokens not present in the registry MUST be treated as
<spanx style="verb">"classical-es256k"</spanx> by verifiers that do not recognise them.</t>

<t>The three variants correspond to three orthogonal properties; a deployment
selects the property it requires:</t>

<t><list style="symbols">
  <t>proof-of-payment-conditions: the <spanx style="verb">stark-vauban-pay-v1</spanx> receipt proves amount,
currency, payer attestation, and nullifier without revealing them. The STARK
proof is the deliverable.</t>
  <t>receipt-integrity-under-quantum: the <spanx style="verb">hybrid-pqc</spanx> receipt carries two
independent signatures; the receipt remains verifiable if one signature
algorithm is broken.</t>
  <t>work-receipt-binding: all three variants carry an optional <spanx style="verb">action_ref</spanx> field
(32-byte opaque digest per <xref target="wire-binding"/>). Binding to the work layer is a
property of the preimage derivation, not of the receipt format itself.</t>
</list></t>

</section>
<section anchor="http-headers"><name>HTTP Header Conventions</name>

<t>A resource server or facilitator SHOULD include <spanx style="verb">X-Payment-Options</spanx> in the <spanx style="verb">402
Payment Required</spanx> response to advertise which <spanx style="verb">receipt_format</spanx> variants it can
produce:</t>

<figure><artwork><![CDATA[
X-Payment-Options: receipt_format="stark-vauban-pay-v1, hybrid-pqc, classical-es256k"
]]></artwork></figure>

<t>The value is a comma-separated ordered list of <spanx style="verb">receipt_format</spanx> tokens from
most-preferred to least-preferred. The server declares its capabilities; the
client selects from this list. If <spanx style="verb">X-Payment-Options</spanx> is absent, the client
MUST assume the facilitator can produce only <spanx style="verb">classical-es256k</spanx>.</t>

<t>The facilitator MUST include <spanx style="verb">X-Receipt-Format</spanx> in the <spanx style="verb">PAYMENT-RESPONSE</spanx> to
state which variant it emitted:</t>

<figure><artwork><![CDATA[
X-Receipt-Format: stark-vauban-pay-v1
]]></artwork></figure>

<t>The verifier uses this header to select the correct receipt parser before
attempting to deserialise or verify the receipt body. If <spanx style="verb">X-Receipt-Format</spanx> is
absent, the verifier MUST assume <spanx style="verb">classical-es256k</spanx>.</t>

<t>A facilitator that lists <spanx style="verb">stark-vauban-pay-v1</spanx> in <spanx style="verb">X-Payment-Options</spanx> MUST also
be capable of producing <spanx style="verb">classical-es256k</spanx> as a fallback. Listing a variant
without fallback capability is a protocol violation.</t>

</section>
<section anchor="negotiation"><name>Negotiation Semantics</name>

<t>Normal negotiation path:</t>

<t><list style="numbers" type="1">
  <t>Client receives a <spanx style="verb">402</spanx> response with <spanx style="verb">X-Payment-Options</spanx>.</t>
  <t>Client selects the highest-preference variant it can verify from the list.</t>
  <t>Client SHOULD signal its selection by including <spanx style="verb">receipt_format</spanx> in the
<spanx style="verb">PAYMENT-SIGNATURE</spanx> request payload.</t>
  <t>Facilitator produces the receipt in the selected variant and sets
<spanx style="verb">X-Receipt-Format</spanx> on the <spanx style="verb">PAYMENT-RESPONSE</spanx>.</t>
</list></t>

<t>If the client cannot verify any variant in <spanx style="verb">X-Payment-Options</spanx>, or if
<spanx style="verb">X-Payment-Options</spanx> is absent, the client MUST fall back to <spanx style="verb">classical-es256k</spanx>.
The facilitator MUST honour this fallback.</t>

<t>If a client REQUIRES a specific receipt format (for example, a regulator
requiring an offline-verifiable STARK receipt for EU AI Act Art. 12 purposes),
it MUST include <spanx style="verb">receipt_format</spanx> in the <spanx style="verb">PAYMENT-SIGNATURE</spanx> request extensions
with <spanx style="verb">required: true</spanx>. If the facilitator cannot produce the requested variant,
the facilitator MUST return HTTP 402 with error <spanx style="verb">UnsupportedReceiptFormat</spanx>
rather than silently downgrading. The downgrade-attack mitigation in
<xref target="sec-downgrade"/> requires this discipline.</t>

</section>
<section anchor="preimage"><name>Canonical Preimage Discipline</name>

<t>The canonicalisation rules used by this extension are grounded in <xref target="RFC8785"/>
(JCS), as exercised and cross-validated through the x402 canonicalisation
conformance set <xref target="X402-CANON"/>. The digest construction is:</t>

<figure><artwork><![CDATA[
JCS_hash = SHA-256(UTF-8(JCS(object)))
]]></artwork></figure>

<t>The wire-format version marker <spanx style="verb">jcs-rfc8785-v1</spanx> identifies this rule set in the
<spanx style="verb">canon_version</spanx> field. Four normative rules apply:</t>

<t><list style="numbers" type="1">
  <t>Timestamps are encoded as integers (<spanx style="verb">timestamp_ms</spanx>, milliseconds since Unix
epoch). The field name <spanx style="verb">timestamp</spanx> carrying an RFC 3339 string MUST NOT be
used.</t>
  <t>Field names are compared as byte strings, sorted in <xref target="RFC8785"/>
lexicographic order.</t>
  <t>Arrays preserve their order; reordering produces a different digest.</t>
  <t>Type validation is performed before canonicalisation; coercion is forbidden.</t>
</list></t>

</section>
<section anchor="preimage-schema"><name>Preimage Schema and Worked Digest</name>

<t>The canonical <spanx style="verb">action_ref</spanx> preimage object contains the following fields,
sorted lexicographically per <xref target="RFC8785"/> Section 3.2.3:</t>

<figure><artwork><![CDATA[
{
  "action_type":  "<string>",
  "agent_id":     "<string>",
  "scope":        "<string>",
  "timestamp_ms": <integer>
}
]]></artwork></figure>

<t>The JCS output for the shared coalition preimage is:</t>

<figure><artwork><![CDATA[
{"action_type":"sanctions_screen","agent_id":"did:web:agent-7.example.com","scope":"counterparty-due-diligence","timestamp_ms":1747728000000}
]]></artwork></figure>

<t>The <spanx style="verb">action_ref</spanx> digest is:</t>

<figure><artwork><![CDATA[
action_ref = SHA-256(UTF-8(JCS(preimage)))
           = 10d8a38c01d8672176aa6e5209a368fde3e1831640d69e15283142b35880c2c1
]]></artwork></figure>

<t>This worked example is byte-identical across the eight-language conformance
matrix described in <xref target="conformance-matrix"/>.</t>

</section>
<section anchor="type-validation"><name>Type Validation Requirements</name>

<t>Implementations MUST reject preimage objects containing:</t>

<t><list style="symbols">
  <t>Float values for <spanx style="verb">timestamp_ms</spanx>: <spanx style="verb">1747728000000.0</spanx> MUST be rejected; only
integer JSON numbers are valid. Conformance vector <spanx style="verb">0002-ms-precision-trap</spanx>
demonstrates the failure mode where a float representation produces no
parsing error but an incorrect digest. Rejection MUST occur before
canonicalisation.</t>
  <t>Missing canonical fields: if any of <spanx style="verb">action_type</spanx>, <spanx style="verb">agent_id</spanx>, <spanx style="verb">scope</spanx>, or
<spanx style="verb">timestamp_ms</spanx> is absent, the preimage MUST be rejected before
canonicalisation. Vector <spanx style="verb">0012-missing-canonical-field</spanx> covers this case.</t>
  <t>Duplicate keys: if the JSON object contains duplicate key names, the preimage
MUST be rejected at parse time. Accepting last-wins or first-wins semantics
creates interoperability ambiguity. Vector <spanx style="verb">0010-duplicate-keys</spanx> covers this
case.</t>
</list></t>

</section>
<section anchor="unicode-profile"><name>Unicode Normalisation Profile</name>

<t><xref target="X402-CANON"/> deliberately applies no Unicode normalisation in the
canonicaliser, so that NFC and NFD are distinct canonical inputs. This
extension imposes a stricter profile on the <spanx style="verb">action_ref</spanx> preimage: it requires
NFC and rejects non-NFC input. This is a profile narrowing, not a contradiction
of <xref target="X402-CANON"/>.</t>

<t>Implementations MUST normalise all string values in the preimage to Unicode
Normalization Form C (NFC) per <xref target="UAX15"/> BEFORE JCS canonicalisation.
Implementations MUST reject input where any string value in the preimage is
encoded in NFD, NFKC, or NFKD form. Acceptance of non-NFC input is a
conformance violation. Verifiers MUST NOT perform implicit re-normalisation;
the input MUST already be NFC for the digest to be reproducible across
runtimes.</t>

<t>Rationale: a verifier receiving an NFD-encoded preimage would compute a
different digest than one receiving the NFC equivalent, silently breaking
receipt verification without a parsing error. macOS HFS+ historically stored
filenames in NFD decomposed form, and database collations vary across
deployments; this is not a hypothetical edge case.</t>

<t>Vector <spanx style="verb">0011-unicode-normalisation</spanx> demonstrates the NFD divergence failure
mode.</t>

</section>
<section anchor="cbor-layout"><name>Field-Level CBOR Layout for stark-vauban-pay-v1</name>

<t>The receipt body for the <spanx style="verb">stark-vauban-pay-v1</spanx> variant is CBOR-encoded per
<xref target="RFC8949"/> canonical CBOR (Section 4.2.1). The top-level CBOR map contains the
following fields:</t>

<texttable>
      <ttcol align='left'>Key</ttcol>
      <ttcol align='left'>Major type</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">canon_version</spanx></c>
      <c>text string</c>
      <c>Canonicalisation rule identifier; <spanx style="verb">"jcs-rfc8785-v1"</spanx> for this version.</c>
      <c><spanx style="verb">proof</spanx></c>
      <c>byte string</c>
      <c>The serialised Stwo Circle STARK proof bytes.</c>
      <c><spanx style="verb">public_inputs</spanx></c>
      <c>byte string</c>
      <c>The serialised public inputs to the proof verifier.</c>
      <c><spanx style="verb">payment_hash</spanx></c>
      <c>byte string</c>
      <c>SHA-256 of the canonical payment conditions, 32 bytes.</c>
      <c><spanx style="verb">action_ref</spanx></c>
      <c>byte string</c>
      <c>OPTIONAL. 32-byte opaque digest per <xref target="wire-binding"/>. Omitted (not zero-valued) when no work-receipt binding is asserted.</c>
      <c><spanx style="verb">nullifier</spanx></c>
      <c>byte string</c>
      <c>32-byte nullifier preventing double-spend.</c>
      <c><spanx style="verb">circuit_id</spanx></c>
      <c>text string</c>
      <c>Identifier for the circuit version; <spanx style="verb">"vauban-pay-v1"</spanx> for this version.</c>
</texttable>

<t>The proof attests to a circuit that verifies the following predicates:</t>

<t><list style="symbols">
  <t>Payment amount matches the signed <spanx style="verb">PaymentRequirements.amount</spanx>.</t>
  <t>Currency asset address matches <spanx style="verb">PaymentRequirements.asset</spanx>.</t>
  <t>Payer attestation is valid (subject to merchant attestation-gate
configuration).</t>
  <t>Nullifier is unique (no replay for this nullifier in the settlement ledger).</t>
</list></t>

<t>The serialised receipt is base64url-encoded (no padding) per <xref target="RFC4648"/>
Section 5 when transmitted in the <spanx style="verb">PAYMENT-RESPONSE</spanx> extension envelope. The
canonical CBOR bytes layout is fixed by the conformance vectors at
<xref target="VAUBAN-CONFORMANCE"/>; implementations MUST be byte-for-byte compatible with
the published vectors.</t>

<t>When a <spanx style="verb">stark-vauban-pay-v1</spanx> receipt is anchored on Starknet, the felt252
masking operation described in <xref target="felt252-encoding"/> MUST be applied before
writing or comparing the <spanx style="verb">action_ref</spanx> value in <spanx style="verb">keys[1]</spanx> of the on-chain event.</t>

</section>
<section anchor="variant-bodies"><name>Variant Bodies for hybrid-pqc and classical-es256k</name>

<t>The <spanx style="verb">hybrid-pqc</spanx> receipt body is a JSON object <xref target="RFC8259"/> with the following
top-level fields, JCS-canonical <xref target="RFC8785"/>:</t>

<t><list style="symbols">
  <t><spanx style="verb">receipt_core</spanx>: JSON object; the canonical payload signed by both algorithms.</t>
  <t><spanx style="verb">signature</spanx>: ES256K signature over <spanx style="verb">SHA-256(UTF-8(JCS(receipt_core)))</spanx>,
base64url-encoded.</t>
  <t><spanx style="verb">pqc_signature</spanx>: ML-DSA-65 (<xref target="FIPS204"/>) signature over the identical
canonical bytes, base64url-encoded.</t>
  <t><spanx style="verb">kid_es256k</spanx>: Key identifier for the ES256K key in the facilitator's JWKS
endpoint.</t>
  <t><spanx style="verb">kid_mldsa65</spanx>: Key identifier for the ML-DSA-65 key in the facilitator's
JWKS endpoint.</t>
</list></t>

<t>Both signatures MUST cover the byte-identical canonical byte string. Verifiers
MUST confirm both signatures independently. A verifier that can only verify
ES256K SHOULD still check <spanx style="verb">pqc_signature</spanx> length and structure for plausibility.</t>

<t>The <spanx style="verb">classical-es256k</spanx> receipt body is a JWS Compact Serialization string
<xref target="RFC7515"/>. The JWS payload contains the canonical <spanx style="verb">payment_hash</spanx> and
optionally <spanx style="verb">action_ref</spanx>. This is the default fallback for clients that do not
require zero-knowledge or post-quantum properties.</t>

</section>
<section anchor="conformance-matrix"><name>Cross-Implementation Conformance Matrix</name>

<t>The JCS canonical preimage discipline of this extension is exercised through
eight independent runners across eight languages. Five are validated
byte-for-byte against published upstream JCS RFC 8785 libraries at the time of
publication; three are pure-stdlib reference runners published in the
conformance vectors repository with CI execution pending.</t>

<texttable>
      <ttcol align='left'>Language</ttcol>
      <ttcol align='left'>Library or runner</ttcol>
      <ttcol align='left'>Validation status</ttcol>
      <c>Python</c>
      <c>rfc8785@0.1.4 (Trail of Bits)</c>
      <c>validated 11/11 byte-for-byte</c>
      <c>JavaScript</c>
      <c>canonicalize@3.0.0 (Erdtman + Rundgren)</c>
      <c>validated 11/11 byte-for-byte</c>
      <c>Go</c>
      <c>gowebpki/jcs v1.0.1</c>
      <c>validated 11/11 byte-for-byte</c>
      <c>Java</c>
      <c>cyberphone/json-canonicalization (RFC 8785 reference)</c>
      <c>validated 11/11 byte-for-byte</c>
      <c>Rust</c>
      <c>serde_jcs 0.2.0 (l1h3r) via vauban-x402-jcs-conformance</c>
      <c>validated 11/11 byte-for-byte</c>
      <c>PHP</c>
      <c>runners/runner.php (pure stdlib, PHP 8.0+)</c>
      <c>reference, CI-pending</c>
      <c>Ruby</c>
      <c>runners/runner.rb (pure stdlib, Ruby 3.0+)</c>
      <c>reference, CI-pending</c>
      <c>C#</c>
      <c>runners/runner.cs (pure stdlib, .NET 8)</c>
      <c>reference, CI-pending</c>
</texttable>

<t>Aggregate cross-validation: 15/15 byte-for-byte agreements across the three
ALLOW/DENY/REFER fixture vectors published at <xref target="X402-2434"/>, established
against the first five runners.</t>

<t>The conformance vector suite is published at
<spanx style="verb">https://github.com/vauban-org/x402-stark-receipts-conformance</spanx> under Apache
2.0. The Vauban Research-maintained crates <spanx style="verb">vauban-x402-jcs-conformance@0.1.0</spanx>,
<spanx style="verb">vauban-x402-canonical@0.1.0</spanx>, and <spanx style="verb">vauban-x402-wire@0.1.0</spanx> (crates.io); the
Python package <spanx style="verb">vauban-x402-stark-receipt@0.1.0</spanx> (PyPI); and the npm package
<spanx style="verb">@vauban-pay/substrate@0.1.0</spanx> are published as Apache 2.0 reference
implementations.</t>

<t>Implementers SHOULD NOT introduce a new runner without first executing all
eleven published vectors byte-for-byte against an existing validated runner.</t>

</section>
<section anchor="wire-binding"><name>Wire-Level Binding (action_ref)</name>

<t>The <spanx style="verb">action_ref</spanx> field is a 32-byte opaque digest that binds a payment receipt
to a work-layer event. It is the seam between the payment layer (this document)
and the work layer (the application that consumes the payment). The digest is
derived by SHA-256 over the UTF-8 JCS encoding of the canonical preimage object
defined in <xref target="preimage-schema"/>.</t>

<t>The encoding of <spanx style="verb">action_ref</spanx> on the wire depends on the carrier:</t>

<t><list style="symbols">
  <t>In JSON payloads (<spanx style="verb">hybrid-pqc</spanx>, <spanx style="verb">classical-es256k</spanx>), <spanx style="verb">action_ref</spanx> is
base64url-encoded with no padding per <xref target="RFC4648"/> Section 5.</t>
  <t>In CBOR payloads (<spanx style="verb">stark-vauban-pay-v1</spanx>), <spanx style="verb">action_ref</spanx> is a 32-byte byte
string (<xref target="cbor-layout"/>).</t>
  <t>On the Starknet anchor, <spanx style="verb">action_ref</spanx> is felt252-masked per
<xref target="felt252-encoding"/> before being written to <spanx style="verb">keys[1]</spanx> of the settlement
event.</t>
</list></t>

<t>The <spanx style="verb">action_ref</spanx> field is OPTIONAL in all three variants. When omitted, the
receipt asserts payment without asserting a work-layer binding. A receipt MUST
NOT carry a zero-valued <spanx style="verb">action_ref</spanx> to signal absence; absence is signalled by
omission.</t>

<t>Where a deployment also participates in the composite trust-query layer
<xref target="X402-2440"/>, the same <spanx style="verb">action_ref</spanx> digest doubles as the trust-query anchor.
The trust-query layer is referenced here only for cross-context clarity; this
document defines no normative content for it.</t>

</section>
<section anchor="compliance-receipt-layer"><name>Compliance Receipt and RiskCheckResult Layering</name>

<t>Two distinct layers exist around a payment receipt and MUST NOT be conflated:</t>

<t><list style="symbols">
  <t>The internal <spanx style="verb">compliance_receipt</spanx> carries the facilitator's compliance
decision over the payment (<spanx style="verb">ALLOW</spanx>, <spanx style="verb">DENY</spanx>, <spanx style="verb">REFER</spanx>). It is an internal
artefact of the facilitator's risk pipeline. Its fixture form is defined at
<xref target="X402-2434"/>.</t>
  <t>The consumer-facing <spanx style="verb">RiskCheckResult</spanx> is the wire-format signal returned to
the client. It conveys the outcome necessary for the client to proceed,
without exposing the facilitator's internal compliance reasoning.</t>
</list></t>

<t>A facilitator MUST NOT place internal <spanx style="verb">compliance_receipt</spanx> material in the
consumer-facing <spanx style="verb">RiskCheckResult</spanx> surface. A verifier MUST NOT treat the
presence of a <spanx style="verb">RiskCheckResult</spanx> as equivalent to a cryptographic payment
receipt; the two answer different questions (was the payment permitted under
policy, versus did the payment settle cryptographically).</t>

</section>
<section anchor="error-taxonomy"><name>Error Taxonomy</name>

<t>A facilitator or verifier rejecting a receipt or a <spanx style="verb">PAYMENT-SIGNATURE</spanx> SHOULD
signal the reason via the <spanx style="verb">X-Receipt-Reject-Reason</spanx> response header. Seven
tokens are defined, each mapped to an HTTP status code <xref target="RFC9110"/>:</t>

<texttable>
      <ttcol align='left'>Token</ttcol>
      <ttcol align='left'>HTTP status</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <c><spanx style="verb">MalformedClaim</spanx></c>
      <c>400</c>
      <c>The receipt or preimage is syntactically invalid.</c>
      <c><spanx style="verb">PaymentRequired</spanx></c>
      <c>402</c>
      <c>No valid payment is associated with the request.</c>
      <c><spanx style="verb">UnsupportedReceiptFormat</spanx></c>
      <c>402</c>
      <c>A <spanx style="verb">required: true</spanx> receipt format cannot be produced (<xref target="negotiation"/>).</c>
      <c><spanx style="verb">NullifierReplay</spanx></c>
      <c>409</c>
      <c>The nullifier is already present in the settlement ledger (<xref target="sec-replay"/>).</c>
      <c><spanx style="verb">Expired</spanx></c>
      <c>410</c>
      <c>The receipt <spanx style="verb">timestamp_ms</spanx> exceeds the configured age threshold.</c>
      <c><spanx style="verb">StructuralInvalid</spanx></c>
      <c>422</c>
      <c>The receipt parses but fails schema or canonical-preimage validation.</c>
      <c><spanx style="verb">HumanityRequired</spanx></c>
      <c>403</c>
      <c>The deployment requires a humanity attestation the request did not satisfy.</c>
</texttable>

<t>A facilitator MUST NOT return a generic <spanx style="verb">400</spanx> without an
<spanx style="verb">X-Receipt-Reject-Reason</spanx> token when one of the defined tokens applies. The
token set is closed for this version; new tokens require registration alongside
the receipt-format registry.</t>

</section>
<section anchor="message-schemas"><name>Extension Schemas in x402 Messages</name>

<t>The <spanx style="verb">receipt_format</spanx> extension appears in each of the three x402 messages. The
following fields are defined for the extension object:</t>

<t><list style="symbols">
  <t>In <spanx style="verb">PAYMENT-REQUIRED</spanx> (the <spanx style="verb">402</spanx> response): <spanx style="verb">supported</spanx> (ordered array of
tokens the facilitator can produce) and <spanx style="verb">default</spanx> (the token used when the
client expresses no preference).</t>
  <t>In <spanx style="verb">PAYMENT-SIGNATURE</spanx> (the client request): <spanx style="verb">receipt_format</spanx> (the token the
client selects) and <spanx style="verb">required</spanx> (boolean; when <spanx style="verb">true</spanx>, the facilitator MUST
either honour the token or reject with <spanx style="verb">UnsupportedReceiptFormat</spanx>).</t>
  <t>In <spanx style="verb">PAYMENT-RESPONSE</spanx> (the facilitator confirmation): <spanx style="verb">receipt_format</spanx> (the
token emitted), <spanx style="verb">receipt</spanx> (the serialised receipt body in the variant
encoding of <xref target="cbor-layout"/> or <xref target="variant-bodies"/>), and <spanx style="verb">action_ref</spanx>
(OPTIONAL, the wire-encoded binding digest per <xref target="wire-binding"/>).</t>
</list></t>

<t>The <spanx style="verb">X-Payment-Options</spanx> and <spanx style="verb">X-Receipt-Format</spanx> headers (<xref target="http-headers"/>)
carry the same information at the HTTP layer for clients that negotiate before
parsing the message body. Where both the header and the body extension are
present, they MUST agree; a verifier encountering disagreement MUST reject the
message with <spanx style="verb">StructuralInvalid</spanx>.</t>

</section>
</section>
<section anchor="pqc"><name>Post-Quantum Cryptographic Discipline</name>

<t>This section defines a two-axis post-quantum discipline. The proof-system axis
(<xref target="pqc-proof-axis"/>) governs the soundness assumption of any proof carried by a
receipt; the signature axis (<xref target="pqc-signature-axis"/>) governs the integrity of
any signature over a receipt. The two axes are independent: a deployment may
satisfy one without the other, and the migration profile (<xref target="pqc-migration"/>)
states which combination is required for which risk class.</t>

<section anchor="pqc-threat-model"><name>Threat Model: Quantum Adversary</name>

<t>This document assumes an adversary capable of executing Shor's algorithm
against classical public-key primitives and Grover's algorithm against
unstructured search. The adversary holds the harvest-now-decrypt-later
capability: every receipt published today is recordable and can be attacked
later, once a sufficient quantum capability becomes available. A receipt
emitted under a statutory retention obligation may therefore have to survive an
adversary that did not exist at issuance time.</t>

<t>Three forgery vectors are relevant:</t>

<t><list style="symbols">
  <t>ES256K signature break under Shor's algorithm. The security of ES256K reduces
to the hardness of the elliptic-curve discrete logarithm, which Shor's
algorithm solves in polynomial time. A classical-only receipt becomes
forgeable once this capability exists.</t>
  <t>Hash collision under Grover's algorithm. Grover provides only a quadratic
speedup against unstructured search; SHA-256 retains an effective 128-bit
pre-image and collision resistance against a quantum adversary, which remains
adequate for the digest constructions in this document.</t>
  <t>Proof-system soundness break. A proof system whose soundness reduces to an
algebraic assumption (pairings, discrete logarithms, factorisation) may lose
soundness under a quantum adversary independently of the signature layer.</t>
</list></t>

</section>
<section anchor="pqc-proof-axis"><name>Proof System Layer Axis</name>

<t>A receipt variant that claims post-quantum soundness at the proof layer MUST
use a proof system whose soundness reduces to the collision and second-preimage
resistance of a cryptographic hash function rather than to an algebraic
assumption. STARK proof systems satisfy this requirement; the
<spanx style="verb">stark-vauban-pay-v1</spanx> variant uses such a system.</t>

<t>Implementations MUST NOT present a receipt as post-quantum sound at the proof
layer when the proof is produced by Groth16, by PLONK, or by any pairing-based
SNARK construction over BN254, BLS12-381, or any other pairing-friendly curve.
These constructions rely on assumptions that do not survive the threat model of
<xref target="pqc-threat-model"/>, and labelling such a proof post-quantum sound is a
conformance violation.</t>

<t>The hash-based property is preserved across faithful adapter implementations of
a reference prover. It breaks under naive substitution of an algebraic proof
system; see <xref target="sec-stark-audit"/> for the auditability considerations.</t>

</section>
<section anchor="pqc-signature-axis"><name>Signature Layer Axis</name>

<t>A receipt variant that claims post-quantum soundness at the signature layer
MUST carry two independent signatures over the identical JCS canonical preimage:
one classical (ES256K) and one post-quantum (ML-DSA-65 per <xref target="FIPS204"/>). This
is the <spanx style="verb">hybrid-pqc</spanx> construction.</t>

<t>A verifier MUST verify both component signatures independently and MUST reject
the receipt if either component fails. Both signatures MUST cover the
byte-identical canonical byte string produced by the discipline of
<xref target="preimage"/>. A construction in which the two component schemes sign different
canonical messages does not provide the intended security property and MUST NOT
be presented as a hybrid signature; see <xref target="sec-hybrid"/>.</t>

<t>The hybrid construction provides defence in depth: the receipt remains
unforgeable as long as at least one component scheme remains unbroken. It is
not a transitional measure to be discarded at the moment ML-DSA-65 is
universally deployed; retaining the classical component guards against an
undiscovered weakness in the lattice assumption, and retaining the
post-quantum component guards against Shor.</t>

</section>
<section anchor="pqc-migration"><name>Migration Window Profile</name>

<t>This document profiles the 2025-2030 migration window. Within this window both
verification paths SHOULD be supported, providing a five-year overlap during
which counterparties migrate at their own pace.</t>

<t><list style="symbols">
  <t>For deployments under a statutory retention obligation (for example MiCA Art.
80, AMLR Art. 56, or DORA Art. 14), <spanx style="verb">hybrid-pqc</spanx> is REQUIRED for new
receipts. Long-retention material is exactly the class exposed to the
harvest-now-decrypt-later adversary.</t>
  <t>For deployments without such an obligation, <spanx style="verb">hybrid-pqc</spanx> is RECOMMENDED.</t>
  <t>After 2030, <spanx style="verb">classical-es256k</spanx> SHOULD be deprecated for new receipt issuance.
The exact deprecation date follows applicable NIST, ANSSI, BSI, and eIDAS
guidance (<xref target="pqc-alignment"/>); this document does not fix a single date,
because the authoritative horizon is set by the named bodies and may move.</t>
</list></t>

<t>A facilitator in a regulated sector SHOULD publish its migration plan in
advance of any deprecation step that affects external counterparties, so that
those counterparties are not excluded without notice.</t>

</section>
<section anchor="pqc-alignment"><name>NIST and Jurisdictional Alignment</name>

<t>The discipline of this section maps to published migration guidance:</t>

<t><list style="symbols">
  <t>NIST PQC migration roadmap <xref target="NIST-PQC-MIGRATION"/> and the hybrid composition
principles for hash-based signature schemes in SP 800-208 <xref target="SP800-208"/>,
adapted here to the dual-signature <spanx style="verb">hybrid-pqc</spanx> construction.</t>
  <t>ANSSI guidance on post-quantum migration <xref target="ANSSI-PQC"/>, which recommends
hybrid classical-plus-post-quantum constructions during the transition.</t>
  <t>BSI Technical Guideline TR-02102 <xref target="BSI-PQC"/>.</t>
  <t>EU eIDAS 2.0 <xref target="EIDAS-2"/>, which sets the trust-services horizon for the
European single market.</t>
</list></t>

<t>ML-DSA-65 is selected as the post-quantum signature component because it is the
NIST-standardised lattice signature at the security category appropriate for
long-retention financial material. ML-KEM <xref target="FIPS203"/> is referenced for
completeness as the companion key-encapsulation standard; key establishment is
out of scope for this document, which addresses receipt integrity rather than
transport confidentiality.</t>

</section>
</section>
<section anchor="starknet-anchor"><name>Starknet On-Chain Anchor</name>

<t>This section defines the format and verification of an on-chain settlement
anchor on Starknet. The anchor closes the on-chain finality gap of
<xref target="introduction"/>: it lets a verifier confirm, without facilitator cooperation,
that a settlement reached canonical confirmation at a specific block height.
The anchor is OPTIONAL; a deployment that does not require ledger-anchored
finality MAY omit it.</t>

<section anchor="anchor-tuple"><name>Canonical Anchor Tuple</name>

<t>An on-chain settlement record is identified by a five-field tuple embedded in
the <spanx style="verb">PAYMENT-RESPONSE</spanx> extension envelope when on-chain submission has been
confirmed:</t>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Required</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <c><spanx style="verb">chain_id</spanx></c>
      <c>string</c>
      <c>yes</c>
      <c>Starknet chain identifier (<xref target="anchor-format"/>).</c>
      <c><spanx style="verb">tx_hash</spanx></c>
      <c>string</c>
      <c>yes</c>
      <c>Transaction hash, felt252 hex (<xref target="anchor-format"/>).</c>
      <c><spanx style="verb">event_index</spanx></c>
      <c>integer</c>
      <c>yes</c>
      <c>Zero-based index of the settlement event within the transaction receipt.</c>
      <c><spanx style="verb">block_number</spanx></c>
      <c>integer</c>
      <c>no</c>
      <c>Block height of inclusion; omitted while the transaction is pending.</c>
      <c><spanx style="verb">kind</spanx></c>
      <c>string</c>
      <c>yes</c>
      <c>Settlement class discriminant: <spanx style="verb">"settlement"</spanx>, <spanx style="verb">"refund"</spanx>, or <spanx style="verb">"delegation"</spanx>.</c>
</texttable>

<t>The anchor tuple identifies the transaction but not the emitting contract; a
verifier MUST additionally check the emitter address per <xref target="anchor-verification"/>.</t>

</section>
<section anchor="anchor-format"><name>Anchor Format Discipline</name>

<t><spanx style="verb">chain_id</spanx> is one of the Starknet-native identifiers <spanx style="verb">"SN_MAIN"</spanx> (mainnet) or
<spanx style="verb">"SN_SEPOLIA"</spanx> (Sepolia testnet). These are documented in <xref target="STARKNET-DOCS"/> and
are not IANA-registered tokens (<xref target="iana-considerations"/>).</t>

<t><spanx style="verb">tx_hash</spanx> is a felt252 value encoded as a 66-character string: the prefix <spanx style="verb">0x</spanx>
followed by 64 lowercase hexadecimal characters, zero-padded on the left.
Verifiers MUST compare <spanx style="verb">tx_hash</spanx> values as normalised lowercase hex; an
uppercase or unpadded form MUST be normalised before comparison, not rejected.</t>

<t><spanx style="verb">event_index</spanx> is zero-based. The <spanx style="verb">kind</spanx> discriminant maps to the three
settlement classes; the values derive from the lifecycle state names of
<xref target="LIFECYCLE-FSM"/> but require no separate registration in this document.</t>

<t>The anchor object is embedded as an extension field of the <spanx style="verb">PAYMENT-RESPONSE</spanx>
only after on-chain submission has been confirmed. A facilitator MUST NOT embed
an anchor tuple for a transaction it has merely broadcast; the tuple asserts
inclusion, not submission.</t>

</section>
<section anchor="event-layout"><name>Settlement Event Layout</name>

<t>A conforming emitter emits, for each settled payment, a Starknet event with the
following two-key, three-data structure:</t>

<texttable>
      <ttcol align='left'>Slot</ttcol>
      <ttcol align='left'>Content</ttcol>
      <c><spanx style="verb">keys[0]</spanx></c>
      <c>Selector for the <spanx style="verb">PaymentSettled</spanx> event (or the equivalent ABI event name).</c>
      <c><spanx style="verb">keys[1]</spanx></c>
      <c>The felt252-masked <spanx style="verb">action_ref</spanx> digest (<xref target="felt252-encoding"/>).</c>
      <c><spanx style="verb">data[0]</spanx></c>
      <c>The <spanx style="verb">kind</spanx> discriminant: <spanx style="verb">0x1</spanx> (settlement), <spanx style="verb">0x2</spanx> (refund), <spanx style="verb">0x3</spanx> (delegation).</c>
      <c><spanx style="verb">data[1]</spanx></c>
      <c>The felt252-masked low bits of <spanx style="verb">payment_hash</spanx>.</c>
      <c><spanx style="verb">data[2]</spanx></c>
      <c>Reserved. Emitters MUST write <spanx style="verb">0x0</spanx>. Verifiers MUST NOT reject an anchor whose <spanx style="verb">data[2]</spanx> is non-zero.</c>
</texttable>

<t>The reserved-field discipline (<spanx style="verb">data[2]</spanx>) preserves forward compatibility: a
future revision may assign meaning to the slot, and existing verifiers must not
treat a populated slot as a validation failure.</t>

</section>
<section anchor="felt252-encoding"><name>felt252 Encoding Mask</name>

<t>Starknet field elements are bounded below 2^252. A SHA-256 digest is 256 bits
and therefore does not always fit in a single felt252. This document fixes a
deterministic truncation applied to any SHA-256 digest written to or compared
against an on-chain felt252 slot:</t>

<figure><artwork><![CDATA[
hash_felt252 = sha256_bigint & ((1 << 251) - 1)
]]></artwork></figure>

<t>The mask retains the low 251 bits. Implementations MUST apply the identical
mask at both emission time (when writing <spanx style="verb">keys[1]</spanx> and <spanx style="verb">data[1]</spanx>) and
verification time (when recomputing the expected values). The collision
probability introduced by retaining 251 of 256 bits is negligible (on the order
of 2^-251) and does not weaken the binding for any practical adversary.</t>

<t>An implementation that omits the mask at verification time produces
false-negative verifications for receipts whose digest has non-zero bits in
positions 251 through 255; see <xref target="sec-felt-mask"/>.</t>

</section>
<section anchor="rpc-convention"><name>RPC Endpoint Convention</name>

<t>Anchor verification requires read access to a Starknet JSON-RPC endpoint. The
methods used are <spanx style="verb">starknet_getTransactionByHash</spanx>,
<spanx style="verb">starknet_getTransactionReceipt</spanx>, and <spanx style="verb">starknet_getBlockWithTxHashes</spanx>, as
defined in <xref target="STARKNET-DOCS"/>.</t>

<t>Verifiers MUST use TLS-authenticated endpoints and SHOULD prefer endpoints they
operate themselves (<xref target="sec-self-hosted"/>). The Vauban Pay reference deployment
operates a self-hosted Pathfinder <xref target="PATHFINDER"/> full node at
<spanx style="verb">https://sepolia.rpc.vauban.tech/rpc/v0_10</spanx> (Sepolia, Starknet JSON-RPC spec
v0.10.2) and <spanx style="verb">https://rpc.vauban.tech/rpc/v0_10</spanx> (mainnet). These endpoints are
cited as one conformant implementation; this specification mandates no specific
endpoint operator.</t>

</section>
<section anchor="reference-implementation"><name>Reference Implementation: PaymentDemoEmitter</name>

<t>The <spanx style="verb">PaymentDemoEmitter</spanx> Cairo contract is deployed on Starknet Sepolia at
<spanx style="verb">0x044dd87a94a801cf775d4c5e4b6703102d4e97e1cd1d0a8879341219ae4f19ff</spanx>. It emits
the settlement event layout of <xref target="event-layout"/> and is the reference against
which the anchor verification algorithm (<xref target="anchor-verification"/>) is exercised.</t>

<t>The contract is a demonstration surface only. It MUST NOT be used as a
production payment processor; it performs no value transfer and applies no
access control suitable for production. Its purpose is to provide a stable,
publicly browsable on-chain event that conforms to <xref target="event-layout"/>, so that an
independent verifier can reproduce the anchor verification end to end.</t>

<t>The contract is browsable on Voyager (<xref target="block-explorer"/>) at
<spanx style="verb">https://sepolia.voyager.online/contract/0x044dd87a94a801cf775d4c5e4b6703102d4e97e1cd1d0a8879341219ae4f19ff</spanx>.</t>

</section>
<section anchor="block-explorer"><name>Block Explorer Canonical Reference</name>

<t>Voyager <xref target="VOYAGER"/> is the canonical human-readable audit surface for Starknet
mainnet and Sepolia in this document. Transaction and contract URLs follow the
patterns <spanx style="verb">https://voyager.online/tx/&lt;tx_hash&gt;</spanx> and
<spanx style="verb">https://voyager.online/contract/&lt;address&gt;</spanx> for mainnet, with the
<spanx style="verb">sepolia.voyager.online</spanx> host for the testnet.</t>

<t>The Voyager URL is supplementary. The normative anchor check is the RPC
verification of <xref target="anchor-verification"/>, not a browser visit. Implementations
MUST NOT cite any block explorer other than Voyager as the canonical visual
audit surface for Starknet; the specification endorses no alternative explorer
for this role. The spoofing risk of relying on a browser visit alone is treated
in <xref target="sec-explorer-spoof"/>.</t>

</section>
<section anchor="anchor-verification"><name>Anchor Verification Algorithm</name>

<t>A verifier confirms an anchor by executing the following steps in order. A
verifier MUST NOT skip a step.</t>

<t><list style="numbers" type="1">
  <t>Validate <spanx style="verb">chain_id</spanx> against the deployment environment the verifier is
configured for; reject on mismatch (<xref target="sec-chain-id"/>).</t>
  <t>Retrieve the transaction receipt via <spanx style="verb">starknet_getTransactionReceipt</spanx> for
<spanx style="verb">tx_hash</spanx>.</t>
  <t>Validate the emitter: confirm that <spanx style="verb">events[event_index].from_address</spanx>
equals a known-good emitter address from an implementation-controlled list
(<xref target="sec-event-collision"/>).</t>
  <t>Validate <spanx style="verb">block_number</spanx> against the receipt, where <spanx style="verb">block_number</spanx> is present.</t>
  <t>Compute the expected <spanx style="verb">keys[1]</spanx> by applying the felt252 mask
(<xref target="felt252-encoding"/>) to the receipt's <spanx style="verb">action_ref</spanx>, and compare it against
the on-chain <spanx style="verb">keys[1]</spanx>.</t>
  <t>Compare <spanx style="verb">data[1]</spanx> against the felt252-masked low bits of <spanx style="verb">payment_hash</spanx> as
an OPTIONAL cross-check.</t>
  <t>Validate the <spanx style="verb">kind</spanx> discriminant in <spanx style="verb">data[0]</spanx> against the tuple's <spanx style="verb">kind</spanx>
field.</t>
  <t>Check the block finality status against the verifier's configured threshold
(<xref target="sec-finality"/>); a verifier under a regulatory finality obligation MUST
require L1 acceptance rather than L2 acceptance alone.</t>
</list></t>

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

<section anchor="sec-privacy"><name>Privacy Class Threat Model</name>

<t>The three receipt variants defined in <xref target="receipt-format"/> expose different
amounts of information to a verifier or third-party observer. Implementations
MUST select the variant whose disclosure profile matches the deployment's
privacy class.</t>

<t>The <spanx style="verb">stark-vauban-pay-v1</spanx> variant proves payment conditions (amount, currency,
payer attestation, nullifier) without revealing the witness. A verifier
confirms that the conditions held without learning their values. However, the
<spanx style="verb">action_ref</spanx> digest is deterministic given the preimage. If the preimage is
known to an adversary, the adversary can confirm whether a given payment was
bound to a specific work event. Implementations that require unlinkability MUST
use opaque, non-guessable <spanx style="verb">agent_id</spanx> and <spanx style="verb">scope</spanx> values in the preimage. The
nullifier set, when exposed to third parties, allows correlation of repeated
nullifier checks against unrelated transactions; nullifier sets SHOULD be
exposed only under access controls aligned with the deployment's privacy
policy.</t>

<t>The <spanx style="verb">hybrid-pqc</spanx> and <spanx style="verb">classical-es256k</spanx> receipts do not provide
zero-knowledge properties. They carry the <spanx style="verb">receipt_core</spanx> in cleartext as
JCS-canonical JSON. Parties sharing these receipts with third-party verifiers
SHOULD treat the full payment conditions as visible. A regulator examining a
<spanx style="verb">hybrid-pqc</spanx> receipt sees the full settlement detail; a third-party logging
service receiving a <spanx style="verb">classical-es256k</spanx> receipt for delivery confirmation
similarly sees the full detail.</t>

<t>The three variants do not represent a single security hierarchy; they represent
orthogonal disclosure profiles. A deployment requiring both proof-condition
privacy and post-quantum signature integrity MAY combine a <spanx style="verb">stark-vauban-pay-v1</spanx>
proof with a hybrid outer signature in the same envelope, provided both cover
the byte-identical canonical preimage.</t>

</section>
<section anchor="sec-replay"><name>Replay Nullification</name>

<t>The <spanx style="verb">NullifierReplay</spanx> error code, returned with HTTP 409, is the primary
mechanism for preventing double-spend. Facilitators MUST maintain a nullifier
store indexed by the settlement ledger and MUST reject any <spanx style="verb">PAYMENT-SIGNATURE</spanx>
whose nullifier is already present. The store MUST be durable across
facilitator restarts; an in-memory-only store creates a replay window across
process boundaries.</t>

<t>The nullifier is bound to the receipt via the canonical preimage and the
underlying STARK proof (for <spanx style="verb">stark-vauban-pay-v1</spanx>) or via the JCS-canonical
<spanx style="verb">receipt_core</spanx> (for <spanx style="verb">hybrid-pqc</spanx> and <spanx style="verb">classical-es256k</spanx>). An adversary
attempting to replay a settled payment MUST produce a fresh nullifier; if the
underlying cryptographic scheme is sound, the adversary cannot do so without
the witness material.</t>

<t>The <spanx style="verb">timestamp_ms</spanx> field in the <spanx style="verb">action_ref</spanx> preimage further bounds the
replay window. Facilitators SHOULD enforce a maximum <spanx style="verb">timestamp_ms</spanx> age
aligned with the <spanx style="verb">maxTimeoutSeconds</spanx> field in the <spanx style="verb">PaymentRequired</spanx> response.
Receipts whose <spanx style="verb">timestamp_ms</spanx> is older than the configured threshold MUST be
rejected with HTTP 410 <spanx style="verb">Expired</spanx> regardless of nullifier state.</t>

<t>On-chain anchoring (<xref target="starknet-anchor"/>) adds a second-layer replay
defence. A settled payment whose anchor tuple has been emitted on the canonical
chain is verifiable by any party; an adversary attempting to issue a duplicate
settlement after on-chain anchoring would produce a divergent
<spanx style="verb">(payment_hash, action_ref)</spanx> pair detectable by any verifier with read access
to the chain.</t>

</section>
<section anchor="sec-validation-order"><name>Canonical Preimage Validation Order</name>

<t>Implementations MUST validate the canonical preimage discipline of
<xref target="preimage"/> BEFORE acting on any receipt content. Accepting a receipt whose
<spanx style="verb">action_ref</spanx> was derived from a non-canonical preimage (float <spanx style="verb">timestamp_ms</spanx>,
missing fields, duplicate keys, non-NFC strings) creates a binding gap: the
receipt may appear structurally valid while the work-layer binding is silently
broken. A verifier that processes receipt content before checking preimage
validity cannot assert the causal link between the payment and the work event.</t>

<t>The validation order is fixed:</t>

<t><list style="numbers" type="1">
  <t>Parse the receipt envelope and extract the canonical preimage object.</t>
  <t>Apply type validation per <xref target="preimage"/> (reject float <spanx style="verb">timestamp_ms</spanx>,
missing fields, duplicate keys).</t>
  <t>Apply Unicode NFC validation per <xref target="preimage"/> (reject non-NFC strings).</t>
  <t>Compute the JCS canonical bytes and the SHA-256 digest.</t>
  <t>Compare the computed digest against the <spanx style="verb">action_ref</spanx> field of the receipt.</t>
  <t>Only after digest match: verify cryptographic signatures or STARK proof.</t>
  <t>Only after signature or proof verification: act on receipt content.</t>
</list></t>

<t>A verifier MUST NOT short-circuit any of these steps. Acceptance of a
non-canonical preimage by a verifier propagates the violation into every
downstream system that trusts the verifier's output.</t>

</section>
<section anchor="sec-delegation"><name>Delegation Chain Bounds</name>

<t>The cryptographic scope of delegation receipts to granting principals is
defined in <xref target="DELEGATION-BINDING"/> (deferred to a companion document). This
consolidated document does not specify normative content for delegation
binding. A receipt produced by a delegated agent under a <spanx style="verb">DelegationGrant</spanx>
SHOULD include the granting principal's identifier in the <spanx style="verb">agent_id</spanx> field of
the <spanx style="verb">action_ref</spanx> preimage, and the delegation scope in the <spanx style="verb">scope</spanx> field, so
that a verifier with access to the delegation policy can confirm the bounds.
The exact delegation policy schema, the verifier-side bounds-check algorithm,
and the cryptographic linkage between the delegation grant and the derived
receipt are out of scope for this document and are addressed in the companion
work.</t>

<t>A verifier of a non-delegated receipt MAY ignore the delegation policy
machinery entirely. A verifier of a delegated receipt without access to the
companion delegation specification MUST treat the delegation chain as unbound
and SHOULD NOT accept the receipt as evidence of delegated authority.</t>

</section>
<section anchor="sec-downgrade"><name>Downgrade Attack</name>

<t>An adversary in a network position between the client and the facilitator MAY
attempt to strip <spanx style="verb">hybrid-pqc</spanx> from the <spanx style="verb">X-Payment-Options</spanx> header, forcing the
client to fall back to <spanx style="verb">classical-es256k</spanx>. The resulting receipt is not
post-quantum sound, leaving long-term integrity exposed.</t>

<t>Mitigation: a client requiring post-quantum soundness MUST send <spanx style="verb">receipt_format</spanx>
with <spanx style="verb">required: true</spanx> in the <spanx style="verb">PAYMENT-SIGNATURE</spanx> extension. A facilitator that
cannot honour the request MUST return HTTP 402 with <spanx style="verb">UnsupportedReceiptFormat</spanx>
rather than silently downgrading. Verifiers SHOULD cross-check the
<spanx style="verb">X-Receipt-Format</spanx> header on the <spanx style="verb">PAYMENT-RESPONSE</spanx> against the client's
required variant and reject mismatches.</t>

</section>
<section anchor="sec-hybrid"><name>Insecure Hybrid Composition</name>

<t>A naive hybrid signature implementation that signs different canonical messages
with the two component schemes does not provide the intended security property.
An adversary who breaks ES256K can produce a forged classical signature, and
the verifier may accept the receipt if the verification logic treats the two
signatures as covering disjoint content.</t>

<t>Mitigation: implementations MUST follow the composition principles
described in <xref target="pqc-signature-axis"/>; both signatures MUST cover the
byte-identical JCS canonical preimage. The reference encoder produces a single
canonical byte string consumed by both signing operations.</t>

</section>
<section anchor="sec-sidechannel"><name>ML-DSA-65 Side-Channel Exposure</name>

<t>ML-DSA-65 signing operations involve rejection sampling, secret-dependent
control flow, and arithmetic operations whose timing may leak secret-key
material to a co-located adversary. Side-channel analysis of lattice-based
signatures is an active research area.</t>

<t>Mitigation: ML-DSA-65 signing implementations used in production facilitator
infrastructure MUST be constant-time and SHOULD be selected from libraries
that have undergone public side-channel analysis since the publication of
<xref target="FIPS204"/>.</t>

</section>
<section anchor="sec-migration-timing"><name>Migration Timing Risk</name>

<t>Premature deprecation of classical signature support may exclude legitimate
counterparties that have not yet migrated to post-quantum infrastructure.
Conversely, late migration leaves long-retention receipts exposed to
retroactive forgery.</t>

<t>Mitigation: deployments SHOULD align their deprecation schedule with applicable
jurisdictional guidance (<xref target="NIST-PQC-MIGRATION"/>, <xref target="ANSSI-PQC"/>, <xref target="BSI-PQC"/>,
<xref target="EIDAS-2"/>). The 2025-2030 hybrid deployment window provides a five-year
overlap during which both verification paths SHOULD be supported. Facilitators
in regulated sectors SHOULD publish their migration plan in advance of any
deprecation step affecting external counterparties.</t>

</section>
<section anchor="sec-stark-audit"><name>STARK Proof System Auditability</name>

<t>The post-quantum soundness claim for the <spanx style="verb">stark-vauban-pay-v1</spanx> variant relies
on the collision and second-preimage resistance of the underlying hash function
and on the correctness of the prover-verifier implementation. A flaw in the
proof system implementation may produce false-positive verifications
independent of the hash function's strength.</t>

<t>Mitigation: implementations SHOULD use a reference STARK prover that has
undergone public audit. The Stwo Circle STARK M31 prover <xref target="STWO"/>, deployed
operationally on Starknet mainnet since 2025, is the reference for this
document. Implementations that fork or modify the reference prover SHOULD
re-audit the modifications against the original soundness analysis before
production deployment. The hash-based property of the underlying proof system
is preserved across faithful adapter implementations; the property breaks
under naive substitution of an algebraic SNARK (<xref target="pqc-proof-axis"/> forbids
this substitution under the post-quantum soundness claim).</t>

<t>The post-quantum soundness claim is a security ceiling, not a security floor;
it states that no known quantum algorithm reduces the proof system's
soundness, not that the proof system is immune to future cryptanalysis. This
document makes no claim about the long-term security of any specific proof
system configuration beyond the current state of the published analysis.</t>

</section>
<section anchor="sec-self-hosted"><name>Self-Hosted Infrastructure Assertion</name>

<t>The reference Vauban Pay deployment operates a self-hosted Pathfinder
<xref target="PATHFINDER"/> Starknet full node at <spanx style="verb">https://sepolia.rpc.vauban.tech/rpc/v0_10</spanx>
(Sepolia testnet, JSON-RPC spec v0.10.2) and <spanx style="verb">https://rpc.vauban.tech/rpc/v0_10</spanx>
(mainnet). The on-chain anchor format of <xref target="starknet-anchor"/> can be verified
against these endpoints or against any conformant Starknet JSON-RPC
implementation operated by a party the verifier trusts.</t>

<t>The specification does not mandate the use of any specific endpoint operator.
A verifier MAY operate its own Starknet full node, use a third-party endpoint
of its choice, or any combination of the two. The protocol's anchor
verification algorithm (<xref target="anchor-verification"/>) is independent of the endpoint
provider; it requires only that the endpoint implement the Starknet JSON-RPC
specification and that the TLS chain be authenticated.</t>

<t>Verifiers SHOULD NOT depend on any single third-party endpoint operator for
anchor verification under regulatory audit obligations. The audit-resilience
property of an on-chain anchor (that an auditor can re-verify at year N
without facilitator cooperation) is undermined if the verifier depends on a
third-party endpoint that may withdraw service, impose access controls
incompatible with audit timelines, or otherwise constrain re-verification.
Verifiers operating under MiCA Art. 76, DORA Art. 14, or comparable
obligations SHOULD operate their own Starknet read infrastructure or contract
with multiple independent endpoint operators with cross-checked responses.</t>

</section>
<section anchor="sec-rpc-auth"><name>RPC Endpoint Authenticity</name>

<t>An anchor verification that relies on a network RPC endpoint is subject to
man-in-the-middle attack if the transport is not authenticated. An adversary
that controls the network path between the verifier and the RPC endpoint may
return fabricated event data, causing the verifier to falsely confirm an
anchor that was never committed to the canonical chain.</t>

<t>Mitigation: verifiers MUST use TLS-authenticated RPC endpoints. Verifiers
SHOULD prefer endpoints they operate themselves or whose TLS certificate chain
they have independently pinned. Verifiers MUST NOT accept RPC responses over
unencrypted HTTP for anchor verification purposes.</t>

</section>
<section anchor="sec-explorer-spoof"><name>Block Explorer Spoofing</name>

<t>A Voyager URL included in an audit submission is a supplementary
human-readable convenience. An adversary controlling a domain similar to
<spanx style="verb">voyager.online</spanx> or <spanx style="verb">sepolia.voyager.online</spanx> may display fabricated
transaction data. Auditors relying solely on a browser visit to a Voyager URL,
without independently verifying the anchor tuple via the Starknet JSON-RPC,
cannot distinguish canonical chain data from spoofed presentation.</t>

<t>Mitigation: the normative audit check is the anchor tuple verification via the
Starknet JSON-RPC, not the Voyager URL. Audit frameworks MUST perform RPC
verification as the authoritative step. Voyager URLs are RECOMMENDED as a
supplementary aid for human reviewers; they MUST NOT be the sole verification
artefact. Implementations MUST NOT cite any block explorer other than Voyager
as the canonical visual audit surface for Starknet; the specification does not
endorse any alternative explorer for this role.</t>

</section>
<section anchor="sec-event-collision"><name>Event Collision and Selector Ambiguity</name>

<t>If two Cairo contracts deployed at different addresses emit events with the
same <spanx style="verb">keys[0]</spanx> selector and the same <spanx style="verb">keys[1]</spanx> digest, a verifier that does
not check the emitting contract address may accept the wrong anchor. This is
especially relevant when a chain hosts multiple conforming emitters.</t>

<t>Mitigation: verifiers MUST validate that the event was emitted by the expected
contract address. The anchor tuple (<xref target="anchor-tuple"/>) identifies the
transaction but not the emitting contract; verifiers MUST cross-reference the
<spanx style="verb">events[i].from_address</spanx> field in the <spanx style="verb">starknet_getTransactionReceipt</spanx>
response against the known emitter address before accepting the event as a
valid anchor. Conforming emitters MUST be registered in an
implementation-controlled list; events from unregistered emitters MUST be
rejected.</t>

</section>
<section anchor="sec-finality"><name>Chain Reorganisation and Finality Window</name>

<t>Starknet blocks achieve L2 finality when their state update is proven and
posted to the Ethereum L1 settlement layer. Prior to L1 finalisation, a block
may in principle be reorganised. A verifier that confirms a Starknet anchor at
a block that has not yet reached L1 finality accepts a non-final commitment.</t>

<t>Mitigation: for settlement records that require finality guarantees under
regulatory frameworks, verifiers SHOULD wait for the Starknet block's state
update to be confirmed on Ethereum L1 before treating the anchor as final. The
Starknet JSON-RPC exposes block status fields that allow verifiers to
distinguish pending, accepted-on-L2, and accepted-on-L1 states
<xref target="STARKNET-DOCS"/>. Verifiers MUST NOT treat a pending or L2-only block as
providing the same finality guarantee as an L1-confirmed block. For
non-regulatory use cases (for example, low-value instant payments), L2
acceptance MAY be sufficient; implementations MUST document their chosen
finality threshold.</t>

</section>
<section anchor="sec-chain-id"><name>Chain Identifier Confusion</name>

<t>An anchor tuple carrying <spanx style="verb">chain_id: "SN_SEPOLIA"</spanx> references a testnet where
tokens have no economic value. A verifier that does not validate the <spanx style="verb">chain_id</spanx>
field against its expected deployment environment may accept a testnet anchor
as proof of mainnet settlement.</t>

<t>Mitigation: verifiers MUST reject anchors whose <spanx style="verb">chain_id</spanx> does not match the
deployment environment they are configured to verify. Production payment
processors MUST be configured to accept only <spanx style="verb">chain_id: "SN_MAIN"</spanx>. Test
environments that accept <spanx style="verb">chain_id: "SN_SEPOLIA"</spanx> MUST be segregated from
production verification pipelines. The facilitator MUST include the <spanx style="verb">chain_id</spanx>
in the anchor tuple; a missing <spanx style="verb">chain_id</spanx> MUST be treated as a malformed
anchor and MUST be rejected.</t>

</section>
<section anchor="sec-felt-mask"><name>felt252 Mask and On-Chain Comparison</name>

<t>The felt252 masking operation described in <xref target="felt252-encoding"/> is a
deterministic transformation, not a cryptographic weakening. Implementations
that omit the mask at verification time will silently produce false-negative
verification results for receipts whose SHA-256 digest has non-zero bits in
positions 251 through 255. Such false negatives do not create a security
vulnerability (they deny valid receipts rather than accept invalid ones), but
they create an operational failure mode in production payment pipelines.
Implementations SHOULD test the mask against a receipt whose <spanx style="verb">action_ref</spanx>
digest has a known non-zero high bit before deploying to production.</t>

</section>
<section anchor="sec-trust-boundary"><name>Facilitator Trust Boundary</name>

<t>The security model of this extension assumes facilitator integrity for receipt
issuance. A compromised facilitator can issue false receipts regardless of the
cryptographic variant. The extension does not provide a mechanism to verify
that the facilitator was itself uncompromised at the time of issuance.
Verifiers that require a trust-minimised settlement proof SHOULD combine the
<spanx style="verb">stark-vauban-pay-v1</spanx> receipt with a Starknet on-chain anchor per
<xref target="starknet-anchor"/>. The combination reduces the trust assumption from
"facilitator integrity at issuance" to "facilitator integrity at the
single-step anchor emission to the canonical ledger". An auditor re-verifying
in year N then relies on the chain's canonical history, not on the
facilitator's continued availability.</t>

</section>
<section anchor="sec-retention"><name>Retention-Property Determinism</name>

<t>The canonical preimage discipline in <xref target="preimage"/> produces a digest that two
observers verifying at the same instant compute identically. For receipts
emitted under a regulatory framework with a statutory retention obligation,
the property MUST also hold across time: a supervisor or auditor re-verifying
in year N against a retained off-VM manifest of the receipt MUST reproduce
the same digest as the original verifier did at issuance time.</t>

<t>This raises a versioning concern. If the canonical rule (JCS, type-validation,
field-name canonicalisation, Unicode normalisation policy) is revised between
issuance and re-verification, the retained receipt becomes unreproducible
under the then-current rule. Verifier-side coercion of non-conforming inputs
(rather than rejection) further breaks re-verifiability because the coercion
step is verifier-local and is not replayed at audit time.</t>

<t>Producers emitting receipts under frameworks with statutory retention
obligations (MiCA Art. 80, AMLR Art. 56, DORA Art. 14) MUST therefore:</t>

<t><list style="symbols">
  <t>Include the canonicalisation version marker in a <spanx style="verb">canon_version</spanx> field in
the receipt preimage at emission time. The value MUST be a registered x402
canonicalisation version identifier; the JCS discipline validated in
<xref target="X402-CANON"/> is identified by the wire-format marker <spanx style="verb">jcs-rfc8785-v1</spanx>. A
future verifier selects the contemporaneous rule by this marker rather than
applying the then-current rule.</t>
  <t>Reject (not coerce) non-conforming inputs at the parse or schema-validation
step, preserving re-verifiability against the raw retained object.</t>
</list></t>

<t>Producers emitting receipts outside such frameworks SHOULD include
<spanx style="verb">canon_version</spanx> as a good-discipline default; the field becomes a MUST under
any framework that imposes a statutory retention horizon.</t>

</section>
<section anchor="sec-stark-timing"><name>Timing Side-Channel Risks in STARK Proof Generation</name>

<t>STARK proof generation for the <spanx style="verb">stark-vauban-pay-v1</spanx> variant is
computationally intensive and its duration correlates with the witness size.
On shared infrastructure, an adversary observing proof generation latency MAY
be able to infer approximate witness content (for example, payment amount
magnitude or attestation complexity).</t>

<t>Mitigation: implementors SHOULD run proof generation in isolated compute
environments (dedicated VMs or sandboxed processes) and SHOULD add randomised
padding to the proof generation timeline where latency is observable by
external parties. Implementations operating in regulated sectors SHOULD
document their timing-side-channel posture in the operational deployment
documentation.</t>

</section>
<section anchor="sec-open-research"><name>Open Research Items</name>

<t>The composition properties of payment claims across receipt formats, lifecycle
states, and delegation chains are under active investigation in the
companion documents <xref target="VPSF-ALGEBRA"/>, <xref target="LIFECYCLE-FSM"/>, and
<xref target="DELEGATION-BINDING"/>. The composition algebra is not in scope for this
document; implementations of the consolidated receipt-format, post-quantum
discipline, and on-chain anchor SHOULD treat composition properties as
working hypotheses pending the publication of the companion specifications. A
companion paper covering the formal treatment is planned for submission to
IACR ePrint; implementors are directed there for the formal analysis once
published.</t>

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

<t>This document makes no request for IANA action.</t>

<t>The registry described as <spanx style="verb">x402 Receipt Format</spanx> is an internal registry
maintained by the x402 Foundation Technical Steering Committee, not an IANA
registry. The registration procedure is Specification Required <xref target="RFC8126"/>,
with Designated Experts selected by the Technical Steering Committee. No
allocation in this document requires IETF Review or Standards Action.</t>

<t>The chain identifier values <spanx style="verb">"SN_MAIN"</spanx> and <spanx style="verb">"SN_SEPOLIA"</spanx> are Starknet-native
identifiers documented in <xref target="STARKNET-DOCS"/>; they are not IANA-registered
tokens. The <spanx style="verb">kind</spanx> discriminant values (<spanx style="verb">"settlement"</spanx>, <spanx style="verb">"refund"</spanx>,
<spanx style="verb">"delegation"</spanx>) derive from the lifecycle state names defined in
<xref target="LIFECYCLE-FSM"/>; they do not require separate IANA registration in this
specification.</t>

<t>Future per-chain adapter specifications that introduce new <spanx style="verb">chain_id</spanx> values
SHOULD define a registration mechanism within the x402 Foundation registry
structure rather than reserving values through IANA.</t>

</section>
<section anchor="conformance"><name>Conformance Checklist</name>

<t>An implementation claiming conformance to this consolidated specification MUST
satisfy the following, organised by section.</t>

<t>Receipt format (<xref target="receipt-format"/>):</t>

<t><list style="symbols">
  <t>Produce and parse all three receipt format tokens.</t>
  <t>Set <spanx style="verb">X-Payment-Options</spanx> on 402 responses listing supported tokens.</t>
  <t>Set <spanx style="verb">X-Receipt-Format</spanx> on all <spanx style="verb">PAYMENT-RESPONSE</spanx> messages.</t>
  <t>Fall back to <spanx style="verb">classical-es256k</spanx> when the client sends no <spanx style="verb">receipt_format</spanx>
preference.</t>
  <t>Return HTTP 402 with <spanx style="verb">UnsupportedReceiptFormat</spanx> when a client requests a
variant with <spanx style="verb">required: true</spanx> that the facilitator cannot produce.</t>
</list></t>

<t>Preimage discipline (<xref target="preimage"/>):</t>

<t><list style="symbols">
  <t>Reject float values for <spanx style="verb">timestamp_ms</spanx> before JCS canonicalisation.</t>
  <t>Reject preimage objects with missing canonical fields before JCS
canonicalisation.</t>
  <t>Reject preimage objects with duplicate keys at parse time.</t>
  <t>Normalise all preimage string values to NFC per <xref target="UAX15"/> before JCS
canonicalisation, and reject non-NFC input.</t>
  <t>Pass every vector in the conformance suite at <xref target="VAUBAN-CONFORMANCE"/>.</t>
</list></t>

<t>Post-quantum discipline (<xref target="pqc"/>):</t>

<t><list style="symbols">
  <t>Cover the byte-identical JCS canonical preimage with both component
signatures of any <spanx style="verb">hybrid-pqc</spanx> receipt.</t>
  <t>Reject <spanx style="verb">hybrid-pqc</spanx> receipts where either component signature fails to
verify.</t>
  <t>Use a hash-based proof system for any receipt variant claiming post-quantum
proof-layer soundness.</t>
</list></t>

<t>On-chain anchor (<xref target="starknet-anchor"/>):</t>

<t><list style="symbols">
  <t>Produce a well-formed anchor tuple for each submitted settlement.</t>
  <t>Include <spanx style="verb">chain_id</spanx>, <spanx style="verb">tx_hash</spanx>, <spanx style="verb">event_index</spanx>, and <spanx style="verb">kind</spanx> in every anchor
tuple.</t>
  <t>Apply the felt252 mask consistently at both event emission time and
verification time.</t>
  <t>Validate the emitter contract address against the known-good emitter
address before accepting an event as a valid anchor.</t>
  <t>Reject anchors whose <spanx style="verb">chain_id</spanx> does not match the configured deployment
environment.</t>
  <t>Distinguish pending, L2-accepted, and L1-accepted block states and apply
the appropriate finality threshold for the use case.</t>
  <t>Cite Voyager as the canonical visual audit surface for Starknet, and not
cite any other explorer in audit submissions.</t>
</list></t>

</section>
<section numbered="false" anchor="known-adopters-and-reference-implementations"><name>Known Adopters and Reference Implementations</name>

<t>This appendix documents reference implementations and adopters of this
specification confirmed at the time of publication. The list is informational
and will be updated in subsequent revisions as additional implementations are
reported.</t>

<t>Vauban Pay (<spanx style="verb">https://pay.vauban.tech</spanx>) maintains the reference specification,
the published conformance vectors
(<spanx style="verb">https://github.com/vauban-org/x402-stark-receipts-conformance</spanx>), the
multi-language runner matrix described in <xref target="conformance-matrix"/>, and the
on-chain reference deployment. The Vauban Pay live demonstration <xref target="VAUBAN-DEMO"/> emits
compliant payloads at <spanx style="verb">https://demo.pay.vauban.tech</spanx>. The on-chain anchor
<spanx style="verb">PaymentDemoEmitter</spanx> is deployed on Starknet Sepolia at contract
<spanx style="verb">0x044dd87a94a801cf775d4c5e4b6703102d4e97e1cd1d0a8879341219ae4f19ff</spanx>
(Voyager-verified at
<spanx style="verb">https://sepolia.voyager.online/contract/0x044dd87a94a801cf775d4c5e4b6703102d4e97e1cd1d0a8879341219ae4f19ff</spanx>).
The Starknet RPC reference endpoint is a self-hosted Pathfinder validator
<xref target="PATHFINDER"/> at <spanx style="verb">https://sepolia.rpc.vauban.tech/rpc/v0_10</spanx>.</t>

<t>The published Vauban Pay packages across three ecosystems are:</t>

<t><list style="symbols">
  <t>crates.io: <spanx style="verb">vauban-x402-jcs-conformance@0.1.0</spanx>,
<spanx style="verb">vauban-x402-canonical@0.1.0</spanx>, <spanx style="verb">vauban-x402-wire@0.1.0</spanx></t>
  <t>PyPI: <spanx style="verb">vauban-x402-stark-receipt@0.1.0</spanx></t>
  <t>npm: <spanx style="verb">@vauban-pay/substrate@0.1.0</spanx></t>
</list></t>

<t>All packages are released under Apache 2.0.</t>

<t>Implementers SHOULD notify the contact at <spanx style="verb">research@vauban.tech</spanx> when adopting
this specification in production. Adoption notifications include the
production endpoint or product identifier, the emitted <spanx style="verb">canon_version</spanx> value,
the JCS implementation library and version, the deployed emitter contract
address with chain identifier (where applicable), the RPC endpoint provenance
(self-hosted versus third-party), and a contact for follow-on coordination.
Reported adopters will be listed in the next revision of this appendix
following a verification step against the conformance vector matrix.</t>

</section>
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>This consolidated document folds material developed across the x402 Linux
Foundation V2 coalition review tracks <xref target="X402-2357"/>, <xref target="X402-2398"/>,
<xref target="X402-2411"/>, <xref target="X402-2412"/>, <xref target="X402-2413"/>, <xref target="X402-2434"/>, <xref target="X402-2440"/>, and
<xref target="X402-2459"/>. The editor thanks the following contributors by name:</t>

<t><list style="symbols">
  <t>FeedOracle, for the hybrid-PQC reference implementation and the receipt-core
fixture set landed at <xref target="X402-2411"/>.</t>
  <t>andysalvo, for the action-ref-verify v0.3.0 conformance vectors landed at
<xref target="X402-2398"/>, which materially shaped the JCS preimage discipline profiled
in <xref target="receipt-format"/>.</t>
  <t>egoriklok, for the x402 maintainer review summary at <xref target="X402-2459"/>, which
consolidated the substrate-and-axes architecture and clarified the boundary
between the receipt-format extension and the deferred composability layer.</t>
  <t>The Vauban Research engineering team, for the collective drafting,
conformance-vector publication, multi-language runner matrix, on-chain demo
surface, and editorial discipline across the three folded source drafts.</t>
</list></t>

<t>The JCS canonicalisation discipline referenced in <xref target="preimage"/> is grounded in
<xref target="RFC8785"/> and validated by independent runner implementations against
published conformance suites <xref target="X402-CANON"/>. The Stwo Circle STARK M31 prover
<xref target="STWO"/> is the open-source reference for the hash-based proving system
underlying the <spanx style="verb">stark-vauban-pay-v1</spanx> variant. The Starknet JSON-RPC
specification <xref target="STARKNET-DOCS"/> and the Pathfinder full node <xref target="PATHFINDER"/>
provide the on-chain infrastructure that the anchor format targets. The Voyager
block explorer <xref target="VOYAGER"/> provides the canonical human-readable audit surface.</t>

</section>


  </middle>

  <back>


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

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



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC4648">
  <front>
    <title>The Base16, Base32, and Base64 Data Encodings</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <date month="October" year="2006"/>
    <abstract>
      <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4648"/>
  <seriesInfo name="DOI" value="10.17487/RFC4648"/>
</reference>

<reference anchor="RFC8126">
  <front>
    <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
    <author fullname="M. Cotton" initials="M." surname="Cotton"/>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <author fullname="T. Narten" initials="T." surname="Narten"/>
    <date month="June" year="2017"/>
    <abstract>
      <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
      <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
      <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="26"/>
  <seriesInfo name="RFC" value="8126"/>
  <seriesInfo name="DOI" value="10.17487/RFC8126"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC8259">
  <front>
    <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
    <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
    <date month="December" year="2017"/>
    <abstract>
      <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
      <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="90"/>
  <seriesInfo name="RFC" value="8259"/>
  <seriesInfo name="DOI" value="10.17487/RFC8259"/>
</reference>

<reference anchor="RFC8785">
  <front>
    <title>JSON Canonicalization Scheme (JCS)</title>
    <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
    <author fullname="B. Jordan" initials="B." surname="Jordan"/>
    <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
    <date month="June" year="2020"/>
    <abstract>
      <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
      <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8785"/>
  <seriesInfo name="DOI" value="10.17487/RFC8785"/>
</reference>

<reference anchor="RFC8949">
  <front>
    <title>Concise Binary Object Representation (CBOR)</title>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <date month="December" year="2020"/>
    <abstract>
      <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
      <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="94"/>
  <seriesInfo name="RFC" value="8949"/>
  <seriesInfo name="DOI" value="10.17487/RFC8949"/>
</reference>

<reference anchor="RFC9110">
  <front>
    <title>HTTP Semantics</title>
    <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
    <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
    <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
    <date month="June" year="2022"/>
    <abstract>
      <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
      <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="97"/>
  <seriesInfo name="RFC" value="9110"/>
  <seriesInfo name="DOI" value="10.17487/RFC9110"/>
</reference>


<reference anchor="FIPS204" target="https://doi.org/10.6028/NIST.FIPS.204">
  <front>
    <title>Module-Lattice-Based Digital Signature Standard (ML-DSA)</title>
    <author >
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date year="2024" month="August"/>
  </front>
</reference>
<reference anchor="SP800-208" target="https://doi.org/10.6028/NIST.SP.800-208">
  <front>
    <title>Recommendation for Stateful Hash-Based Signature Schemes</title>
    <author >
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date year="2020" month="October"/>
  </front>
</reference>


    </references>

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



<reference anchor="RFC7515">
  <front>
    <title>JSON Web Signature (JWS)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
    <date month="May" year="2015"/>
    <abstract>
      <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7515"/>
  <seriesInfo name="DOI" value="10.17487/RFC7515"/>
</reference>


<reference anchor="UAX15" target="https://www.unicode.org/reports/tr15/">
  <front>
    <title>Unicode Normalization Forms</title>
    <author >
      <organization>Unicode Consortium</organization>
    </author>
    <date year="2023"/>
  </front>
  <seriesInfo name="Unicode Standard Annex" value="#15"/>
</reference>
<reference anchor="FIPS203" target="https://doi.org/10.6028/NIST.FIPS.203">
  <front>
    <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard (ML-KEM)</title>
    <author >
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date year="2024" month="August"/>
  </front>
</reference>
<reference anchor="X402-V2" target="https://github.com/x402-foundation/x402">
  <front>
    <title>x402 Linux Foundation V2 Working Group</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2322" target="https://github.com/x402-foundation/x402/issues/2322">
  <front>
    <title>x402 evidenceType taxonomy and composite trust-query alignment (discussion thread)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2326" target="https://github.com/x402-foundation/x402/issues/2326">
  <front>
    <title>x402 shared canonicalisation discipline (coalition discussion thread)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2357" target="https://github.com/x402-foundation/x402/issues/2357">
  <front>
    <title>x402 STARK Receipts Extension Proposal</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2398" target="https://github.com/x402-foundation/x402/pull/2398">
  <front>
    <title>action-ref-verify v0.3.0 conformance vectors</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2411" target="https://github.com/x402-foundation/x402/pull/2411">
  <front>
    <title>Hybrid-PQC receipt-core fixture set (Axis 2)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2412" target="https://github.com/x402-foundation/x402/pull/2412">
  <front>
    <title>Canonicalisation substrate v0 fixtures (Axis 0, 53 vectors)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2413" target="https://github.com/x402-foundation/x402/pull/2413">
  <front>
    <title>stark-vauban-pay-v1 v0 fixtures (Axis 1)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2434" target="https://github.com/x402-foundation/x402/pull/2434">
  <front>
    <title>risk-check-attestation-sample v0 (compliance-receipt fixture, ALLOW/DENY/REFER)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2440" target="https://github.com/x402-foundation/x402/pull/2440">
  <front>
    <title>Composite trust-query normative layer (Axis 4)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2459" target="https://github.com/x402-foundation/x402/pull/2459">
  <front>
    <title>x402 maintainer review summary (egoriklok)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-CANON" target="https://github.com/x402-foundation/x402/pull/2412">
  <front>
    <title>x402 canonicalisation substrate v0 conformance vectors (53 vectors, Axis 0)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="VAUBAN-CONFORMANCE" target="https://github.com/vauban-org/x402-stark-receipts-conformance/blob/main/manifest.json">
  <front>
    <title>Vauban STARK receipt conformance vectors (public)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="VAUBAN-DEMO" target="https://demo.pay.vauban.tech">
  <front>
    <title>Vauban Pay reference demonstration (Starknet Sepolia)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="STWO" target="https://github.com/starkware-libs/stwo">
  <front>
    <title>Stwo Circle STARK Prover (StarkWare Industries)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="STARKNET-DOCS" target="https://docs.starknet.io">
  <front>
    <title>Starknet Documentation and JSON-RPC Specification</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="PATHFINDER" target="https://github.com/eqlabs/pathfinder">
  <front>
    <title>Pathfinder Starknet full node (eqlabs)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="VOYAGER" target="https://voyager.online">
  <front>
    <title>Voyager Starknet Block Explorer</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="NIST-PQC-MIGRATION" target="https://csrc.nist.gov/projects/post-quantum-cryptography">
  <front>
    <title>Post-Quantum Cryptography Migration Roadmap</title>
    <author >
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="EIDAS-2" target="https://eur-lex.europa.eu/eli/reg/2024/1183/oj">
  <front>
    <title>Regulation (EU) 2024/1183 amending Regulation (EU) No 910/2014 (eIDAS 2.0)</title>
    <author >
      <organization>European Parliament and Council</organization>
    </author>
    <date year="2024" month="April"/>
  </front>
</reference>
<reference anchor="ANSSI-PQC" target="https://cyber.gouv.fr/en/publications/anssi-views-post-quantum-cryptography">
  <front>
    <title>ANSSI Position Paper on Post-Quantum Cryptography Migration</title>
    <author >
      <organization>Agence nationale de la securite des systemes d'information</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="BSI-PQC" target="https://www.bsi.bund.de/EN/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/Technische-Richtlinien/TR-nach-Thema-sortiert/tr02102/tr02102_node.html">
  <front>
    <title>BSI Technical Guideline TR-02102 (cryptographic mechanisms)</title>
    <author >
      <organization>Bundesamt fur Sicherheit in der Informationstechnik</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="VPSF-ALGEBRA" target="https://datatracker.ietf.org/doc/draft-vauban-x402-vpsf-algebra/">
  <front>
    <title>VPSF Claim Algebra for x402 Payment Receipts (companion work, out of scope)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="LIFECYCLE-FSM" target="https://datatracker.ietf.org/doc/draft-vauban-x402-lifecycle-fsm/">
  <front>
    <title>x402 V2 Payment Lifecycle Finite State Machine (companion work, out of scope)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="DELEGATION-BINDING" target="https://datatracker.ietf.org/doc/draft-vauban-x402-delegation-binding/">
  <front>
    <title>x402 V2 Delegation Binding (companion work, out of scope)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>

</references>



  </back>

<!-- ##markdown-source:
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
IK4oisi9Gvw/kA84fxMeAQA=

-->

</rfc>

