<?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-vpsf-algebra-01" category="info" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="x402-vpsf-algebra">VPSF Claim Algebra for x402 Payment Receipts</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>receipt</keyword> <keyword>composability</keyword> <keyword>claim algebra</keyword> <keyword>VPSF</keyword> <keyword>zero-knowledge</keyword> <keyword>chain-agnostic</keyword> <keyword>JCS</keyword> <keyword>RFC 8785</keyword> <keyword>PaymentIntent</keyword> <keyword>SettlementReceipt</keyword> <keyword>RefundClaim</keyword> <keyword>DelegationGrant</keyword>

    <abstract>


<?line 72?>

<t>The x402 protocol (<xref target="X402-V2"/>) defines three wire messages for HTTP-native payment
flows but provides no composability model for payment receipts. A recipient holding a
SettlementReceipt and a DelegationGrant cannot natively express that the settlement
satisfies a delegated spending condition, or that a RefundClaim negates an earlier
SettlementReceipt, without bespoke facilitator-side logic. As automated payment
pipelines grow, the absence of a normative composability layer leads to fragmented,
non-interoperable verification surfaces.</t>

<t>This document specifies the Vauban Proof Stack Framework (VPSF) Claim Algebra for
x402 payment receipts: a grammar of five composition operators (Conjunction, Implication,
Aggregation, Selective Disclosure, Revocation; abbreviated ∧, →, ⊕, ▷, ¬) applied
over the four canonical Payment Claim types (PaymentIntent, SettlementReceipt,
RefundClaim, DelegationGrant) defined in <xref target="LIFECYCLE-FSM"/>. The algebra is
chain-agnostic by invariant; the Starknet-based proof system described in
<xref target="STARK-RECEIPTS"/> is the first reference implementation. Composability is grounded
in the JCS canonical preimage discipline (<xref target="RFC8785"/>), ensuring operator results are
deterministic and cross-implementation consistent. An open-source Rust implementation
is provided in <xref target="VAUBAN-CRATE"/>.</t>



    </abstract>



  </front>

  <middle>


<?line 93?>

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

<t>The x402 protocol (<xref target="X402-V2"/>) is an HTTP-native payment standard that enables
machine-to-machine and human-to-server payment flows using three protocol 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 companion specification
<xref target="LIFECYCLE-FSM"/> introduces four canonical Payment Claim types that map to the payment
lifecycle states, and <xref target="STARK-RECEIPTS"/> defines a cryptographic receipt extension
with offline-verifiable STARK proofs. Together these three documents describe what a
payment is and what happens to it over time; they do not describe how payment receipts
may be composed into higher-order conditions.</t>

<t>Automated payment pipelines present composition requirements that the base protocol
does not address. An agentic delegatee may be authorised to spend up to a bounded
amount only after a supervisory SettlementReceipt has been confirmed; a compliance
engine may require that a SettlementReceipt is valid and its originating DelegationGrant
is still in scope; a refund issuer may need to attest that the negated SettlementReceipt
and the replacement RefundClaim satisfy the same subject constraint. Expressing any
of these conditions today requires out-of-band logic that is neither portable nor
auditable across implementations.</t>

<t>This document defines the VPSF Claim Algebra: five composition operators over x402
Payment Claims. The algebra is chain-agnostic by invariant; the design does not
depend on any specific proof system, settlement layer, or on-chain infrastructure.
Starknet is the first reference implementation (see <xref target="STARK-RECEIPTS"/>), but the
operator semantics and preimage discipline are equally applicable to any receipt format
that satisfies the JCS canonical preimage rules defined in <xref target="LIFECYCLE-FSM"/>. The
algebra is formalised as part of the Vauban Proof Stack Framework (VPSF), an
open-specification claim grammar that targets institutional-grade composability across
payment, compliance, and identity contexts.</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 working with x402 receipt composability.</t>

</section>
<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 anchor="terminology"><name>Terminology</name>

<dl>
  <dt>Claim:</dt>
  <dd>
    <t>A cryptographically bound, structured statement about a payment event or authority.
In this document, a Claim is always an instance of one of the four Payment Claim
types defined in <xref target="LIFECYCLE-FSM"/>: PaymentIntent, SettlementReceipt, RefundClaim,
or DelegationGrant. The term is used interchangeably with "Payment Claim".</t>
  </dd>
  <dt>Subject:</dt>
  <dd>
    <t>The identity field that anchors a Claim to a specific principal. For PaymentIntent
and SettlementReceipt, the subject is the payer address or pseudonym. For
DelegationGrant, the subject is the delegator. For RefundClaim, the subject is
the merchant. Two Claims have the same subject when their subject fields are
byte-identical after NFC normalization.</t>
  </dd>
  <dt>Claim Composition:</dt>
  <dd>
    <t>The application of one of the five VPSF algebra operators to two or more Claims,
producing a composite Claim or a composite verification outcome. Composition does
not alter the component Claims; it creates a new logical statement over them.</t>
  </dd>
  <dt>JCS Preimage Hash:</dt>
  <dd>
    <t>As defined in <xref target="LIFECYCLE-FSM"/>: the SHA-256 digest of the UTF-8 encoding of the
JCS canonical form (<xref target="RFC8785"/>) of a Claim's canonical preimage object, encoded
as <spanx style="verb">"sha256:&lt;lowercase-hex-64-chars&gt;"</spanx> in JSON contexts.</t>
  </dd>
  <dt>Composite Preimage:</dt>
  <dd>
    <t>The JCS canonical preimage object of a composed Claim. For binary operators
(Conjunction, Implication, Aggregation, Revocation), the composite preimage contains
the JCS Preimage Hashes of the component Claims and the operator identifier. For
selective disclosure (▷), the composite preimage contains the disclosed fields
and the preimage hash of the undisclosed source Claim.</t>
  </dd>
  <dt>Operator:</dt>
  <dd>
    <t>One of the five composition operators defined in this document: Conjunction (∧),
Implication (→), Aggregation (⊕), Selective Disclosure (▷), Revocation (¬).</t>
  </dd>
  <dt>Chain-Agnostic Invariant:</dt>
  <dd>
    <t>The property that the VPSF Claim Algebra operators and the JCS preimage discipline
do not depend on any specific blockchain, proof system, or settlement layer. Any
receipt format that implements the canonical preimage discipline defined in
<xref target="LIFECYCLE-FSM"/> can serve as the substrate for VPSF composition.</t>
  </dd>
  <dt>Reference Implementation:</dt>
  <dd>
    <t>An open-source implementation whose behaviour is normative for resolving
specification ambiguities. The Rust crate <xref target="VAUBAN-CRATE"/> is the reference
implementation for this document. Its Starknet adapter uses the Stwo Circle STARK
prover (<xref target="STWO"/>) as the proof backend; this is the first reference implementation
of the chain-agnostic algebra on a specific settlement layer, and is not part of
the algebra specification itself.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="vpsf-overview"><name>VPSF Overview</name>

<section anchor="grammar-layer"><name>Grammar Layer</name>

<t>The Vauban Proof Stack Framework (VPSF) is a claim-algebraic grammar layer designed
to sit above receipt-format and settlement-layer specifics. It provides a composable
vocabulary for expressing higher-order conditions over Payment Claims without encoding
those conditions in facilitator-specific logic or on-chain contract state.</t>

<t>The grammar operates on a six-tuple structure for each Claim: (subject, predicate,
object, proof, context, metadata). In the x402 setting, these fields map as follows:</t>

<t><list style="symbols">
  <t>subject: the principal whose payment or authority the Claim describes.</t>
  <t>predicate: the lifecycle state (PaymentIntent, SettlementReceipt, RefundClaim,
DelegationGrant) or a derived predicate produced by composition.</t>
  <t>object: the payment target (payee, amount, currency) or authority scope.</t>
  <t>proof: the cryptographic evidence that the Claim holds (a STARK proof, a
signature, or a composite preimage hash over component proofs).</t>
  <t>context: the temporal and scope constraints under which the Claim is valid
(expiry window, nullifier, chain identifier of the reference implementation).</t>
  <t>metadata: operational fields (schema version, issuer, audit reference).</t>
</list></t>

<t>The six-tuple is the abstract schema; concrete instances are the four Payment Claim
types defined in <xref target="LIFECYCLE-FSM"/>. The operators defined in this document are applied
at the grammar layer; they are neutral with respect to the proof field, provided the
proof field satisfies the JCS canonical preimage discipline defined in <xref target="LIFECYCLE-FSM"/>.</t>

</section>
<section anchor="claim-types"><name>Four Payment Claim Types</name>

<t>The four Payment Claim types that serve as the atomic units of VPSF composition
in the x402 context are:</t>

<dl>
  <dt>PaymentIntent:</dt>
  <dd>
    <t>The initiating state. Records the payer's commitment to transfer a specified
amount in a specified currency to a specified payee. Subject: payer.</t>
  </dd>
  <dt>SettlementReceipt:</dt>
  <dd>
    <t>The terminal successful state. Records that all payment conditions were verified
and the transfer was settled. Subject: payer. Carries a cryptographic linkage
to the originating PaymentIntent via its JCS Preimage Hash.</t>
  </dd>
  <dt>RefundClaim:</dt>
  <dd>
    <t>The reversal state. Records a merchant-initiated cancellation of a prior
SettlementReceipt. Subject: merchant (issuer of the refund). Carries a
cryptographic linkage to the SettlementReceipt being reversed.</t>
  </dd>
  <dt>DelegationGrant:</dt>
  <dd>
    <t>The bounded-authority side channel. Records that a principal (delegator) has
authorised an agent (delegatee) to spawn PaymentIntents within a scoped
constraint set. Subject: delegator.</t>
  </dd>
</dl>

<t>The normative definitions of these types, including required fields, JCS preimage
rules, and lifecycle transitions, are in <xref target="LIFECYCLE-FSM"/>. This document uses them
as atoms for composition; it does not modify their definitions.</t>

</section>
<section anchor="chain-agnostic-rule"><name>Chain-Agnostic Rule</name>

<t>The VPSF Claim Algebra MUST NOT be bound to any specific chain, proof system,
or settlement layer. Implementations that restrict operator semantics to a single
proof system MUST document that restriction as an implementation constraint, not
as a normative constraint of the algebra.</t>

<t>The chain-agnostic invariant has two corollaries:</t>

<t><list style="numbers" type="1">
  <t>An operator applied to two Claims whose proofs use different proof systems
(for example, a STARK-proven SettlementReceipt composed under Conjunction
with an ES256K-signed DelegationGrant) produces a well-formed composite Claim.
The composite proof field contains the JCS Preimage Hashes of the component
Claims; it does not require proof-system unification.</t>
  <t>A composite Claim produced under the VPSF algebra is portable across settlement
layers. A verifier on one chain MAY verify the composite preimage discipline
without access to the proof artifacts of the component Claims on another chain,
provided the component Claims' JCS Preimage Hashes are included in the composite
preimage.</t>
</list></t>

</section>
</section>
<section anchor="operators"><name>Five Composition Operators</name>

<section anchor="op-conjunction"><name>Conjunction (∧)</name>

<section anchor="conj-semantic"><name>Semantic</name>

<t>The Conjunction operator (∧) produces a composite Claim that is valid if and only
if both component Claims are individually valid. This corresponds to the logical
AND of two payment conditions.</t>

<t>Typical use: a compliance engine requires BOTH that a SettlementReceipt is verified
AND that the originating DelegationGrant is still in scope and non-expired. Neither
condition alone is sufficient; both must hold simultaneously.</t>

</section>
<section anchor="conj-algebraic"><name>Algebraic Properties</name>

<t><list style="symbols">
  <t>Commutativity: (A ∧ B) and (B ∧ A) produce composites with the same validity
outcome, but DIFFERENT JCS Preimage Hashes (key ordering is lexicographic and
the field names encode left-right position). Implementations MUST NOT treat
these as the same composite.</t>
  <t>Associativity: ((A ∧ B) ∧ C) produces a valid composite if and only if each
of A, B, C is individually valid. The associativity holds at the validity
level; the preimage hashes differ across groupings.</t>
  <t>Identity element: there is no identity claim for Conjunction; the operator
requires exactly two non-null operands.</t>
</list></t>

</section>
<section anchor="conj-preimage"><name>JCS Preimage Rule</name>

<t>The composite preimage object for A ∧ B is:</t>

<figure><sourcecode type="text"><![CDATA[
{
  "operator": "conjunction",
  "left":  "<JCS Preimage Hash of A>",
  "right": "<JCS Preimage Hash of B>",
  "issued_at": <integer Unix timestamp>
}
]]></sourcecode></figure>

<t>Keys are sorted lexicographically per <xref target="RFC8785"/>. The composite JCS Preimage Hash
is <spanx style="verb">SHA-256(UTF-8(JCS(composite_preimage)))</spanx>. The <spanx style="verb">issued_at</spanx> field MUST reflect the
time at which the composition was performed; it binds the composite to a specific
evaluation instant, preventing replay of stale compositions after component Claim
expiry.</t>

<t>A verifier validating a Conjunction composite MUST:</t>

<t><list style="numbers" type="1">
  <t>Resolve the JCS Preimage Hash for each component Claim against retained manifests.</t>
  <t>Verify that each resolved Claim is individually valid (signature or proof check,
expiry check, FSM state check per <xref target="LIFECYCLE-FSM"/>).</t>
  <t>Verify that the composite preimage object is well-formed and that its hashes
match the resolved component Claims.</t>
</list></t>

<t>If any check fails, the composite MUST be rejected.</t>

</section>
</section>
<section anchor="op-implication"><name>Implication (→)</name>

<section anchor="impl-semantic"><name>Semantic</name>

<t>The Implication operator (→) produces a composite Claim asserting that the valid
presence of an antecedent Claim is a precondition for the consequent Claim to be
considered authoritative. This corresponds to conditional authority: Claim B is
asserted only because Claim A holds.</t>

<t>Typical use: a DelegationGrant (A) implies that a PaymentIntent (B) was spawned
under valid authority. The Implication composite expresses the dependency without
merging the two Claims into a single object; each retains its individual verifiability.</t>

</section>
<section anchor="impl-algebraic"><name>Algebraic Properties</name>

<t><list style="symbols">
  <t>Non-commutative: (A → B) is not equivalent to (B → A). The antecedent and
consequent positions are semantically distinct.</t>
  <t>Vacuous truth is FORBIDDEN: an Implication composite where the antecedent Claim
is invalid or absent MUST be rejected. Implementations MUST NOT interpret
"if A is absent then B holds unconditionally".</t>
  <t>Transitivity: (A → B) and (B → C) can be chained to express (A → B → C), but
MUST be expressed as two distinct Implication composites, not collapsed into a
single three-operand composite.</t>
</list></t>

</section>
<section anchor="impl-preimage"><name>JCS Preimage Rule</name>

<t>The composite preimage object for A → B is:</t>

<figure><sourcecode type="text"><![CDATA[
{
  "operator": "implication",
  "antecedent": "<JCS Preimage Hash of A>",
  "consequent": "<JCS Preimage Hash of B>",
  "issued_at": <integer Unix timestamp>
}
]]></sourcecode></figure>

<t>A verifier validating an Implication composite MUST:</t>

<t><list style="numbers" type="1">
  <t>Resolve and verify the antecedent Claim (A). If A is invalid, reject the
composite without evaluating B.</t>
  <t>Resolve and verify the consequent Claim (B).</t>
  <t>Verify the composite preimage well-formedness.</t>
</list></t>

<t>The Implication composite does not replace the antecedent's own validity period;
if the DelegationGrant (A) has expired, the Implication is invalid even if the
PaymentIntent (B) was spawned before expiry.</t>

</section>
</section>
<section anchor="op-aggregation"><name>Aggregation (⊕)</name>

<section anchor="agg-semantic"><name>Semantic</name>

<t>The Aggregation operator (⊕) combines multiple Claims of the same type into a
summary Claim whose total satisfies a threshold condition. This corresponds to
the sum-over-intents pattern needed for multi-payment settlement verification.</t>

<t>Typical use: an agentic pipeline spawns three PaymentIntents under a DelegationGrant
scoped to a maximum total of 500 USDC. The Aggregation composite over the three
PaymentIntents allows a supervisor to verify that the total does not exceed the
grant's budget, without examining each PaymentIntent independently against the
grant's scope field.</t>

</section>
<section anchor="agg-algebraic"><name>Algebraic Properties</name>

<t><list style="symbols">
  <t>Commutative: (A ⊕ B) and (B ⊕ A) have the same validity outcome (same total).
The composite preimage hashes DIFFER (field ordering); implementations MUST NOT
treat them as equivalent.</t>
  <t>Associative at the value level: ((A ⊕ B) ⊕ C) and (A ⊕ (B ⊕ C)) produce the
same total amount, but different composite preimage hashes. Verifiers MUST
validate the preimage structure as presented; they MUST NOT regroup operands.</t>
  <t>Homogeneity requirement: all operand Claims MUST be of the same Payment Claim
type and MUST use the same currency field. Aggregating Claims with different
currencies MUST be rejected with a type-mismatch error.</t>
  <t>Subject alignment: all operand Claims SHOULD share the same subject. An
implementation MAY enforce strict subject equality or MAY permit multi-subject
aggregation with explicit disclosure of the distinct subjects in the composite
preimage. See <xref target="same-subject-discipline"/> for the default discipline.</t>
</list></t>

</section>
<section anchor="agg-preimage"><name>JCS Preimage Rule</name>

<t>The composite preimage object for A ⊕ B ⊕ ... ⊕ N is:</t>

<figure><sourcecode type="text"><![CDATA[
{
  "operator": "aggregation",
  "operands": [
    "<JCS Preimage Hash of A>",
    "<JCS Preimage Hash of B>",
    "<JCS Preimage Hash of N>"
  ],
  "currency": "<shared currency token>",
  "total_amount": <sum of operand amounts as integer>,
  "operand_count": <integer>,
  "issued_at": <integer Unix timestamp>
}
]]></sourcecode></figure>

<t>The <spanx style="verb">operands</spanx> array MUST be sorted lexicographically by the JCS Preimage Hash
values before serialisation. This ensures a canonical ordering regardless of the
order in which component Claims were produced. The <spanx style="verb">total_amount</spanx> MUST equal the
arithmetic sum of the <spanx style="verb">amount</spanx> fields of all operand Claims; a verifier MUST
recompute this sum and reject the composite if it disagrees.</t>

</section>
</section>
<section anchor="op-selective-disclosure"><name>Selective Disclosure (▷)</name>

<section anchor="sd-semantic"><name>Semantic</name>

<t>The Selective Disclosure operator (▷) produces a derived Claim in which a subset
of the source Claim's fields are disclosed while the remainder are withheld. The
composite carries a cryptographic commitment to the undisclosed fields, allowing
a verifier to confirm that the disclosed fields are authentic fragments of the
source Claim without learning the withheld values.</t>

<t>Typical use: a payer discloses the <spanx style="verb">amount</spanx> and <spanx style="verb">currency</spanx> fields of a PaymentIntent
to a compliance auditor without disclosing the <spanx style="verb">payer</spanx> pseudonym or the <spanx style="verb">nonce</spanx>.
The auditor can verify that the disclosed fields are genuine without learning the
payer's identity.</t>

</section>
<section anchor="sd-algebraic"><name>Algebraic Properties</name>

<t><list style="symbols">
  <t>Non-invertible: a selective disclosure composite cannot be used to reconstruct
the undisclosed fields. The commitment in the composite preimage is a one-way
function of the withheld fields.</t>
  <t>Composable: a selective disclosure composite can itself be the operand of a
Conjunction or Implication. A verifier receiving a Conjunction of two selective
disclosure composites validates each independently.</t>
  <t>Minimality: implementations SHOULD disclose the minimum set of fields required
for the verifier's purpose. Disclosing more fields than necessary weakens the
privacy guarantee without improving composability.</t>
</list></t>

</section>
<section anchor="sd-preimage"><name>JCS Preimage Rule</name>

<t>The composite preimage object for (A ▷ {f1, f2, ...}) is:</t>

<figure><sourcecode type="text"><![CDATA[
{
  "operator": "selective_disclosure",
  "source_hash": "<JCS Preimage Hash of source Claim A>",
  "disclosed_fields": {
    "<field_name_1>": <value_1>,
    "<field_name_2>": <value_2>
  },
  "withheld_commitment": "<sha256-hex-of-withheld-jcs>",
  "issued_at": <integer Unix timestamp>
}
]]></sourcecode></figure>

<t>The <spanx style="verb">disclosed_fields</spanx> object MUST contain only fields that appear in the source
Claim's canonical preimage. The <spanx style="verb">withheld_commitment</spanx> MUST be derived by applying
JCS canonicalization to a JSON object containing only the withheld fields (those
present in the source Claim canonical preimage but absent from <spanx style="verb">disclosed_fields</spanx>),
then taking the SHA-256 of the UTF-8 encoding of the result.</t>

<t>A verifier validating a selective disclosure composite MUST:</t>

<t><list style="numbers" type="1">
  <t>Resolve the source Claim by its <spanx style="verb">source_hash</spanx>.</t>
  <t>Recompute the <spanx style="verb">withheld_commitment</spanx> from the source Claim's canonical preimage
minus the disclosed fields.</t>
  <t>Verify that the recomputed commitment equals the <spanx style="verb">withheld_commitment</spanx> in the
composite.</t>
  <t>Apply any validity checks (expiry, proof) to the disclosed fields.</t>
</list></t>

<t>If any check fails, the composite MUST be rejected. A verifier that cannot resolve
the source Claim by its <spanx style="verb">source_hash</spanx> MUST treat the composite as unverifiable and
MUST NOT accept it.</t>

</section>
</section>
<section anchor="op-revocation"><name>Revocation (¬)</name>

<section anchor="rev-semantic"><name>Semantic</name>

<t>The Revocation operator (¬) produces a composite Claim asserting that a source
Claim is no longer valid. This operator is the algebraic counterpart of the
RefundClaim lifecycle transition: whereas the FSM records that a SettlementReceipt
has been reversed, the Revocation operator expresses the negation at the grammar
layer, making it composable with other operators.</t>

<t>Typical use: a compliance engine produces a Revocation composite over a
DelegationGrant that has been administratively withdrawn, and then presents a
Conjunction of the Revocation composite and a new DelegationGrant to attest
that the old authority has been replaced by the new one.</t>

</section>
<section anchor="rev-algebraic"><name>Algebraic Properties</name>

<t><list style="symbols">
  <t>Non-idempotent: applying Revocation twice (¬(¬A)) does NOT restore A to validity.
A doubly-revoked Claim is invalid. Implementations MUST NOT interpret a
Revocation of a Revocation as a restoration.</t>
  <t>Non-composable with itself: a Revocation composite MUST NOT be used as the
operand of another Revocation. Implementations MUST reject such nesting.</t>
  <t>Interaction with Implication: if the antecedent of an Implication is revoked,
the Implication composite becomes invalid. Verifiers MUST check for Revocation
of each component Claim before accepting a composite that depends on it.</t>
</list></t>

</section>
<section anchor="rev-preimage"><name>JCS Preimage Rule</name>

<t>The composite preimage object for ¬A is:</t>

<figure><sourcecode type="text"><![CDATA[
{
  "operator": "revocation",
  "target_hash": "<JCS Preimage Hash of source Claim A>",
  "reason": "<human-readable or machine-readable reason string>",
  "revoked_at": <integer Unix timestamp>,
  "issued_at": <integer Unix timestamp>
}
]]></sourcecode></figure>

<t>The <spanx style="verb">revoked_at</spanx> MUST be less than or equal to <spanx style="verb">issued_at</spanx>. A Revocation composite
whose <spanx style="verb">revoked_at</spanx> is in the future MUST be rejected.</t>

<t>A verifier checking whether a Claim is revoked MUST query a revocation registry or
the retained manifest store for any Revocation composite whose <spanx style="verb">target_hash</spanx> matches
the Claim's JCS Preimage Hash. If such a composite exists and is itself valid
(well-formed preimage, issued by an authorised revoker), the source Claim MUST be
treated as invalid regardless of its own expiry or proof validity.</t>

<t>The identity of the authorised revoker is out of scope for this document; receipt
formats and deployments MUST specify the revoker identity and authority chain in
their operational documentation.</t>

</section>
</section>
</section>
<section anchor="same-subject-discipline"><name>Same-Subject Preimage Discipline</name>

<section anchor="same-subject-invariant"><name>Generic Invariant</name>

<t>The VPSF Claim Algebra imposes a subject alignment requirement on binary operators
(Conjunction, Implication, Revocation) by default: the two operand Claims MUST
share the same subject value (as defined in <xref target="terminology"/>) unless the operator
invocation explicitly declares a subject override.</t>

<t>The rationale for this default is that composing Claims from different principals
without explicit subject disclosure creates composites whose validity surface is
larger than intended. A Conjunction of a SettlementReceipt from principal A with a
DelegationGrant from principal B is semantically ambiguous unless the composite
explicitly binds the two subjects.</t>

</section>
<section anchor="subject-enforcement-modes"><name>Strict vs Relaxed Enforcement</name>

<t>Implementations MAY enforce subject alignment in one of two modes:</t>

<dl>
  <dt>Strict mode:</dt>
  <dd>
    <t>The implementation MUST reject any operator invocation where the operand Claims
do not share the same subject value. No subject override is permitted. This is
the RECOMMENDED mode for compliance-critical deployments.</t>
  </dd>
  <dt>Relaxed mode:</dt>
  <dd>
    <t>The implementation MAY accept operator invocations over Claims with different
subject values, provided the composite preimage includes a <spanx style="verb">subject_disclosure</spanx>
field that explicitly lists all distinct subjects present in the composition:</t>
  </dd>
</dl>

<figure><sourcecode type="text"><![CDATA[
{
  "operator": "conjunction",
  "left": "<JCS Preimage Hash of A>",
  "right": "<JCS Preimage Hash of B>",
  "subject_disclosure": {
    "left_subject": "<subject of A>",
    "right_subject": "<subject of B>"
  },
  "issued_at": <integer Unix timestamp>
}
]]></sourcecode></figure>

<t>A verifier receiving a composite with <spanx style="verb">subject_disclosure</spanx> MUST verify that the
  declared subjects match the resolved operand Claims. A composite that omits
  <spanx style="verb">subject_disclosure</spanx> when the operand subjects differ MUST be rejected in both
  strict and relaxed mode.</t>

</section>
<section anchor="agg-subject-handling"><name>Aggregation Subject Handling</name>

<t>For Aggregation (⊕), a homogeneous multi-principal aggregate (where all operands
share the same subject) omits <spanx style="verb">subject_disclosure</spanx>. A heterogeneous aggregate
(operands from different principals) MUST include a <spanx style="verb">subjects</spanx> array in the
composite preimage:</t>

<figure><sourcecode type="text"><![CDATA[
{
  "operator": "aggregation",
  "operands": ["<hash1>", "<hash2>"],
  "currency": "USDC",
  "total_amount": 500,
  "operand_count": 2,
  "subjects": ["<subject of hash1>", "<subject of hash2>"],
  "issued_at": <integer Unix timestamp>
}
]]></sourcecode></figure>

<t>The <spanx style="verb">subjects</spanx> array MUST be ordered to match the <spanx style="verb">operands</spanx> array. Implementors
are RECOMMENDED to avoid heterogeneous aggregation when a strict compliance context
requires single-principal attestation.</t>

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

<section anchor="compat-fsm"><name>Relationship to Lifecycle FSM</name>

<t>The VPSF Claim Algebra operates at a layer above the Lifecycle FSM defined in
<xref target="LIFECYCLE-FSM"/>. The FSM defines how Payment Claims transition between states;
the algebra defines how Claims in any state may be composed into higher-order
conditions. The two specifications are complementary and MUST NOT be conflated.</t>

<t>Specifically:</t>

<t><list style="symbols">
  <t>The Revocation operator (¬) at the algebra layer and the RefundClaim lifecycle
state at the FSM layer address different concerns. RefundClaim is a first-class
lifecycle transition that produces a new Payment Claim recorded by the facilitator.
Revocation is a grammar-layer assertion that an existing Claim is no longer
authoritative, without necessarily producing a new FSM state. Implementations
that map RefundClaims to Revocation composites MUST document the mapping
explicitly.</t>
  <t>The Implication operator (→) and the FSM bounded-authority transition from
DelegationGrant to PaymentIntent are related but distinct. The FSM transition
records that a PaymentIntent was spawned under a DelegationGrant; the Implication
composite expresses this relationship as a verifiable grammar statement. Both
SHOULD be present in a conformant implementation for full auditability.</t>
</list></t>

<t>Any receipt format that implements the JCS canonical preimage discipline defined in
<xref target="LIFECYCLE-FSM"/> is eligible to serve as the substrate for VPSF composition. The
algebra does not impose additional requirements on the proof field of component
Claims beyond those of the FSM.</t>

</section>
<section anchor="compat-stark"><name>Relationship to STARK Receipt Format</name>

<t>The x402 STARK Receipt Format Extension <xref target="STARK-RECEIPTS"/> is the first reference
implementation of VPSF composition on a specific settlement layer (Starknet, using
the Stwo Circle STARK prover <xref target="STWO"/>). The chain-agnostic invariant (see
<xref target="chain-agnostic-rule"/>) ensures that the operator semantics in this document are
not specific to that implementation.</t>

<t>Implementations based on <xref target="STARK-RECEIPTS"/> MAY use STARK proofs as the proof field
in composite Claims. In this case, the composite preimage hash and the STARK proof
over it constitute a doubly-grounded composite: the preimage discipline provides
chain-agnostic portability; the STARK proof provides post-quantum soundness. Neither
property is required by this document for conformance; both are OPTIONAL enhancements.
Conformance vectors for the reference Starknet adapter are published in
<xref target="VAUBAN-STARK-GIST"/>.</t>

</section>
<section anchor="operator-precedence"><name>Operator Precedence</name>

<t>When multiple operators are applied in a single expression, implementations MUST
respect the following precedence order (highest to lowest):</t>

<t><list style="numbers" type="1">
  <t>Selective Disclosure (▷): applied innermost; modifies a single Claim before
it is used as an operand.</t>
  <t>Revocation (¬): applied next; marks a Claim as revoked before composition.</t>
  <t>Conjunction (∧): evaluated before Implication.</t>
  <t>Aggregation (⊕): evaluated before Implication.</t>
  <t>Implication (→): evaluated last; the antecedent is always a fully composed
expression.</t>
</list></t>

<t>Implementations MAY override this order by using explicit parenthesisation in
their serialised composite preimage structure. A composite preimage that encodes
an Implication as an operand of a Conjunction is unambiguous regardless of default
precedence.</t>

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

<section anchor="sec-preimage"><name>Preimage Collision and Second-Preimage Resistance</name>

<t>The JCS Preimage Hash is computed as SHA-256 over the UTF-8 encoding of the JCS
canonical form of the composite preimage object. The security of the composition
chain depends on the second-preimage resistance of SHA-256. An adversary who can
construct a different composite preimage object with the same hash could substitute
a fraudulent composite for a genuine one.</t>

<t>Mitigation: SHA-256 provides 128-bit second-preimage resistance, which is considered
adequate for payment receipt composability as of 2026. Implementations operating in
environments where higher resistance is required (for example, post-quantum threat
models) SHOULD use SHA-3-256 or SHAKE-256 as an alternative hash function, and
MUST document the substitution in the composite preimage with an explicit <spanx style="verb">hash_alg</spanx>
field.</t>

</section>
<section anchor="sec-subject-confusion"><name>Subject Confusion Attacks</name>

<t>A subject confusion attack occurs when an adversary presents a composite Claim
whose operands belong to different principals, without declaring the subject split
via <spanx style="verb">subject_disclosure</spanx>. The verifier, not detecting the mismatch, treats the
composite as a single-principal attestation.</t>

<t>Mitigation: the subject alignment requirement in <xref target="same-subject-discipline"/> is
the primary defence. Verifiers MUST implement subject field resolution and comparison
for all binary operators. Deployments in strict compliance contexts SHOULD use strict
mode to prevent relaxed-mode abuse.</t>

</section>
<section anchor="sec-replay"><name>Replay of Composite Preimages</name>

<t>A composite preimage hash is deterministic: the same set of component Claims, the
same operator, and the same <spanx style="verb">issued_at</spanx> timestamp always produce the same composite
hash. An adversary who obtains a valid composite preimage hash for an expired Claim
can replay it if the verifier does not check expiry on the component Claims.</t>

<t>Mitigation: verifiers MUST resolve and validate each component Claim individually,
including expiry checks, before accepting a composite. The <spanx style="verb">issued_at</spanx> field in
the composite preimage binds the composition to a specific instant; verifiers MAY
impose a maximum age on composite preimages (RECOMMENDED: 30 seconds for
real-time payment flows, 30 days for audit-trail composites).</t>

</section>
<section anchor="sec-revocation-race"><name>Revocation Race Conditions</name>

<t>Between the instant a Revocation composite is issued and the instant it propagates
to all verifiers, the revoked Claim may be accepted by a verifier that has not yet
received the Revocation. This window creates a race condition exploitable by an
adversary who obtains a revoked DelegationGrant and uses it to spawn PaymentIntents
before the Revocation propagates.</t>

<t>Mitigation: implementations SHOULD use a revocation registry with a propagation
SLA shorter than the minimum payment processing time in the deployment. For
high-frequency payment pipelines, the RECOMMENDED approach is to embed a revocation
epoch counter in each DelegationGrant and require that PaymentIntents spawned under
the grant carry a reference to the epoch at which the grant was last confirmed valid.
Facilitators MUST reject PaymentIntents referencing an epoch older than the current
revocation epoch.</t>

</section>
<section anchor="sec-linkability"><name>Selective Disclosure Linkability</name>

<t>When selective disclosure composites are produced from the same source Claim but
with different field subsets, the <spanx style="verb">source_hash</spanx> field in each composite is identical.
An observer holding two selective disclosure composites for the same source Claim
can determine that they derive from the same Claim, even without knowing the withheld
fields.</t>

<t>Mitigation: implementations for which source Claim linkability is a privacy concern
SHOULD use a claim-level nullifier or blinding factor derived from the source Claim's
canonical preimage. The blinding scheme is out of scope for this document; receipt
formats implementing unlinkable selective disclosure MUST document their mechanism.</t>

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

<t>This document has no IANA actions. The composition operators defined in this document
are identified by string tokens within the VPSF composite preimage schema and do not
require IANA registration. Extensions that introduce additional operators SHOULD
publish an Internet-Draft registering the new operator tokens in a to-be-defined
VPSF Operator Registry; this document does not create that registry.</t>

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

<t>The VPSF Claim Algebra specification builds on discussions within the x402 Linux
Foundation working group. The composition requirements addressed in this document
emerged from coalition activity on the x402 STARK Receipts Extension Proposal
(<xref target="X402-2357"/>). The authors thank the participants in the x402 coalition for the
shared canonicalisation discipline (<xref target="RFC8785"/>-based JCS preimage alignment) that
makes the algebra's preimage rules portable across implementations.</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 VPSF Claim Algebra 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 five algebraic operators (conjunction, implication, aggregation, selective disclosure, revocation) are exercised across the published conformance vector suite.</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 VPSF operators implemented, the same-subject invariant enforcement strategy, 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>


  </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="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-01"/>
</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</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-vauban-x402-lifecycle-fsm-00"/>
</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>


    </references>

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

<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="VAUBAN-STARK-GIST" target="https://github.com/vauban-org/x402-stark-receipts-conformance">
  <front>
    <title>Vauban STARK receipt conformance vectors (public)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="VAUBAN-CRATE" target="https://github.com/vauban-org/vauban-zkpay">
  <front>
    <title>vauban-x402-canonical: reference Rust implementation of VPSF Claim Algebra for x402</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>


    </references>

</references>


<?line 781?>

<section anchor="references"><name>References</name>

<section anchor="normative-references"><name>Normative References</name>

<t>(Normative references are listed in the document header.)</t>

</section>
<section anchor="informative-references"><name>Informative References</name>

<t>(Informative references are listed in the document header.)</t>

</section>
</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA619W3Mcx5Hue/+KCvBBQMT0kIREWQv6KAyCpESbInkASD6O
EyeInpkaoMWe7nF3D8Axg350bPjREfZf2Jd99/v+FP+Sk19m1qUvA5DajVCI
g5nu6qqsvHx5qew0TZM2bwt7ZPZ+enP23JwUWb4yx8WlndWZWVa1ef/Vg0Pz
JtuubNmaUzu3+bpt9pJsNqvtNd2G39PrdbNMM7lrL5lnrb2s6u2RyctllSyq
eZmt6BGLOlu26XW2mWVlOrgvffAwydf1kWnrTdMePnjwbw8Ok6y22ZE5Xq+L
nEbNq7JJbqr63WVdbdZH5kW5sGtL/6OpnW1mq7xp6JLknd3SRYujxKQ8ffz7
/fn5G/y7lpXgYy2Lwcd5tVpXTTbLi7zd8hdMB50ZvgB18O+fbF2l78rqprCL
S8uXXmV5mWaXZdW0+Rzf/PbkDP+cPj8x3/zqm0f4rAR8Ubb68DPbEtnx3WmY
xqldbsoF7wH+fGoLe8mr/q7O6LamzcrF26yoSiLm1jbJOqc1mraay5/8kVaS
zVv3RbNd1XbZ+D+ruo3/7l+9mflvyirJNu1VVYOM9Jsxy01RyEbu/cR7SPNt
bFbPr/b496q+zMr8TzzhXdfYVZYX9GOt3/5GuGHaWnfFps7p96u2XTdH9+/T
dk07lyRlVa/oEdcWSycSHz58+G/68ZuHv/rKfSS64+PZ+fHp79LTZyfPXrw5
PzviJziGZ87mCxxfm+c8uHn2nrYJrCRTarP60hJJ3KQWWZu1dTZ/Z+tpbtvl
lFZ+n7j8/pDBacvqd6lyWnOfh2tsndsGoiHzMWYPfFGXtk2fYoQ9mtxdQ5G0
YHIvXzx/dvKHk5fP0udnP4ws76cguy/zpZ1v54U1z/Myb605o1VY80M2v8pL
+99eaeGGT5fN6r+10M5I6YMHmNr/wQ8/HY6s8GVebt7TxpHgMOdhyb8nFZGX
l+Y7qInxlV3m7dVmNiV2v88PXfoB+O8kwbQjTuMJHH756Fd38VATuMe8qSuo
leIXTeE+abONbe7joXT/T8c/Pjl+lQpDf/fi7Lw7EZU2mYoyCYm3LKKcW3Nt
521VN2Z/vZmRMj24c066JdjxMf6Lxg6zOzk9Pn/WnVi8s/OsrEpS5KQBSAvZ
2mJip6TtTb5aizaUPayW5hZz9DlT149/ekeahPXB719353fW3lTmJK8hGEI9
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
TA+kN7MDFP2n5eGH3vPiWz7zif8fBznQXG2TAAA=

-->

</rfc>

