<?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-delegation-binding-01" category="info" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="x402-delegation-binding">x402 Delegation Binding for Agentic HTTP Pipelines</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>delegation</keyword> <keyword>agent identity</keyword> <keyword>bounded authority</keyword> <keyword>agentic AI</keyword> <keyword>A2A</keyword> <keyword>MCP</keyword> <keyword>composable trust</keyword> <keyword>JCS</keyword> <keyword>RFC 8785</keyword>

    <abstract>


<?line 73?>

<t>Agent-to-agent HTTP payment pipelines built on x402 V2 require a mechanism to bind
a DelegationGrant receipt to the identity of the delegatee agent that will consume it.
Existing x402 DelegationGrant fields (as defined in <xref target="LIFECYCLE-FSM"/>) constrain spend
scope and expiry but do not cryptographically bind the grant to an agent identity token
recognised by A2A or MCP agent protocol layers. Without this binding, a grant issued
to one agent can be replayed by another agent with different authority bounds, enabling
undetected privilege escalation in automated payment pipelines.</t>

<t>This document defines a delegation binding extension for x402 V2 DelegationGrant receipts.
The extension introduces a <spanx style="verb">delegate_pseudonym</spanx> field derived from the agent's identity
via the JCS canonical preimage discipline (<xref target="RFC8785"/>), a structured set of spend-cap
and scope fields, and a <spanx style="verb">delegation_nonce</spanx> that enables nullifier consumption on revocation.
The binding is cross-validated against 18 bounded-spend vectors in five language runtimes
(<xref target="X402-2432"/>). Integration notes are provided for A2A Composable Trust Evidence Format
(<xref target="A2A-CTEF"/>) and MCP agent protocol surfaces (<xref target="VAUBAN-DEMO"/>). This document is the
fourth companion in the Vauban Pay normative quartet: format (<xref target="STARK-RECEIPTS"/>), lifecycle
FSM (<xref target="LIFECYCLE-FSM"/>), and delegation binding (this document); the algebra companion
draft-vauban-x402-vpsf-algebra is in preparation.</t>



    </abstract>



  </front>

  <middle>


<?line 94?>

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

<section anchor="intro-gap"><name>The Agent Credential Gap</name>

<t>The x402 protocol (<xref target="X402-V2"/>) DelegationGrant state defined in <xref target="LIFECYCLE-FSM"/> enables
a principal to pre-authorise an agent to spawn PaymentIntents within a scoped set of
constraints. The FSM defines the side-channel role of DelegationGrant, its scope enforcement
requirements, and its linkage to downstream PaymentIntents via the JCS canonical preimage
discipline (<xref target="RFC8785"/>).</t>

<t>However, neither the FSM nor the receipt format extension (<xref target="STARK-RECEIPTS"/>) specifies
how the DelegationGrant is cryptographically bound to the identity of the delegatee agent.
The <spanx style="verb">delegatee</spanx> field in the FSM is defined as "address or pseudonym of the agent receiving
authority"; it is a free-form string. A facilitator verifying a PaymentIntent that claims to
operate under a DelegationGrant has no normative mechanism to confirm that the presenting
agent is the intended delegatee, beyond comparing an unverified string. This creates the
agent credential gap: the delegation chain is semantically correct but identity-unbound.</t>

<t>In agentic HTTP pipelines where multiple autonomous agents share a session, this gap enables
grant-capture attacks. Agent A is granted authority over a merchant set with a given spend cap.
Agent B, operating in the same pipeline with different authority bounds, intercepts the
DelegationGrant receipt and presents it as its own credential. The facilitator, comparing only
the free-form <spanx style="verb">delegatee</spanx> string, cannot distinguish the impersonation.</t>

</section>
<section anchor="intro-solution"><name>The Binding Solution</name>

<t>This document closes the agent credential gap by introducing a delegation binding layer above
the FSM DelegationGrant field set. The binding is achieved via three mechanisms operating in
concert:</t>

<t><list style="numbers" type="1">
  <t>A <spanx style="verb">delegate_pseudonym</spanx> field derived from the agent's identity via the shared JCS canonical
preimage discipline (<xref target="RFC8785"/>). The pseudonym is a felt252-sized opaque value; it does
not reveal the underlying agent identity to observers of the receipt.</t>
  <t>A <spanx style="verb">delegation_nonce</spanx> field committed at grant issuance. The nonce is consumed on first
use within its chain depth and marked in a nullifier store. Replay of the grant by a
different agent identity produces a nonce mismatch that the facilitator can detect without
contacting the issuing principal.</t>
  <t>A <spanx style="verb">max_chain_length</spanx> field that bounds privilege escalation through transitive delegation.
A grant with <spanx style="verb">max_chain_length: 1</spanx> cannot be sub-delegated; any attempt to use it as the
basis for a further DelegationGrant is rejected with <spanx style="verb">DelegationDepthExceeded</spanx>.</t>
</list></t>

<t>Together these mechanisms establish what this document calls Composable Trust Evidence for
the delegation surface: the grant is cryptographically scoped to one agent identity, one
nullifier epoch, and one depth bound, without requiring the facilitator to maintain a
per-agent identity registry or contact the issuing principal at verification time.</t>

</section>
<section anchor="intro-companions"><name>Relationship to Companion Documents</name>

<t>This document is the fourth companion in the Vauban Pay normative quartet:</t>

<t><list style="symbols">
  <t><xref target="STARK-RECEIPTS"/> defines the receipt format, including the JCS canonical preimage
discipline shared by all variants and the <spanx style="verb">action_ref</spanx> work-receipt binding.</t>
  <t><xref target="LIFECYCLE-FSM"/> defines the four-state payment lifecycle FSM, including the
DelegationGrant side-channel state, its required fields, and its transition rules.</t>
  <t>This document extends the DelegationGrant state with identity binding and spend-cap
fields. It does not restate FSM transition rules; those are normative in <xref target="LIFECYCLE-FSM"/>.</t>
  <t>A fourth companion, draft-vauban-x402-vpsf-algebra (in preparation), defines the
claim-algebraic composition operators over the four PaymentClaim states.</t>
</list></t>

<t>Implementations that adopt this extension MUST also implement the FSM (<xref target="LIFECYCLE-FSM"/>)
and the canonical preimage discipline (<xref target="STARK-RECEIPTS"/> Section 5). This document
adds fields and binding semantics; it does not substitute for either companion.</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>
</section>
<section anchor="requirements-language"><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>Agent Identity:</dt>
  <dd>
    <t>A stable identifier for an autonomous software agent operating in an agentic HTTP
pipeline. For A2A pipelines, the Agent Identity is typically a DID (did:web,
did:key, or similar scheme). For MCP pipelines, it is a server URI or a
capability token issued at registration time. This document does not mandate
any specific identity scheme; it requires only that the identity resolves to a
deterministic byte string that can be fed to the JCS canonical preimage construction.</t>
  </dd>
  <dt>Delegation Grant:</dt>
  <dd>
    <t>A side-channel Payment Claim (as defined in <xref target="LIFECYCLE-FSM"/> Section 3.4) that
authorises a delegatee agent to spawn PaymentIntents on behalf of a principal
delegator, subject to spend-cap and scope constraints. In this document, "DelegationGrant"
refers to the extended form defined in <xref target="delegation-binding-format"/>, which adds
identity binding fields to the FSM base fields.</t>
  </dd>
  <dt>Bounded Authority:</dt>
  <dd>
    <t>The property of a DelegationGrant that restricts the delegatee's ability to issue
payments to a defined ceiling (cap per transaction, cap per period), a defined
merchant set, a defined currency set, and a defined chain depth. Bounded authority
is the normative goal of the delegation binding extension.</t>
  </dd>
  <dt>Composable Trust Evidence:</dt>
  <dd>
    <t>A receipt or receipt chain from which a verifier can independently reconstruct and
check the authority of every agent in the delegation chain, without contacting the
issuing principal or a central registry. Composable Trust Evidence is the property
that this extension enables for DelegationGrant receipts in A2A and MCP pipelines.</t>
  </dd>
  <dt>delegate_pseudonym:</dt>
  <dd>
    <t>A felt252-sized opaque value derived from the Agent Identity via the JCS canonical
preimage discipline. The pseudonym binds the DelegationGrant to the delegatee
identity without revealing the identity to observers of the grant receipt.</t>
  </dd>
  <dt>delegation_nonce:</dt>
  <dd>
    <t>A felt252-sized unique anti-replay token committed at grant issuance. The nonce is
consumed on first verification and marked in the facilitator's nullifier store.
A second verification of the same DelegationGrant with the same nonce is rejected
as a replay, even if the presenting agent identity matches.</t>
  </dd>
</dl>

</section>
<section anchor="delegation-binding-format"><name>Delegation Binding Format</name>

<t>A DelegationGrant implementing this extension carries the base fields required by
<xref target="LIFECYCLE-FSM"/> Section 3.4 plus the binding fields defined in this section.
Fields from <xref target="LIFECYCLE-FSM"/> are not restated here; implementations MUST satisfy
both sets of field requirements.</t>

<section anchor="binding-fields"><name>Binding Fields</name>

<t>The following fields MUST be present in a DelegationGrant that implements this extension:</t>

<texttable>
      <ttcol align='left'>Field</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Constraint</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">delegate_pseudonym</spanx></c>
      <c>string</c>
      <c>felt252 decimal encoding</c>
      <c>Opaque identity commitment derived from Agent Identity. See <xref target="pseudonym-derivation"/>.</c>
      <c><spanx style="verb">cap_per_tx</spanx></c>
      <c>string</c>
      <c>u256 decimal encoding</c>
      <c>Maximum amount, in the smallest indivisible unit of the grant's currency, for any single PaymentIntent spawned under this grant. MUST be a non-negative integer decimal string.</c>
      <c><spanx style="verb">cap_per_period</spanx></c>
      <c>string</c>
      <c>u256 decimal encoding</c>
      <c>Maximum aggregate amount, in the smallest indivisible unit of the grant's currency, across all PaymentIntents spawned under this grant within <spanx style="verb">period_seconds</spanx>. MUST be a non-negative integer decimal string.</c>
      <c><spanx style="verb">period_seconds</spanx></c>
      <c>integer</c>
      <c>1..31536000 inclusive</c>
      <c>Duration of the spend-cap accounting period in seconds. MUST be at least 1 and at most 31536000 (365 days).</c>
      <c><spanx style="verb">allowed_merchants</spanx></c>
      <c>string[]</c>
      <c>URN pattern</c>
      <c>Ordered list of merchant identifiers within which the delegatee may spawn PaymentIntents. Each entry MUST match the pattern <spanx style="verb">urn:x402:merchant:[a-z0-9-]{1,63}</spanx> or be an on-chain address in the receipt format's canonical address encoding. An empty list MUST be interpreted as "no merchant allowed" (fully-closed grant).</c>
      <c><spanx style="verb">allowed_currencies</spanx></c>
      <c>string[]</c>
      <c>URN pattern</c>
      <c>Ordered list of currency identifiers the delegatee may use. Each entry MUST match <spanx style="verb">urn:x402:currency:[A-Z]{2,12}</spanx> or be a standard token ticker per the facilitator's supported asset list. An empty list MUST be interpreted as "no currency allowed".</c>
      <c><spanx style="verb">delegation_nonce</spanx></c>
      <c>string</c>
      <c>felt252 decimal encoding</c>
      <c>Anti-replay token committed at issuance. See <xref target="nonce-discipline"/>.</c>
      <c><spanx style="verb">max_chain_length</spanx></c>
      <c>integer</c>
      <c>1..32 inclusive</c>
      <c>Maximum number of delegation hops permitted in a chain rooted at this grant. A value of 1 means the grant is terminal (cannot be sub-delegated). MUST NOT exceed 32.</c>
</texttable>

<t>All string fields MUST be Unicode Normalization Form C (NFC) before JCS canonicalisation
(<xref target="RFC8785"/>). Float values for integer-typed fields MUST be rejected before canonicalisation.</t>

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

<t>The <spanx style="verb">delegate_pseudonym</spanx> and <spanx style="verb">delegation_nonce</spanx> fields are felt252 field elements encoded
as unsigned decimal strings. The Starknet felt252 field prime is:</t>

<figure><artwork><![CDATA[
P = 2^251 + 17 * 2^192 + 1
]]></artwork></figure>

<t>Implementations MUST reject values that are not valid decimal representations of integers
in the range [0, P-1]. Negative values and values &gt;= P MUST be rejected before
canonicalisation. Implementations MUST NOT use hexadecimal or base64 encoding for
felt252 fields; the decimal string representation is the sole canonical form for
cross-implementation digest consistency.</t>

</section>
<section anchor="u256-encoding"><name>u256 Decimal Encoding</name>

<t>The <spanx style="verb">cap_per_tx</spanx> and <spanx style="verb">cap_per_period</spanx> fields are u256 values encoded as unsigned decimal
strings. Implementations MUST reject negative values and values exceeding 2^256 - 1.
Implementations MUST NOT use hexadecimal encoding for u256 fields. The decimal string
representation is the sole canonical form.</t>

</section>
</section>
<section anchor="agent-identity-binding"><name>Agent Identity Binding</name>

<section anchor="pseudonym-derivation"><name>Pseudonym Derivation</name>

<t>The <spanx style="verb">delegate_pseudonym</spanx> is derived from the Agent Identity string using the following
deterministic construction:</t>

<t><list style="numbers" type="1">
  <t>Encode the Agent Identity as a UTF-8 NFC byte string.</t>
  <t>Compute <spanx style="verb">raw = SHA-256(UTF-8(NFC(agent_identity)))</spanx>.</t>
  <t>Interpret <spanx style="verb">raw</spanx> as an unsigned 256-bit big-endian integer.</t>
  <t>Compute <spanx style="verb">pseudonym_int = raw mod P</spanx> where P is the felt252 prime defined in
<xref target="felt252-encoding"/>.</t>
  <t>Encode <spanx style="verb">pseudonym_int</spanx> as an unsigned decimal string. This is the <spanx style="verb">delegate_pseudonym</spanx>.</t>
</list></t>

<t>The pseudonym is a deterministic function of the Agent Identity. Two presentations of the
same DelegationGrant by the same agent produce the same pseudonym. A different agent
identity produces a different pseudonym with probability 1 - 2^-251 (negligible collision
probability). The derivation does not reveal the Agent Identity to observers of the
receipt; the pseudonym is a one-way commitment.</t>

<t>Facilitators verifying a PaymentIntent under a DelegationGrant MUST:</t>

<t><list style="numbers" type="1">
  <t>Compute the pseudonym of the presenting agent using the construction above.</t>
  <t>Compare the computed pseudonym against the <spanx style="verb">delegate_pseudonym</spanx> in the retained
DelegationGrant. Comparison MUST be constant-time to prevent timing side-channels.</t>
  <t>Reject the PaymentIntent with <spanx style="verb">AgentIdentityMismatch</spanx> if the pseudonyms do not match.</t>
</list></t>

</section>
<section anchor="nonce-discipline"><name>Nullifier Consumption Discipline</name>

<t>The <spanx style="verb">delegation_nonce</spanx> is generated at grant issuance by the issuing principal using a
cryptographically secure random number generator. The nonce MUST be in the felt252 range
defined in <xref target="felt252-encoding"/>.</t>

<t>On first verification of a DelegationGrant, the facilitator MUST:</t>

<t><list style="numbers" type="1">
  <t>Verify that the <spanx style="verb">delegation_nonce</spanx> is not present in its nullifier store.</t>
  <t>Insert the <spanx style="verb">delegation_nonce</spanx> into the nullifier store keyed by <spanx style="verb">(delegation_nonce, max_chain_length)</spanx>.</t>
  <t>Accept the grant for the verification scope.</t>
</list></t>

<t>On any subsequent presentation of the same <spanx style="verb">delegation_nonce</spanx>, the facilitator MUST:</t>

<t><list style="numbers" type="1">
  <t>Detect the nonce in the nullifier store.</t>
  <t>Reject the presentation with <spanx style="verb">DelegationNonceReplay</spanx>.</t>
</list></t>

<t>This discipline prevents an adversary who has captured a DelegationGrant receipt from
replaying it against a different agent session after the intended delegatee has
consumed the grant.</t>

</section>
<section anchor="revocation-propagation"><name>Revocation Propagation</name>

<t>When a principal revokes a DelegationGrant, the revocation MUST be propagated to all
facilitators that have stored the grant in their active grant registries. Revocation is
signalled by inserting the <spanx style="verb">delegation_nonce</spanx> into the facilitator's nullifier store
with a <spanx style="verb">revoked</spanx> marker before the first legitimate consumption.</t>

<t>A facilitator that receives a PaymentIntent citing a revoked DelegationGrant MUST reject
the PaymentIntent with <spanx style="verb">GrantRevoked</spanx>.</t>

<t>Revocation propagation over an unreliable channel creates a time window during which
a legitimately issued PaymentIntent spawned before the revocation signal arrives may be
either accepted or rejected depending on propagation latency. Implementations MUST:</t>

<t><list style="symbols">
  <t>Accept PaymentIntents whose <spanx style="verb">issued_at</spanx> timestamp (per <xref target="LIFECYCLE-FSM"/> Section 3.1)
predates the revocation signal by at most the <spanx style="verb">maxTimeoutSeconds</spanx> window declared in
the payment requirements.</t>
  <t>Reject PaymentIntents whose <spanx style="verb">issued_at</spanx> is after the revocation signal timestamp, regardless
of propagation latency.</t>
</list></t>

<t>This rule bounds the revocation window without requiring synchronous coordination between
the issuing principal and all active facilitators.</t>

</section>
<section anchor="chain-depth"><name>Chain Depth Enforcement</name>

<t>A DelegationGrant with <spanx style="verb">max_chain_length: N</spanx> may spawn a sub-delegation only if N &gt; 1.
The sub-delegation MUST carry <spanx style="verb">max_chain_length: N-1</spanx>. A sub-delegation MUST also carry
a new <spanx style="verb">delegation_nonce</spanx> generated by the sub-delegating agent; it MUST NOT reuse the
parent nonce.</t>

<t>A facilitator verifying a sub-delegation chain MUST:</t>

<t><list style="numbers" type="1">
  <t>Reconstruct the chain from its retained grant manifests.</t>
  <t>Verify that the sum of hops from the root grant to the current grant does not
exceed the root grant's <spanx style="verb">max_chain_length</spanx>.</t>
  <t>Reject with <spanx style="verb">DelegationDepthExceeded</spanx> if the chain length constraint is violated.</t>
</list></t>

<t>The default <spanx style="verb">max_chain_length</spanx> for new DelegationGrants is 1 (terminal, no sub-delegation).
Implementations that do not support sub-delegation MUST reject any DelegationGrant with
<spanx style="verb">max_chain_length</spanx> greater than 1 during grant acceptance, not at PaymentIntent submission
time.</t>

</section>
</section>
<section anchor="a2a-integration"><name>A2A Integration Notes</name>

<t>A2A pipelines that implement the Composable Trust Evidence Format (<xref target="A2A-CTEF"/>) MAY
use the DelegationGrant binding defined in this document as the authority row within a
Composable Trust Evidence envelope. The delegation binding serves as the authority evidence
column, complementing the payment evidence column provided by the <spanx style="verb">action_ref</spanx> and
<spanx style="verb">payment_hash</spanx> fields in <xref target="STARK-RECEIPTS"/>.</t>

<t>In an A2A Composable Trust Evidence envelope, the binding between the agent identity
evidence and the payment settlement evidence is established by the shared <spanx style="verb">payment_hash</spanx>
and <spanx style="verb">action_ref</spanx> pair, as defined in <xref target="STARK-RECEIPTS"/> Section 6. The <spanx style="verb">delegate_pseudonym</spanx>
in the DelegationGrant provides the additional link to the specific agent that consumed
the grant; a verifier can confirm that the agent that submitted the payment (identified
by <spanx style="verb">agent_id</spanx> in the <spanx style="verb">action_ref</spanx> preimage per <xref target="STARK-RECEIPTS"/> Section 5.3) is the
same agent that was granted authority (identified by <spanx style="verb">delegate_pseudonym</spanx> in the
DelegationGrant).</t>

<t>The cross-verification is:</t>

<figure><artwork><![CDATA[
SHA-256(UTF-8(NFC(action_ref_preimage.agent_id))) mod P
  == DelegationGrant.delegate_pseudonym
]]></artwork></figure>

<t>A verifier that can perform this check independently confirms the full delegation binding
without contacting any external registry. This is the Composable Trust Evidence property
for the delegation surface.</t>

<t>The <spanx style="verb">allowed_merchants</spanx> and <spanx style="verb">allowed_currencies</spanx> fields in the DelegationGrant carry the
same semantic as the scope constraints in a Composable Trust Evidence authority row:
they define the set of actions the agent is authorised to perform. A2A implementations
MAY map these fields directly to their authority row schema.</t>

<t>The discussion thread at <xref target="A2A-CTEF"/> established the requirement for this cross-verification
during the x402 coalition review of the Axis 4 composite trust-query (<xref target="X402-2440"/>).</t>

</section>
<section anchor="mcp-integration"><name>MCP Agent Protocol Notes</name>

<t>Model Context Protocol (MCP) servers that expose x402 payment tools to language model
agents can use the delegation binding defined in this document to scope each agent
session's payment authority. The Vauban Pay MCP server (<xref target="VAUBAN-DEMO"/>) implements
the <spanx style="verb">request_delegation_grant</spanx> tool, which constructs a DelegationGrant with the binding
fields defined in <xref target="delegation-binding-format"/> and returns the JCS-canonical hash for
use as the grant's content digest.</t>

<t>In an MCP payment cycle, the delegation binding operates as follows:</t>

<t><list style="numbers" type="1">
  <t>The MCP server receives an agent session registration carrying the agent's identity
token (a URI or capability string issued at connection time).</t>
  <t>The server computes the <spanx style="verb">delegate_pseudonym</spanx> from the agent identity token using
the derivation in <xref target="pseudonym-derivation"/>.</t>
  <t>The server issues a DelegationGrant embedding the pseudonym and the session's spend
caps, serialises the grant using JCS (<xref target="RFC8785"/>), and returns the JCS hash to the
agent as the grant reference.</t>
  <t>When the agent submits a <spanx style="verb">make_payment</spanx> call, the server reconstructs the grant from
the retained manifest, computes the presenting agent's pseudonym, and compares it
against the stored <spanx style="verb">delegate_pseudonym</spanx> before accepting the PaymentIntent.</t>
  <t>The <spanx style="verb">delegation_nonce</spanx> is consumed on the first <spanx style="verb">make_payment</spanx> call within the
session epoch; a second call within the same epoch is rejected with <spanx style="verb">DelegationNonceReplay</spanx>
unless a new grant with a fresh nonce is issued.</t>
</list></t>

<t>MCP server implementations MUST NOT expose the Agent Identity string in the <spanx style="verb">PAYMENT-RESPONSE</spanx>
or in any receipt body. The <spanx style="verb">delegate_pseudonym</spanx> is the only identity-derived value that
appears in wire-format objects subject to this extension.</t>

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

<section anchor="sec-identity-spoofing"><name>Agent Identity Spoofing</name>

<t>An adversary that knows the target agent's identity string can precompute the expected
<spanx style="verb">delegate_pseudonym</spanx> and attempt to construct a forged DelegationGrant with a matching
pseudonym. The pseudonym construction uses SHA-256, which is collision-resistant under
currently known attacks. Implementations MUST combine pseudonym verification with
<spanx style="verb">delegation_nonce</spanx> consumption: a correct pseudonym does not suffice if the nonce has
already been consumed.</t>

<t>Additional mitigation: principals issuing DelegationGrants SHOULD sign the grant object
with their own signing key (per the signature mechanism of the selected receipt format)
before transmitting it to the delegatee. A signed grant cannot be forged without the
principal's private key, even if the adversary knows the target pseudonym.</t>

</section>
<section anchor="sec-cap-inflation"><name>Spend Cap Inflation</name>

<t>An adversary with write access to the grant receipt (for example, a compromised MCP
server session) may attempt to inflate the <spanx style="verb">cap_per_tx</spanx> or <spanx style="verb">cap_per_period</spanx> fields
before presenting the grant to the facilitator. Because the grant is JCS-hashed at
issuance, any modification of these fields changes the grant's content digest. A
facilitator that verifies the presented grant's JCS hash against the digest it stored
at grant registration will detect the inflation.</t>

<t>Facilitators MUST store the JCS hash of each registered DelegationGrant at registration
time and MUST re-verify the hash on every grant presentation. A grant whose current JCS
hash does not match the stored hash MUST be rejected with <spanx style="verb">GrantHashMismatch</spanx>.</t>

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

<t>The <spanx style="verb">delegation_nonce</spanx> consumption discipline defined in <xref target="nonce-discipline"/> prevents
replay of a captured DelegationGrant receipt. The nullifier store MUST be durable: a
facilitator restart that loses its nullifier store creates a replay window. Implementations
MUST persist the nullifier store to durable storage before acknowledging grant consumption
to the delegatee.</t>

<t>For high-availability deployments with multiple facilitator instances, the nullifier store
MUST be shared (for example, via a distributed key-value store with strong consistency
guarantees). Implementations using eventually-consistent stores MUST use optimistic locking
to prevent race-condition-based nonce bypass.</t>

</section>
<section anchor="sec-chain-depth"><name>Chain Depth Attack</name>

<t>An adversary may attempt to construct a sub-delegation chain that exceeds the root grant's
<spanx style="verb">max_chain_length</spanx> by presenting each hop to a different facilitator that has not retained
the chain history. Facilitators MUST verify the full chain depth against the root grant, not
just the immediate parent grant. Chain reconstruction (<xref target="LIFECYCLE-FSM"/> Section 4.3) MUST
be applied to the full chain before accepting any PaymentIntent.</t>

<t>Implementations that cannot reconstruct the full chain from retained manifests MUST reject
the PaymentIntent with <spanx style="verb">ChainNotReconstructable</spanx> rather than accepting it with partial
chain verification.</t>

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

<t>The <spanx style="verb">delegate_pseudonym</spanx> derivation defined in <xref target="pseudonym-derivation"/> uses SHA-256 and
the felt252 prime. A verifier that applies the same derivation to a different identity
scheme (for example, a DID that resolves to a different key) or a different prime may
compute a pseudonym that coincidentally matches a legitimate grant. Implementations MUST
use the derivation as defined in <xref target="pseudonym-derivation"/> without variation; a pseudonym
computed under a modified derivation is not compatible with this extension.</t>

<t>Facilitators supporting multiple receipt formats MUST apply the pseudonym derivation in
<xref target="pseudonym-derivation"/> uniformly across formats. Format-specific pseudonym constructions
that diverge from <xref target="pseudonym-derivation"/> MUST be treated as incompatible and MUST NOT
be cross-verified against grants issued under this extension.</t>

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

<t>This document introduces no new IANA registrations. The <spanx style="verb">delegate_pseudonym</spanx>,
<spanx style="verb">cap_per_tx</spanx>, <spanx style="verb">cap_per_period</spanx>, <spanx style="verb">period_seconds</spanx>, <spanx style="verb">allowed_merchants</spanx>,
<spanx style="verb">allowed_currencies</spanx>, <spanx style="verb">delegation_nonce</spanx>, and <spanx style="verb">max_chain_length</spanx> fields are defined as
extension fields within the DelegationGrant structure of the x402 V2 protocol
(<xref target="X402-V2"/>). If the x402 Foundation TSC establishes a DelegationGrant field registry
as an extension of the <spanx style="verb">x402 Receipt Format</spanx> registry defined in <xref target="STARK-RECEIPTS"/>
Section 9, the fields in this document SHOULD be submitted for registration.</t>

<t>New error tokens introduced by this extension (<spanx style="verb">AgentIdentityMismatch</spanx>,
<spanx style="verb">DelegationNonceReplay</spanx>, <spanx style="verb">GrantRevoked</spanx>, <spanx style="verb">GrantHashMismatch</spanx>, <spanx style="verb">ChainNotReconstructable</spanx>)
are used in the <spanx style="verb">X-Receipt-Reject-Reason</spanx> header defined in <xref target="STARK-RECEIPTS"/> Section 5.2.
These tokens extend the error taxonomy of <xref target="STARK-RECEIPTS"/> without requiring a new
registry; they follow the same naming convention and MUST be treated as unknown tokens
by verifiers that have not implemented this extension.</t>

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

<t>The 18-vector bounded-spend conformance matrix in <xref target="X402-2432"/> was produced as part of
the x402 Linux Foundation coalition cross-validation exercise. The cross-runtime
byte-identical results across five language implementations (Python, TypeScript, Go,
Java, Rust) established the feasibility of the JCS canonical preimage discipline as a
binding mechanism for delegation receipts, and directly motivated the field set defined
in <xref target="delegation-binding-format"/>.</t>

<t>The Composable Trust Evidence Format discussion (<xref target="A2A-CTEF"/>) and the composite
trust-query work in <xref target="X402-2440"/> shaped the A2A integration notes in <xref target="a2a-integration"/>.
In particular, the cross-verification construction in <xref target="a2a-integration"/> (mapping
<spanx style="verb">action_ref_preimage.agent_id</spanx> to <spanx style="verb">delegate_pseudonym</spanx> via shared SHA-256 and felt252
reduction) is grounded in the editorial alignment reached in the <xref target="X402-2440"/> review.</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="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>


    </references>

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



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


<reference anchor="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-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="X402-2440" target="https://github.com/x402-foundation/x402/pull/2440">
  <front>
    <title>Composite trust-query normative layer (Axis 4)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="X402-2326" target="https://github.com/x402-foundation/x402/issues/2326">
  <front>
    <title>x402 shared canonicalisation discipline (coalition discussion thread)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="VAUBAN-DEMO" target="https://pay.vauban.tech">
  <front>
    <title>Vauban Pay reference demo and MCP server (Starknet Sepolia)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="A2A-CTEF" target="https://github.com/x402-foundation/x402/issues/1734">
  <front>
    <title>A2A Composable Trust Evidence Format (kenneives, x402 coalition thread)</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>

</references>


<?line 514?>

<section anchor="worked-example"><name>Worked Example: MCP Agent Delegation Cycle</name>

<t>The following example illustrates a complete MCP agent delegation cycle under this extension.</t>

<section anchor="example-grant-issuance"><name>Step 1: Grant Issuance</name>

<t>The MCP server registers an agent session with identity string
<spanx style="verb">did:web:agent-42.mcp.example.com</spanx>. The server computes:</t>

<figure><artwork><![CDATA[
pseudonym_raw = SHA-256(UTF-8(NFC("did:web:agent-42.mcp.example.com")))
             = <32-byte SHA-256 digest>
pseudonym_int = pseudonym_raw_as_big_endian_integer mod P
delegate_pseudonym = decimal_string(pseudonym_int)
]]></artwork></figure>

<t>The server issues the following DelegationGrant object (JCS key order shown for clarity):</t>

<figure><sourcecode type="json"><![CDATA[
{
  "allowed_currencies": ["urn:x402:currency:USDC"],
  "allowed_merchants": ["urn:x402:merchant:api-example"],
  "cap_per_period": "10000000",
  "cap_per_tx": "500000",
  "delegate_pseudonym": "<decimal-felt252>",
  "delegatee": "did:web:agent-42.mcp.example.com",
  "delegator": "did:web:principal.example.com",
  "delegation_nonce": "<decimal-felt252>",
  "expires_at": 1780000000,
  "max_chain_length": 1,
  "period_seconds": 86400,
  "scope": ["payment:usdc", "merchant:api-example"]
}
]]></sourcecode></figure>

<t>The server serialises this object via JCS (<xref target="RFC8785"/>) and computes the grant content
digest: <spanx style="verb">grant_hash = SHA-256(UTF-8(JCS(grant_object)))</spanx>. The <spanx style="verb">grant_hash</spanx> is returned
to the agent as its DelegationGrant reference.</t>

</section>
<section anchor="example-payment-binding"><name>Step 2: PaymentIntent Binding</name>

<t>When the agent submits a <spanx style="verb">make_payment</spanx> call, the server:</t>

<t><list style="numbers" type="1">
  <t>Retrieves the stored DelegationGrant by <spanx style="verb">grant_hash</spanx>.</t>
  <t>Verifies <spanx style="verb">cap_per_tx</spanx>: the requested amount is within the per-transaction ceiling.</t>
  <t>Verifies <spanx style="verb">allowed_merchants</spanx>: the target merchant is in the list.</t>
  <t>Verifies <spanx style="verb">allowed_currencies</spanx>: the payment currency is permitted.</t>
  <t>Computes the presenting agent's pseudonym and compares it against
<spanx style="verb">delegate_pseudonym</spanx> (constant-time comparison).</t>
  <t>Checks the <spanx style="verb">delegation_nonce</spanx> against the nullifier store.</t>
  <t>If all checks pass, builds the PaymentIntent carrying the <spanx style="verb">grant_hash</spanx> as its
DelegationGrant reference.</t>
</list></t>

</section>
<section anchor="example-facilitator-verification"><name>Step 3: Facilitator Verification</name>

<t>The facilitator receiving the PaymentIntent:</t>

<t><list style="numbers" type="1">
  <t>Extracts the <spanx style="verb">grant_hash</spanx> from the PaymentIntent.</t>
  <t>Looks up the retained DelegationGrant manifest by <spanx style="verb">grant_hash</spanx>.</t>
  <t>Re-hashes the manifest via JCS and confirms the digest matches <spanx style="verb">grant_hash</spanx>
(detects any field inflation).</t>
  <t>Verifies the presenting agent's <spanx style="verb">delegate_pseudonym</spanx> matches the retained value.</t>
  <t>Verifies the <spanx style="verb">delegation_nonce</spanx> is not in the nullifier store.</t>
  <t>Accepts or rejects the PaymentIntent based on all scope and cap checks.</t>
</list></t>

</section>
</section>
<section anchor="error-tokens"><name>Error Token Reference</name>

<t>The following error tokens extend the <spanx style="verb">X-Receipt-Reject-Reason</spanx> taxonomy of
<xref target="STARK-RECEIPTS"/> Section 5.2 for delegation binding failures:</t>

<texttable>
      <ttcol align='left'>Token</ttcol>
      <ttcol align='left'>HTTP Status</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c><spanx style="verb">AgentIdentityMismatch</spanx></c>
      <c>403</c>
      <c>The presenting agent's pseudonym does not match <spanx style="verb">delegate_pseudonym</spanx> in the retained DelegationGrant.</c>
      <c><spanx style="verb">DelegationNonceReplay</spanx></c>
      <c>409</c>
      <c>The <spanx style="verb">delegation_nonce</spanx> has already been consumed. The grant cannot be replayed.</c>
      <c><spanx style="verb">GrantRevoked</spanx></c>
      <c>410</c>
      <c>The DelegationGrant has been explicitly revoked by the issuing principal.</c>
      <c><spanx style="verb">GrantHashMismatch</spanx></c>
      <c>422</c>
      <c>The JCS hash of the presented DelegationGrant does not match the stored digest. Possible cap inflation or field tampering.</c>
      <c><spanx style="verb">ChainNotReconstructable</spanx></c>
      <c>422</c>
      <c>The facilitator cannot reconstruct the full delegation chain from retained manifests. The PaymentIntent is rejected pending chain availability.</c>
      <c><spanx style="verb">DelegationDepthExceeded</spanx></c>
      <c>422</c>
      <c>The delegation chain exceeds the root grant's <spanx style="verb">max_chain_length</spanx>.</c>
      <c><spanx style="verb">GrantExpired</spanx></c>
      <c>410</c>
      <c>The DelegationGrant <spanx style="verb">expires_at</spanx> has elapsed. Expired grants do not authorise new PaymentIntents (per <xref target="LIFECYCLE-FSM"/> Section 3.6).</c>
</texttable>

</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 delegation binding 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 bounded-spend-authorization vector set demonstrates the DelegationGrant + SettlementReceipt pair under the six-element Claim sextuplet shape with the seven <spanx style="verb">fiscal_authority</spanx> qualification fields mapped to cryptographic primitives.</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 across Python, JavaScript, Go, Java, Rust, PHP, Ruby, and C#. The first five are validated byte-for-byte against upstream JCS RFC 8785 libraries ; the last three are published as pure-stdlib 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 agent identity binding mechanism implemented (DID method, key type), the DelegationGrant chain enforcement strategy, the revocation publication endpoint, 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:
H4sIAAAAAAAAA6196XfbyJXvd/wVdeQPLb0haEle2q2ezolaltPK2LKepe5M
Xp8eEQSKFGIQYFCAJEZ2/vZ3t1qwUHY6k5PEFAkUqm7d5XeXuojjOGryptBH
auf++f6heq0LvUyavCrVj3mZ5eVSLapaHS912eSp+unq6kJd5Gtd5KU2O1Ey
n9f6Vm6OM3dzPOebd6I0afSyqjdHKi8XVZRVaZms4HFZnSya+DZp50kZb7k7
3j+I8nV9pJq6Nc3h/v53+4dRUuvkSB2v10We0tUmuqvqj8u6atdH6qzM9FrD
/5WNumznq9wYuCT6qDdwUXYUqVjhw/BfXAv+u042K7gcP/op4F8JLlrlOFbe
bPCbedXC0JlK2uamquXLRGhzfIZ/HR8e4z/vTmjstFqtK5PMC81rwO/+fHKJ
/3x4c6JeffvqRWSapMyuk6IqgSwbbaJ1DvNUTZXyn/QRxknSxn5hNqtaL4z7
s6qb8O/+1e3cfVNWEU8eSQG/KbVoi4K3ZOcX2g31QRud1OnNDv1e1cukzP9B
VNl2jV4leQE/1vLtH3lfp422V7R1Dr/fNM3aHD19CiSfdi6JyqpewSNuNS4d
SHN4cPCdfHx18O1z+xHohR8vr44//Ff84fTk9Ozi6vKIntBhY7oAJpnqfN2o
NzS4Or1vdInswFNqknqpgSR2UlnSJE2dpB91Pc11s5jCyp8Cvz4dsipsWf0x
rnl485SGM7rOtUEm5/kotXNWNroudRO/xhF2YHJfGgo4Hif39uzN6clfT96e
xm8u340s75dDdcFcq97mC51uUmCwN3mZN1pdwiq0epekNyCi//ZKCzt8vDCr
f2uhnZHi/X3YdByju+3fHRzs48f/xjt+ORxZ+tu8bO9hR0EQWU0BLf4C8o+a
6k+oA8aXvMybm3Y+BTl4SrNZuAGesj7gRx4+f9Z76I8s8rFBrWIFn6VBmWS1
xosOXsW3Om1AT6Z1ZUxct6AQVhrkkBdYplrBMuv8/ndN7ukaRPQpTs1P8/l+
d5onpGhw/0nPxH9vdb1RTqpUkWx0rXaP73Ojnu/9W9N4vu+m8ezw5cgWmRvQ
0ZlKk7IqQUcXuWFyZblJ8zVaDrWbVvC9+7YlLa2aG9Dt2e+cHWj6VpunOCe4
/5fjn388Po9fn757352h6C8QHwUqU9caNyfTq0qBFka1jfx9i7S6RMkEplaX
el0VebJlXj1dBteACYhPrk7fdB8M36oTbw6ucJvU6S2aF5iBqKjdj7osNWyY
mZCdUp5O/xvEOfj22fMoimMwWnODGqCJIjLtcVPFbO7IwotJVGtr6dW8zYtG
wTSs/qn139u81ipRK1g1WAizAjul0HJHSQAj/lQnMJDoN7yiudHOpqpqQX+L
3dVabG5zA7S4y4sCRci0IEp5M41OgXkblPMeUuFHLHJdZEbtJgaGW8CkM0Ac
6uGho0s/f96jIWHt8CPJdGTSaq1p9/X9OgepmbeNyioQngbkebNuqmWdrG+Q
k4sNLZDmvKSnNsg3PaQAX8I2RrDmagl0gYnMN8gUYEqJwfjqdV2hXS9YNM1U
/QX2sGpx8SCjgoAmQF9+EO1gFsHzACfIECBhaq6BuGscgx4DMgeTq+WCOxgS
BGxBfN542MJABnhMl8CM8JwIlRywbwOjrOv8NgfaaqUNrJllF6gFd1fAo3hF
nz2mUXSFswYb0tIvvAMGZu8hlV0TkFnsMEFLy1BbWAbGvgJq+3vysqmrrE1p
9JnlnOu10W1WlZvVjDkBHgzrgMku6mpFG0Yk+cZ4QHebJ/QDADKvrGD5Ol/B
tR119fAg6AMYCPcEGKhNmxbVnAENAWxMvBSnyTpCTmKeYpacEG/5ucIiruFh
qZ4xn9MewGpKUK853FIL06+JaPBfQNgVQ12mhaUjEJztzS3oiIx2JlkCX4Ne
OXhlsaoYLrZPBvdxwfagXLa4SrFVJoI1OhMIq5wqNOrAezQL4CqkN8g7sC3q
rIzdgq/QaTiw1YgoflbN9qTAtPUiwU2FywPlTTPp8hZ8hl2LQMXVwN2EbEth
UdzNQMF78/f3NqkbVJgL0bMPD10MSfvqIEoEqgKv6esO3soRlt5twinufc8M
Vyz1vE78FKMhKrpdm0VsL8xpf4AB10kt+03KepVnGUwqeoJ7QsxPD394kgd/
fobfnyjkD9Lo6gSYExkdWPpPydpeHC+T9eeI2IgEz9Hfbv8vuPkDYTQEKh/T
q5aNQfmDAilBcuDBoK1gNbHoHaO9roRfzDq5Ky2ORWYrG0MaC3UNS5CVrsjp
bNAHtEbcIKtkkNYGeC5GO1TqQtUVMCPIZG8VE7AiRkRTIzJLNTl+Ysrwswgr
XgeC/xEFBGaaVXf4eJ2s+tN9XIVE21QI7OtP1Z0GmDFRYO5JYzeyKmBa+mxN
pnCsV4BjvIvqJ0XlYaKb6o7u728haYuBNUMl8ZVWmZWP07jaKlqRO5x77m0v
mOGdJMvAIzRo95x6toMzG9Aib9EAOdu08z2QH0dKQHVr8BZg/ahv4aKpOlag
JHJARAmibaBfvtig/CXdjWHFmhZJvgL2qCLY8RoZGDUi2MYBbW5gtmUV6IsO
pkEYn9crHhTnvkY/t2xo2kuvktA0aYoPOBpNwD5vKiAx6YCaplrCNGjmOfK3
LIxUXAos1jBDy8CpF2IQ3KNwW5AVYJJAfbjTgAeOQQja1LSqga4N4Ri7p3Fb
0l4D552VLmTBYM+BvDvgQ1h7WzTAtJoMflmtqtbwDYaRPQqnJsA+YawCM3PS
T2AFzSAaR5U0DXiZILKsko5xqnRFGENR1S1tykrXSPSGZJ6QC2Af2AzBaSBf
6ymjVfXjRPGWkhlk/gNnTLu1fBn54F6BAgCAQeTeBlhRG8h2G+TLxJByAIUQ
7A2rpIAzJ8F+V2WxiXCCnptDGWIGmKD2QMCZMcRtc3PDLLWCdZqqtOZAVLyN
zV1WRRvagtjIF5/7iCwtKiO6coy1EDtaa8ICNWLl2IlM5rBhkRX5URiOW8hE
CbAKRiQ0IjJWmkANL2ams5+o7lNdN0dRdIAy/++gPKeixSvtaGr0pb6I93gh
XoGxatJFc/jiMDb5P2DQap2Aw60Ah7Wa1FdWUeSNfAiAbxpt4Y3on4I1Vt9l
UNWcPU9jVaTwIOz6YUiFAD8yDYDXVnlDMtUE3gKGHXjudDUZAPamMkSVoNIw
HqlUa7Q1u8jarFMykIwb4v4VeMFs85MAohrgchj9A7kedsL8bPRCcNxA+rpr
XXv8zjNbAQckTXrjNWyo5dHLYeeEpgkuEo4OSwHdQgxDcgILxs8OewDVnhHV
Vsn9Na3putDlsrmxVKNnsTYYd3mARat2CZOCVZmczILfgSnO4VhWTMpm8KAj
dTCzYg1emmnnNsSts++BtBtUj3rFXjFuAqsX1EYw9jwxsGEIsoHZEOkC0UdM
eq3/xl4bz8Ff8Ro38PQ+1SDl2QwdtGqpLdAwHdHTgO7ACwSNc8f07+gNMCnm
EZAPM4x6Vkmg/FHAE6PgQyBex6W1TDLB7yLPb3pdpTcMzvBiZk/avYnlCglJ
WI4IWQgesULwiJydRKBp4h5L1noJihd8/6q2nDXOVihibLxT4RJwnlgvf9DM
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

-->

</rfc>

