<?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-lifecycle-fsm-01" category="info" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="x402-lifecycle-fsm">x402 V2 Payment Lifecycle Finite State Machine</title>

    <author fullname="Vauban Research">
      <organization>Vauban Research</organization>
      <address>
        <email>research@vauban.tech</email>
        <uri>https://pay.vauban.tech</uri>
      </address>
    </author>

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

    <area>Applications</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>x402</keyword> <keyword>HTTP</keyword> <keyword>payment</keyword> <keyword>lifecycle</keyword> <keyword>finite state machine</keyword> <keyword>FSM</keyword> <keyword>canonicalisation</keyword> <keyword>JCS</keyword> <keyword>RFC 8785</keyword> <keyword>PaymentIntent</keyword> <keyword>SettlementReceipt</keyword> <keyword>RefundClaim</keyword> <keyword>DelegationGrant</keyword>

    <abstract>


<?line 63?>

<t>This document defines a normative finite state machine (FSM) for x402 V2 Payment lifecycle
transitions, covering the four canonical Payment Claim states: PaymentIntent (initialisation),
SettlementReceipt (completion), RefundClaim (reversal), and DelegationGrant (bounded authority).
Each transition is bound to the prior state by cryptographic linkage via the JCS canonical
preimage discipline (<xref target="RFC8785"/>), enabling supervisor reconstruction of full payment histories
from retained off-VM manifests. The FSM is compatible with the x402 STARK Receipt Format
Extension <xref target="STARK-RECEIPTS"/> but applicable to any x402 receipt format that implements the
canonical preimage discipline. Implementation evidence: 18 DelegationGrant vectors
cross-validated byte-identical across five language runtimes (<xref target="X402-2432"/>), live on-chain
anchor on Starknet Sepolia (PaymentDemoEmitter at
0x044dd87a94a801cf775d4c5e4b6703102d4e97e1cd1d0a8879341219ae4f19ff).</t>



    </abstract>



  </front>

  <middle>


<?line 77?>

<section anchor="introduction"><name>Introduction</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 base specification defines these three
wire messages but does not define a normative lifecycle for the payment states that
precede and follow a single exchange. In production systems, a payment passes through
at least two states (intent to settle), and often more (reversal, agentic delegation).
Receipt formats have individually attempted to capture lifecycle semantics, producing
fragmented and mutually incompatible state representations.</t>

<t>This fragmentation creates a verifiability gap. A supervisor or auditor reconstructing
a payment history from retained receipts cannot assert whether a refund was legitimately
preceded by a settled intent, or whether a delegation authority was scoped correctly to
the intents it subsequently spawned, unless each receipt format separately encodes and
exposes the linkage. In practice, most do not.</t>

<t>This document addresses the gap by specifying the lifecycle FSM at a layer above
receipt-format specifics. The FSM defines four canonical states and the legal transitions
between them. Each transition carries a cryptographic linkage computed via the JSON
Canonicalization Scheme (<xref target="RFC8785"/>) applied to the prior state's canonical preimage.
Any receipt format that emits these linkage digests can implement the FSM; no format
is privileged by the FSM definition.</t>

<t>The x402 STARK Receipt Format Extension <xref target="STARK-RECEIPTS"/> is the first reference
implementation of this FSM. Alternative receipt formats may bind the same FSM by
satisfying the cryptographic discipline defined in <xref target="cryptographic-linkage"/>.</t>

<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.</t>

<section anchor="conventions"><name>Requirements Language</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>

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

<dl>
  <dt>Payment Claim:</dt>
  <dd>
    <t>A cryptographically bound statement about a payment event in a specific lifecycle
state. Each of the four states (PaymentIntent, SettlementReceipt, RefundClaim,
DelegationGrant) is a Payment Claim variant. The term is generic; it does not
refer to any specific receipt format or proof system.</t>
  </dd>
  <dt>Lifecycle State:</dt>
  <dd>
    <t>One of the four canonical states defined in <xref target="lifecycle-states"/>. A payment
exists in exactly one Lifecycle State at any given instant. State transitions
are irreversible.</t>
  </dd>
  <dt>State Transition:</dt>
  <dd>
    <t>A directed edge in the FSM graph connecting two Lifecycle States. A transition
is valid only when its preconditions (<xref target="state-transitions"/>) are satisfied. Invalid
transitions MUST be rejected by verifiers.</t>
  </dd>
  <dt>Verifier:</dt>
  <dd>
    <t>An entity that checks whether a Payment Claim and its lifecycle linkage are
well-formed and consistent. The Verifier may be the facilitator, the resource
server, a compliance auditor, or an automated pipeline. Verifiers do not issue
Payment Claims; they consume them.</t>
  </dd>
  <dt>JCS Preimage Hash:</dt>
  <dd>
    <t>The SHA-256 digest of the UTF-8 encoding of the JCS canonical form (<xref target="RFC8785"/>)
of a Payment Claim's canonical preimage object. Used as the linkage token between
consecutive lifecycle states. Encoded as <spanx style="verb">"sha256:&lt;lowercase-hex-64-chars&gt;"</spanx> in
JSON contexts and as raw 32 bytes in CBOR contexts (<xref target="RFC8949"/>).</t>
  </dd>
  <dt>original_payment_ref:</dt>
  <dd>
    <t>A JCS Preimage Hash carried by SettlementReceipt and RefundClaim that binds
each downstream state to its upstream progenitor. For SettlementReceipt,
<spanx style="verb">original_payment_ref</spanx> is the JCS Preimage Hash of the originating PaymentIntent.
For RefundClaim, it is the JCS Preimage Hash of the SettlementReceipt being reversed.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="lifecycle-states"><name>Lifecycle States</name>

<t>The x402 V2 payment lifecycle comprises four canonical states. The three main-path
states (PaymentIntent, SettlementReceipt, RefundClaim) form a linear sequence.
The DelegationGrant state is a side channel that scopes the authority under which
PaymentIntents may be spawned autonomously.</t>

<figure title="x402 V2 Payment Lifecycle FSM (canonical paths)" anchor="fsm-diagram"><sourcecode type="text"><![CDATA[
 DelegationGrant
      |
      | scopes (side channel)
      v
 PaymentIntent --[settled]--> SettlementReceipt --[reversed]--> RefundClaim
]]></sourcecode></figure>

<section anchor="state-payment-intent"><name>PaymentIntent</name>

<t>A PaymentIntent is the initiating state. It records the payer's commitment to transfer
a specified amount of a specified currency to a specified payee, subject to the
payment conditions expressed in the accompanying <spanx style="verb">PAYMENT-SIGNATURE</spanx> (<xref target="X402-V2"/>).</t>

<t>Required fields:</t>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">id</spanx></c>
      <c>string (UUID v4)</c>
      <c>Unique identifier for this intent.</c>
      <c><spanx style="verb">payer</spanx></c>
      <c>string</c>
      <c>Payer address or pseudonym.</c>
      <c><spanx style="verb">payee</spanx></c>
      <c>string</c>
      <c>Payee (merchant) address or pseudonym.</c>
      <c><spanx style="verb">amount</spanx></c>
      <c>integer</c>
      <c>Amount in the smallest indivisible unit of <spanx style="verb">currency</spanx>. No floating-point values are permitted.</c>
      <c><spanx style="verb">currency</spanx></c>
      <c>string</c>
      <c>Token identifier (e.g., <spanx style="verb">"USDC"</spanx>, <spanx style="verb">"STRK"</spanx>).</c>
      <c><spanx style="verb">issued_at</spanx></c>
      <c>integer</c>
      <c>Unix timestamp (seconds) of intent issuance.</c>
      <c><spanx style="verb">expires_at</spanx></c>
      <c>integer (optional)</c>
      <c>Unix timestamp after which the intent is expired. Default window: 30 seconds from <spanx style="verb">issued_at</spanx>.</c>
      <c><spanx style="verb">nonce</spanx></c>
      <c>bytes (32)</c>
      <c>Unique anti-replay token. MUST be generated from a cryptographically secure random number generator.</c>
</texttable>

<t>JCS preimage rule: the canonical preimage object for a PaymentIntent is the JCS
serialisation (<xref target="RFC8785"/>) of the JSON object with keys sorted lexicographically.
All string fields MUST be Unicode Normalization Form C (NFC) before serialisation.
The JCS Preimage Hash is <spanx style="verb">SHA-256(UTF-8(JCS(preimage)))</spanx>.</t>

</section>
<section anchor="state-settlement-receipt"><name>SettlementReceipt</name>

<t>A SettlementReceipt is emitted by the Verifier (facilitator) once a PaymentIntent
has been verified and the corresponding payment conditions satisfied. It represents
the terminal successful state of the main path.</t>

<t>Required fields:</t>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">payment_id</spanx></c>
      <c>string (UUID v4)</c>
      <c>The <spanx style="verb">id</spanx> of the PaymentIntent that was settled.</c>
      <c><spanx style="verb">tx_hash</spanx></c>
      <c>string</c>
      <c>On-chain transaction reference where settlement was recorded. Format is receipt-format-specific.</c>
      <c><spanx style="verb">block_number</spanx></c>
      <c>integer</c>
      <c>Block height at which settlement was confirmed.</c>
      <c><spanx style="verb">settled_at</spanx></c>
      <c>integer</c>
      <c>Unix timestamp (seconds) of settlement confirmation.</c>
      <c><spanx style="verb">original_payment_ref</spanx></c>
      <c>string</c>
      <c>JCS Preimage Hash of the originating PaymentIntent. Format: <spanx style="verb">"sha256:&lt;hex-64&gt;"</spanx>. REQUIRED for FSM compliance.</c>
</texttable>

<t>Cryptographic linkage to PaymentIntent: the <spanx style="verb">original_payment_ref</spanx> field MUST be
set to the JCS Preimage Hash of the PaymentIntent whose <spanx style="verb">id</spanx> matches <spanx style="verb">payment_id</spanx>.
A SettlementReceipt without a valid <spanx style="verb">original_payment_ref</spanx> is not FSM-compliant;
verifiers MAY accept it for backward compatibility but MUST NOT treat it as
FSM-grounded for audit purposes.</t>

</section>
<section anchor="state-refund-claim"><name>RefundClaim</name>

<t>A RefundClaim is emitted by the merchant to initiate a reversal of a settled payment.
It is the terminal state of the reversal path. A RefundClaim MUST reference a prior
SettlementReceipt; a refund without a prior settlement is a forbidden transition
(<xref target="forbidden-transitions"/>).</t>

<t>Required fields:</t>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">original_payment_id</spanx></c>
      <c>string (UUID v4)</c>
      <c>The <spanx style="verb">id</spanx> of the PaymentIntent / SettlementReceipt being refunded.</c>
      <c><spanx style="verb">amount</spanx></c>
      <c>integer</c>
      <c>Refund amount in the smallest denomination of the original currency. MUST satisfy <spanx style="verb">amount &lt;= original_amount</spanx>.</c>
      <c><spanx style="verb">reason</spanx></c>
      <c>string</c>
      <c>Human-readable reason for the refund. Treated as disclosed to auditors.</c>
      <c><spanx style="verb">issued_at</spanx></c>
      <c>integer</c>
      <c>Unix timestamp (seconds) of refund issuance.</c>
</texttable>

<t>Partial vs. full refund semantics: a RefundClaim where <spanx style="verb">amount</spanx> equals the original
settled amount is a full refund. A RefundClaim where <spanx style="verb">amount</spanx> is strictly less is a
partial refund. In both cases the SettlementReceipt transitions to a Refunded sub-state.
Only one RefundClaim per SettlementReceipt is permitted per default FSM rules; receipt
formats that support multiple partial refunds MUST document their multi-refund policy.</t>

<t>Refund window: the FSM imposes a default validity window of 30 days from <spanx style="verb">issued_at</spanx>
on RefundClaims. Receipt formats MAY shorten but MUST NOT extend this window without
explicit merchant and facilitator agreement.</t>

<t>Cryptographic linkage to SettlementReceipt: the RefundClaim MUST carry an
<spanx style="verb">original_payment_ref</spanx> field set to the JCS Preimage Hash of the SettlementReceipt
being reversed. This creates a two-hop chain: RefundClaim references SettlementReceipt;
SettlementReceipt references PaymentIntent. A supervisor can reconstruct the full
three-state chain from the two linkage digests and the retained manifests.</t>

</section>
<section anchor="state-delegation-grant"><name>DelegationGrant</name>

<t>A DelegationGrant is a side-channel state that authorises an agent (the delegatee)
to spawn PaymentIntents on behalf of a principal (the delegator), subject to scoped
constraints. The DelegationGrant does not itself initiate a payment; it bounds the
authority under which subsequent PaymentIntents may be autonomously issued.</t>

<t>Required fields:</t>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">delegator</spanx></c>
      <c>string</c>
      <c>Address or pseudonym of the principal granting authority.</c>
      <c><spanx style="verb">delegatee</spanx></c>
      <c>string</c>
      <c>Address or pseudonym of the agent receiving authority.</c>
      <c><spanx style="verb">scope</spanx></c>
      <c>string[]</c>
      <c>Ordered list of scope identifiers constraining what the agent may do (e.g., <spanx style="verb">["payment:usdc", "merchant:0x04..."]</spanx>).</c>
      <c><spanx style="verb">expires_at</spanx></c>
      <c>integer (optional)</c>
      <c>Unix timestamp after which the grant is expired. If absent, the grant is perpetual until explicitly revoked.</c>
</texttable>

<t>Binding to PaymentIntent: any PaymentIntent spawned under a DelegationGrant MUST
carry a reference to the grant's content digest in a receipt-format-specific field.
The FSM does not mandate the exact field name; receipt formats MUST document their
DelegationGrant binding mechanism.</t>

<t>Scope enforcement: a Verifier receiving a PaymentIntent that claims to operate under
a DelegationGrant MUST verify that the intent's currency and payee are within the
grant's <spanx style="verb">scope</spanx> list. Intents that exceed the grant's scope MUST be rejected with
an explicit scope-violation error.</t>

</section>
</section>
<section anchor="state-transitions"><name>State Transitions</name>

<section anchor="transition-intent-settlement"><name>Canonical Path: Intent to Settlement</name>

<t>Trigger: the payer submits a <spanx style="verb">PAYMENT-SIGNATURE</spanx> (<xref target="X402-V2"/>) referencing a
PaymentIntent, and the Verifier confirms that all payment conditions are satisfied.</t>

<t>Preconditions (all MUST hold):</t>

<t><list style="numbers" type="1">
  <t>A PaymentIntent with the referenced <spanx style="verb">id</spanx> exists and has not expired (<spanx style="verb">issued_at + expiry_window &gt; now</spanx>).</t>
  <t>The payment conditions (amount, currency, payee) in the <spanx style="verb">PAYMENT-SIGNATURE</spanx> match the PaymentIntent fields.</t>
  <t>The anti-replay nonce has not been previously consumed for this payment pair.</t>
  <t>The payer attestation is valid per the receipt format's verification rules.</t>
</list></t>

<t>Postconditions:</t>

<t><list style="numbers" type="1">
  <t>A SettlementReceipt is emitted with <spanx style="verb">payment_id</spanx> set to the PaymentIntent <spanx style="verb">id</spanx>.</t>
  <t><spanx style="verb">original_payment_ref</spanx> is set to the JCS Preimage Hash of the PaymentIntent.</t>
  <t><spanx style="verb">settled_at</spanx> is set to the current time.</t>
  <t>The anti-replay nonce is marked as consumed and MUST NOT be accepted again.</t>
  <t>The PaymentIntent transitions to the Settled sub-state; no further transitions from this PaymentIntent are permitted.</t>
</list></t>

</section>
<section anchor="transition-settlement-refund"><name>Reversal Path: Settlement to Refund</name>

<t>Trigger: the merchant or facilitator initiates a refund against a prior SettlementReceipt.</t>

<t>Preconditions (all MUST hold):</t>

<t><list style="numbers" type="1">
  <t>A SettlementReceipt with the referenced <spanx style="verb">payment_id</spanx> exists and is in the Settled state (not already Refunded).</t>
  <t>The refund <spanx style="verb">amount</spanx> satisfies <spanx style="verb">amount &lt;= original_settled_amount</spanx>.</t>
  <t>The current time is within the refund window: <spanx style="verb">now &lt;= settlement.settled_at + refund_window_seconds</spanx>.</t>
  <t>The requesting party (merchant or facilitator) is authorised to issue refunds for this payment pair.</t>
</list></t>

<t>Postconditions:</t>

<t><list style="numbers" type="1">
  <t>A RefundClaim is emitted with <spanx style="verb">original_payment_id</spanx> set to the PaymentIntent <spanx style="verb">id</spanx>.</t>
  <t>The RefundClaim MUST carry an <spanx style="verb">original_payment_ref</spanx> set to the JCS Preimage Hash of the SettlementReceipt being reversed.</t>
  <t><spanx style="verb">issued_at</spanx> is set to the current time.</t>
  <t>The SettlementReceipt transitions to the Refunded sub-state; no further refunds against this receipt are permitted under default FSM rules.</t>
</list></t>

<t>Partial refund semantics: when <spanx style="verb">amount &lt; original_settled_amount</spanx>, the RefundClaim
represents a partial reversal. The remaining balance is settled and not subject to
further refund unless the receipt format explicitly supports multi-refund sequences.
Implementations supporting partial refunds MUST document their sequencing rules.</t>

</section>
<section anchor="transition-delegation-intent"><name>Bounded Authority Path: Delegation to Intent</name>

<t>Trigger: an agent (the delegatee) spawns a PaymentIntent under a previously issued
DelegationGrant.</t>

<t>Preconditions (all MUST hold):</t>

<t><list style="numbers" type="1">
  <t>A DelegationGrant exists for the delegatee with a non-expired <spanx style="verb">expires_at</spanx> (or no expiry).</t>
  <t>The intended payment's currency is listed in the grant's <spanx style="verb">scope</spanx>.</t>
  <t>The intended payment's payee is listed in the grant's <spanx style="verb">scope</spanx> (if the scope constrains payees).</t>
  <t>The DelegationGrant's chain depth (number of intermediate delegation hops) does not exceed <spanx style="verb">max_chain_length</spanx> (default: 1 direct hop; see <xref target="forbidden-transitions"/>).</t>
</list></t>

<t>Postconditions:</t>

<t><list style="numbers" type="1">
  <t>The spawned PaymentIntent MUST carry a receipt-format-specific reference to the DelegationGrant content digest.</t>
  <t>The Verifier MUST verify scope compliance before accepting the PaymentIntent for settlement.</t>
  <t>The DelegationGrant remains active; a single grant may spawn multiple PaymentIntents within its scope and expiry.</t>
</list></t>

</section>
<section anchor="forbidden-transitions"><name>Forbidden Transitions</name>

<t>The following state pairs MUST be rejected by Verifiers. Acceptance of a forbidden
transition is a security violation; implementations MUST emit an explicit rejection
error rather than silently ignoring the inconsistency.</t>

<texttable>
      <ttcol align='left'>Transition</ttcol>
      <ttcol align='left'>Reason</ttcol>
      <ttcol align='left'>Error signal</ttcol>
      <c>RefundClaim without a prior SettlementReceipt</c>
      <c>A refund requires a preceding settlement.</c>
      <c><spanx style="verb">RefundWithoutSettlement</spanx></c>
      <c>SettlementReceipt referencing a non-existent or expired PaymentIntent</c>
      <c>No settlement without a valid intent.</c>
      <c><spanx style="verb">IntentNotFound</spanx> or <spanx style="verb">IntentExpired</spanx></c>
      <c>Second SettlementReceipt for an already-settled PaymentIntent</c>
      <c>Intents settle exactly once.</c>
      <c><spanx style="verb">AlreadySettled</spanx></c>
      <c>Second RefundClaim for an already-refunded SettlementReceipt (default FSM)</c>
      <c>Receipts refund at most once unless the format documents multi-refund support.</c>
      <c><spanx style="verb">AlreadyRefunded</spanx></c>
      <c>DelegationGrant chain depth exceeding <spanx style="verb">max_chain_length</spanx></c>
      <c>Unbounded delegation chains enable privilege escalation.</c>
      <c><spanx style="verb">DelegationDepthExceeded</spanx></c>
      <c>PaymentIntent issued after DelegationGrant expiry</c>
      <c>Expired grants do not authorise new intents.</c>
      <c><spanx style="verb">GrantExpired</spanx></c>
</texttable>

<t>The default <spanx style="verb">max_chain_length</spanx> for DelegationGrant chains is 1 (one direct delegation
from principal to agent, no sub-delegation). Receipt formats MAY define a larger value
but MUST document the maximum explicitly. The recommended upper bound is 8 hops; values
above 32 SHOULD be rejected as operationally unsafe.</t>

</section>
</section>
<section anchor="cryptographic-linkage"><name>Cryptographic Linkage</name>

<section anchor="jcs-discipline"><name>JCS Canonical Preimage Discipline</name>

<t>The linkage between consecutive lifecycle states is a JCS Preimage Hash: the SHA-256
digest of the UTF-8 encoding of the JCS (<xref target="RFC8785"/>) canonical form of the prior
state's canonical preimage object.</t>

<t>The canonical preimage object is a JSON object containing the fields defined for each
state in <xref target="lifecycle-states"/>. Keys MUST be sorted lexicographically per <xref target="RFC8785"/>
Section 3.2.3. String values MUST be in Unicode Normalization Form C before serialisation.
Float values for integer-typed fields (such as <spanx style="verb">amount</spanx> or <spanx style="verb">issued_at</spanx>) MUST be rejected
before canonicalisation.</t>

<t>The JCS Preimage Hash is encoded as:</t>

<figure><sourcecode type="text"><![CDATA[
original_payment_ref = "sha256:" || lowercase_hex(SHA-256(UTF-8(JCS(preimage))))
]]></sourcecode></figure>

<t>This encoding is identical to the <spanx style="verb">action_ref</spanx> derivation defined in <xref target="STARK-RECEIPTS"/>
and in the shared canonicalisation discipline coordinated at the x402 working group
(<xref target="X402-2326"/>).</t>

</section>
<section anchor="chain-reconstruction"><name>Chain Reconstruction Algorithm</name>

<t>A supervisor reconstructing a full payment history from retained off-VM manifests
applies the following algorithm:</t>

<t><list style="numbers" type="1">
  <t>Collect all Payment Claims associated with a payment session (identified by the
PaymentIntent <spanx style="verb">id</spanx> or a session token established by the receipt format).</t>
  <t>For each SettlementReceipt, verify that <spanx style="verb">SHA-256(UTF-8(JCS(PaymentIntent_preimage)))</spanx>
equals the claim's <spanx style="verb">original_payment_ref</spanx>. If the digests do not match, reject
the chain as tampered.</t>
  <t>For each RefundClaim, verify that <spanx style="verb">SHA-256(UTF-8(JCS(SettlementReceipt_preimage)))</spanx>
equals the claim's <spanx style="verb">original_payment_ref</spanx>. If the digests do not match, reject
the chain as tampered.</t>
  <t>Verify that all state transitions in the reconstructed chain are legal per
<xref target="state-transitions"/>. Any forbidden transition (<xref target="forbidden-transitions"/>)
encountered during reconstruction MUST cause the supervisor to mark the chain
as invalid.</t>
</list></t>

<t>The chain is valid if and only if all digest checks pass and no forbidden transition
appears. A valid chain provides a tamper-evident audit trail from PaymentIntent to
SettlementReceipt and (if applicable) to RefundClaim.</t>

</section>
<section anchor="forking-resistance"><name>Resistance to Forking Attacks</name>

<t>A forking attack occurs when an adversary attempts to produce two valid
SettlementReceipts for the same PaymentIntent (double settlement), or two valid
RefundClaims for the same SettlementReceipt (double refund). The FSM resists forking
by the following mechanisms:</t>

<t><list style="numbers" type="1">
  <t>The anti-replay nonce in PaymentIntent MUST be marked as consumed on first
settlement (<xref target="transition-intent-settlement"/> postcondition 4). A second
<spanx style="verb">PAYMENT-SIGNATURE</spanx> presenting the same nonce MUST be rejected.</t>
  <t>The <spanx style="verb">original_payment_ref</spanx> in SettlementReceipt is deterministic: any two
valid SettlementReceipts for the same PaymentIntent will carry the same
<spanx style="verb">original_payment_ref</spanx>. A Verifier maintaining a <spanx style="verb">original_payment_ref</spanx>-indexed
store can detect and reject a second settlement attempt.</t>
  <t>The same property applies to RefundClaim: any two RefundClaims for the same
SettlementReceipt share the same <spanx style="verb">original_payment_ref</spanx> (the hash of the
SettlementReceipt). A Verifier that records issued RefundClaims by
<spanx style="verb">original_payment_ref</spanx> can detect duplicate refund attempts.</t>
</list></t>

<t>Receipt formats implementing this FSM MUST maintain an indexed store of consumed
nonces and issued linkage digests. The store indexing strategy is format-specific;
the FSM only requires that the store enables O(1) lookup at state transition time.</t>

</section>
</section>
<section anchor="compatibility"><name>Compatibility with Receipt Formats</name>

<t>Any receipt format that emits JCS canonical preimage hashes for each lifecycle
state can implement this FSM. The format is not required to use the field names
<spanx style="verb">original_payment_ref</spanx> defined here; it MUST document the mapping from its own
field names to the FSM linkage fields. Verifiers that support multiple receipt
formats MUST resolve the mapping before applying the chain reconstruction algorithm
(<xref target="chain-reconstruction"/>).</t>

<t>The x402 STARK Receipt Format Extension <xref target="STARK-RECEIPTS"/> is the first reference
implementation of this FSM. The <spanx style="verb">SettlementReceipt.original_payment_ref</spanx> field
defined in that extension is the canonical spelling; other formats SHOULD use the
same field name for interoperability. Formats that use an alternative field name
MUST register the mapping in the <spanx style="verb">x402 Receipt Format</spanx> registry or document it in
a published specification.</t>

<t>Other formats may bind the FSM via signature-based linkage mechanisms (such as
HMAC-SHA256 or a digital signature over the canonical preimage bytes), provided
the binding is deterministic and produces a 32-byte digest that satisfies the
preimage rules of <xref target="jcs-discipline"/>. Signature-based binding does not replace
the JCS canonical preimage requirement; it is an additional layer on top.</t>

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

<section anchor="sec-state-spoofing"><name>State Spoofing</name>

<t>An adversary may attempt to submit a SettlementReceipt for a PaymentIntent that
was never created, or a RefundClaim for a SettlementReceipt that was never issued.
Verifiers MUST validate the <spanx style="verb">original_payment_ref</spanx> linkage against retained
manifests before accepting any downstream state transition. Accepting a receipt
without verifying its <spanx style="verb">original_payment_ref</spanx> against the prior state's known-good
digest enables state-spoofing attacks.</t>

<t>Mitigation: chain reconstruction (<xref target="chain-reconstruction"/>) is the normative defence.
Verifiers that cannot retain Payment Claim manifests SHOULD use an external audit log
maintained by a trusted third party with its own chain-verification capability.</t>

</section>
<section anchor="sec-replay"><name>Replay Across Linkage Horizons</name>

<t>The deterministic nature of JCS Preimage Hashes means that a SettlementReceipt for
a given PaymentIntent always carries the same <spanx style="verb">original_payment_ref</spanx>. This property
is exploited by forking defences (<xref target="forking-resistance"/>), but it also means that
an adversary in possession of a valid SettlementReceipt can derive the
<spanx style="verb">original_payment_ref</spanx> for a future RefundClaim without ever seeing the SettlementReceipt
preimage, provided the PaymentIntent preimage is known.</t>

<t>Mitigation: anti-replay stores MUST be indexed by both the linkage digest and the
specific state type (Settlement vs. Refund). An <spanx style="verb">original_payment_ref</spanx> that has been
used as the basis of a RefundClaim MUST be marked as refunded in the store; a second
RefundClaim presenting the same <spanx style="verb">original_payment_ref</spanx> MUST be rejected.</t>

<t>Receipt formats MUST enforce temporal constraints on refund acceptance; the default
30-day refund window (<xref target="state-refund-claim"/>) limits the replay horizon.</t>

</section>
<section anchor="sec-cross-format"><name>Cross-Format Interleaving Attacks</name>

<t>A cross-format interleaving attack occurs when a SettlementReceipt emitted by format
A is presented as a valid predecessor to a RefundClaim emitted by format B, where
the two formats use incompatible preimage schemas. If a Verifier accepts mixed-format
chains without verifying preimage schema compatibility, the JCS digest check may
pass spuriously (if the two schemas happen to produce the same bytes for different
semantic content) or fail with an opaque error (masking a tampered chain).</t>

<t>Mitigation: Verifiers MUST reject mixed-format chains unless both formats implement
the canonical preimage discipline of <xref target="jcs-discipline"/> with identical field
definitions and encoding rules for the overlapping fields. Receipt formats MUST
declare their preimage schema version in each emitted claim, enabling Verifiers to
detect schema mismatches before applying the digest check.</t>

</section>
<section anchor="sec-delegation-scope"><name>DelegationGrant Scope Inflation</name>

<t>A delegatee that has received a DelegationGrant may attempt to spawn PaymentIntents
whose scope exceeds the grant's constraints (currency, payee, or amount cap). If the
Verifier does not check scope compliance before settling, the delegation mechanism
provides no meaningful access control.</t>

<t>Mitigation: scope enforcement is normative (<xref target="transition-delegation-intent"/>
precondition 3). Verifiers MUST check scope compliance at settlement time, not only
at grant issuance time. The <spanx style="verb">max_chain_length</spanx> parameter (<xref target="forbidden-transitions"/>)
bounds privilege escalation via sub-delegation chains; the default value of 1 permits
only direct principal-to-agent delegation with no intermediate nodes.</t>

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

<t>This document defines no new IANA registries. Implementations bind to existing x402
receipt-format registries. The FSM state names (PaymentIntent, SettlementReceipt,
RefundClaim, DelegationGrant) and transition error tokens defined in
<xref target="forbidden-transitions"/> are informational identifiers; they do not require IANA
registration.</t>

<t>Receipt formats implementing this FSM and registering in the <spanx style="verb">x402 Receipt Format</spanx>
registry (established by <xref target="STARK-RECEIPTS"/>) SHOULD include in their registration
a reference to this document to indicate FSM compliance.</t>

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

<t>The authors thank the x402 Foundation coalition contributors who established the
shared canonicalisation discipline through the three-implementation consensus thread
<xref target="X402-2357"/> and the multi-runtime conformance work in <xref target="X402-2432"/>. The 18
DelegationGrant vectors cross-validated byte-identical across five language runtimes
in <xref target="X402-2432"/> provided the empirical basis for the bounded authority path
definition in <xref target="transition-delegation-intent"/>. The shared canonicalisation discipline
<xref target="X402-2326"/> grounded the JCS preimage linkage rules in <xref target="jcs-discipline"/>.</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="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="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>




    </references>

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

<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-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-2326" target="https://github.com/x402-foundation/x402/issues/2326">
  <front>
    <title>Shared canonicalisation discipline (privacy_class and receipt-format extensions)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2432" target="https://github.com/x402-foundation/x402/pull/2432">
  <front>
    <title>Bounded-spend authorization sample: 18-vector cross-runtime conformance matrix</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="STARK-RECEIPTS" target="https://datatracker.ietf.org/doc/draft-vauban-x402-stark-receipts/">
  <front>
    <title>x402 STARK Receipt Format Extension</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-vauban-x402-stark-receipts-00"/>
</reference>


    </references>

</references>


<?line 531?>

<section anchor="fsm-summary"><name>FSM State Summary</name>

<t>The following table summarises the four canonical states, their roles, and their
linkage requirements.</t>

<texttable>
      <ttcol align='left'>State</ttcol>
      <ttcol align='left'>Role</ttcol>
      <ttcol align='left'>Required linkage field</ttcol>
      <c>PaymentIntent</c>
      <c>Initiating state; payer commitment</c>
      <c>None (origin state)</c>
      <c>SettlementReceipt</c>
      <c>Terminal success state; facilitator confirmation</c>
      <c><spanx style="verb">original_payment_ref</spanx> = JCS Preimage Hash of PaymentIntent</c>
      <c>RefundClaim</c>
      <c>Terminal reversal state; merchant-initiated</c>
      <c><spanx style="verb">original_payment_ref</spanx> = JCS Preimage Hash of SettlementReceipt</c>
      <c>DelegationGrant</c>
      <c>Side-channel authority; scopes future intents</c>
      <c>Receipt-format-specific binding to spawned PaymentIntents</c>
</texttable>

</section>
<section anchor="transition-table"><name>Legal Transition Table</name>

<t>The following table is a machine-readable summary of legal and forbidden transitions
for use in conformance testing. Verifiers MAY generate test cases from this table.</t>

<texttable>
      <ttcol align='left'>From state</ttcol>
      <ttcol align='left'>To state</ttcol>
      <ttcol align='left'>Legal?</ttcol>
      <ttcol align='left'>Condition</ttcol>
      <c>(none)</c>
      <c>PaymentIntent</c>
      <c>Yes</c>
      <c>Origin; no precondition.</c>
      <c>PaymentIntent</c>
      <c>SettlementReceipt</c>
      <c>Yes</c>
      <c>All preconditions in <xref target="transition-intent-settlement"/>.</c>
      <c>SettlementReceipt</c>
      <c>RefundClaim</c>
      <c>Yes</c>
      <c>All preconditions in <xref target="transition-settlement-refund"/>.</c>
      <c>(none)</c>
      <c>DelegationGrant</c>
      <c>Yes</c>
      <c>Origin side-channel; no prior state required.</c>
      <c>DelegationGrant</c>
      <c>PaymentIntent</c>
      <c>Yes</c>
      <c>All preconditions in <xref target="transition-delegation-intent"/>.</c>
      <c>PaymentIntent</c>
      <c>RefundClaim</c>
      <c>No</c>
      <c>RefundWithoutSettlement; settlement must precede refund.</c>
      <c>PaymentIntent</c>
      <c>PaymentIntent</c>
      <c>No</c>
      <c>Intents do not chain; each is an independent origin.</c>
      <c>SettlementReceipt</c>
      <c>SettlementReceipt</c>
      <c>No</c>
      <c>AlreadySettled; one settlement per intent.</c>
      <c>RefundClaim</c>
      <c>RefundClaim</c>
      <c>No</c>
      <c>AlreadyRefunded (default FSM; format may override for partial refunds).</c>
      <c>RefundClaim</c>
      <c>SettlementReceipt</c>
      <c>No</c>
      <c>Refunds are terminal; no re-settlement after reversal.</c>
      <c>DelegationGrant</c>
      <c>SettlementReceipt</c>
      <c>No</c>
      <c>Settlement requires an intervening PaymentIntent.</c>
      <c>DelegationGrant</c>
      <c>RefundClaim</c>
      <c>No</c>
      <c>Refund requires an intervening PaymentIntent and SettlementReceipt.</c>
</texttable>

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

<t>A receipt format claiming FSM compliance MUST:</t>

<t><list style="symbols">
  <t>Emit <spanx style="verb">original_payment_ref</spanx> (or an equivalently named field with documented mapping)
in every SettlementReceipt, set to the JCS Preimage Hash of the originating PaymentIntent.</t>
  <t>Emit <spanx style="verb">original_payment_ref</spanx> (or equivalent) in every RefundClaim, set to the JCS
Preimage Hash of the SettlementReceipt being reversed.</t>
  <t>Reject all forbidden transitions listed in <xref target="forbidden-transitions"/>.</t>
  <t>Maintain an anti-replay store sufficient to detect duplicate settlements and duplicate refunds.</t>
  <t>Enforce the default 30-day refund window or document an explicit alternative.</t>
  <t>Declare a <spanx style="verb">max_chain_length</spanx> for DelegationGrant chains; if not declared, the default
value of 1 applies.</t>
  <t>Enforce scope compliance for DelegationGrant-spawned PaymentIntents at settlement time.</t>
  <t>Declare its preimage schema version in each emitted claim to enable cross-format
interleaving detection.</t>
</list></t>

<t>A Verifier claiming FSM compliance MUST:</t>

<t><list style="symbols">
  <t>Apply the chain reconstruction algorithm (<xref target="chain-reconstruction"/>) before accepting
any SettlementReceipt or RefundClaim for audit purposes.</t>
  <t>Reject mixed-format chains unless schema compatibility is confirmed.</t>
  <t>Reject all transitions listed as forbidden in <xref target="transition-table"/>.</t>
  <t>Emit the error tokens defined in <xref target="forbidden-transitions"/> when rejecting illegal transitions.</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>

<section numbered="false" anchor="primary-maintainer"><name>Primary Maintainer</name>

<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>), and the reference implementations listed below. The Vauban Pay live demonstration 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>.</t>

</section>
<section numbered="false" anchor="reference-implementation-matrix"><name>Reference Implementation Matrix</name>

<t>The conformance vector suite maintains an 8-implementation reference matrix : Python (rfc8785@0.1.4 by Trail of Bits), JavaScript (canonicalize@3.0.0 by Erdtman and Rundgren), Go (gowebpki/jcs v1.0.1), Java (cyberphone/json-canonicalization RFC 8785 reference), Rust (serde_jcs 0.2.0 via vauban-x402-jcs-conformance), PHP/Ruby/C# (pure-stdlib reference runners). The first five are validated byte-for-byte ; the last three are published as reference runners pending CI execution. Detailed validation status is documented in <spanx style="verb">_attestations/2026-05-25-vauban-8-impl-extended.md</spanx> in the conformance vectors repository.</t>

<t>The published Vauban Pay packages across 3 ecosystems : <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> on crates.io ; <spanx style="verb">vauban-x402-stark-receipt@0.1.0</spanx> on PyPI ; <spanx style="verb">@vauban-pay/substrate@0.1.0</spanx> on npm.</t>

</section>
<section numbered="false" anchor="adoption-process"><name>Adoption Process</name>

<t>Implementers SHOULD notify the IETF 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 lifecycle FSM revision implemented, the canonicalisation discipline emitted, and the 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>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA8V963PbSJLnd/wVFfKHJWNFWpLlti1tz41atqe949dJcu91
TEyYIFAk0QIBLAqUxLU9f/vlqx54UHL3TNxFzLQpEihUZeXzl5mFyWQSNVmT
6xO1d3d8cKR+OVIf4+1aF416my10sk1yrV5nRdZoddnE8N93cbLKCr0XxfN5
rW/kxklur54szHovSuDSZVlvT1RWLMooLZMiXsNT0jpeNJObeDOPi0n/xsnB
YZRV9Ylq6o1pjg4OXhwcRXGt4xN1VlV5BsNmZWGi27K+XtblpjpRb4pUVxr+
A1O+3MzXmTFwSXStt3BRehKpicLn4L8/X119xH8rXiF+dE/HPxa8TkPrXPM6
8fvXl+/wnyQuygKmkGeGpoHf/ef5Jf5z8fpcPX/2/Cl+Fvq9KRp5xqVugML4
3YVOdFbRlxd6sSnS8zzO1vjnS53rJY36lzqG22AORfo5zssCiLbVJqoyWIpq
yoT/pI/luoqTxn5htutaL4z7s6yb8O/u1Zu5+6Yoo3jTrMoaqQW/KbXY5Dlv
2N4vtFcwX6PjOlnt0e9lvYyL7H9owruu0es4y+HHWr79M+/6tNH2ik2dwe+r
pqnMyePHsCvT1iVRUdZreMSNxqUDiY8OD1/Ix+eHz47tR6C7/fjiGC6IkOWC
O/8PstkvRyf0zBa3v82KzZ16XcJO0FKQ/f8LWCsrluovyF48zyaulxroZGe6
zJrVZj4F+j0mFl64AR4zq/Ejj548fTbw0Murs4u/KmEFo17dAZ8gy6qPdVmV
Js7/0EMfA99vtHmMD/UTOPqhPYHLFQhT2uNklWYmyUC+Cq1GVZ3dxMn2c5LH
xihgQ1XzXCdMVaXtjM34n5zq0Q9uqsdPOhv0E96k04lB4VbMn8JxysTrCi86
fD650UlT1iqpS2Mm9aZosrUGXmcOKBKU46bO7v7YRCsQg8c4Nbibtm1y8er8
1ZuPV5cP7SswFdHK7e7wBOBhML04udb1NNPNYgqC9RiU5eO+ngSNUF9PZCvM
YxrO6DrTBtmd56PUHqqdutDN5CWOsAeTe2ioycEByNpkMlHx3OBkmii6WmVG
wTw2ZAlSDZpRAy8oJ5GDulKNQFOOFZBedY2J17PwBCAIqfF92KgbWAJIW7OC
IctN7VnT3Uo6kh8EyqylXdUIZ5E5Ph7vRz1lq0ao53LNv4d6V43AfukaJA6+
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

-->

</rfc>

