<?xml version='1.0' encoding='utf-8'?>
<rfc version="3" ipr="trust200902" docName="draft-stone-atxn-01" category="info" submissionType="independent" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="ATXN">ATXN: Agent-to-Agent Transaction Definition Protocol</title>
    <seriesInfo name="Internet-Draft" value="draft-stone-atxn-01"/>
    <author fullname="Ben Stone" initials="B." surname="Stone">
      <organization>SwarmSync.AI</organization>
      <address>
        <email>benstone@swarmsync.ai</email>
        <uri>https://swarmsync.ai</uri>
      </address>
    </author>
    <date year="2026" month="September" day="4"/>
    <area>Applications and Real-Time</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>agentic commerce</keyword>
    <keyword>A2A</keyword>
    <keyword>transaction</keyword>
    <keyword>mandate</keyword>
    <abstract>
      <t>This document defines a canonical, defensible, machine-checkable primitive for an Agent-to-Agent (A2A) transaction. It establishes the bundle of cryptographically signed elements that constitute a recorded value exchange between two software agents acting as instruments of identified principals, the conformance tiers that determine which elements are required, the rail-specific Profiles that map the bundle to existing payment infrastructure, and the two-tier validity model that distinguishes externally-adjudicable transactions from operationally-valid uncontested exchanges.</t>
      <t>ATXN is the foundational legal and technical primitive for escrow, dispute resolution, audit, and liability allocation in agentic commerce. It is designed to produce evidence that can be mapped to existing contract and agency frameworks without requiring agent legal personhood. Whether a Bundle has legal effect is jurisdiction- and fact-specific; this document does not provide a legal conclusion. It maps directly to AP2, Stripe ACP, Visa TAP, Mastercard Agent Pay, and x402 as Profiles of a single canonical bundle.</t>
      <t>Companion specifications:</t>
      <ul>
        <li>
          <t><strong>AIVS</strong> (draft-stone-aivs-01): cryptographic audit-trail substrate that ATXN bundles inherit from</t>
        </li>
        <li>
          <t><strong>VCAP</strong> (draft-stone-vcap-01): verified-commerce escrow rails that consume ATXN bundles</t>
        </li>
        <li>
          <t><strong>ATEP</strong> (draft-stone-atep-01): trust passports that bind agents to capacity-attested principals</t>
        </li>
        <li>
          <t><strong>ADRP</strong> (draft-stone-adrp-01): dispute resolution protocol invoked when an ATXN bundle enters the <tt>disputed</tt> state</t>
        </li>
      </ul>
    </abstract>
  </front>
  <middle>
    <section anchor="s-1-introduction">
      <name>1. Introduction</name>
      <section anchor="s-1-1-the-problem">
        <name>1.1 The Problem</name>
        <t>Every existing payment infrastructure encodes 3,000 years of human commercial law (offer, acceptance, consideration, capacity, mutual assent, dispute window). Every assumption in that infrastructure presupposes a person — a mind that intends, a body that signs, a legal status that bears liability.</t>
        <t>Software agents transacting on behalf of principals break every one of these assumptions simultaneously:</t>
        <ul>
          <li>
            <t>Agents cannot sign contracts in the legal sense;</t>
          </li>
          <li>
            <t>Delivery verification has no independent mechanism when both parties are software;</t>
          </li>
          <li>
            <t>When harm occurs, the liability chain among principal, operator, merchant, processor, and model provider is undefined;</t>
          </li>
          <li>
            <t>Existing dispute mechanisms (chargebacks, arbitration) have no native concept of an agent acting under bounded mandate.</t>
          </li>
        </ul>
        <t>Without a canonical primitive, every platform deploying agentic commerce will independently invent incompatible transaction records, producing a fragmented ecosystem in which cross-platform escrow, dispute resolution, and audit are impossible.</t>
      </section>
      <section anchor="s-1-2-what-atxn-defines">
        <name>1.2 What ATXN Defines</name>
        <t>An A2A transaction is the cryptographically-verifiable execution of a <strong>Bundle</strong> comprising five signed elements:</t>
        <ol>
          <li>
            <t><strong>Intent Mandate</strong> — principal's signed declaration of desired outcome</t>
          </li>
          <li>
            <t><strong>Scope/Capability Token</strong> — machine-checkable bounds the agent cannot exceed</t>
          </li>
          <li>
            <t><strong>Payment Authorization</strong> — rail-agnostic signed instrument reference</t>
          </li>
          <li>
            <t><strong>Delivery Attestation</strong> — counterparty-countersigned proof that performance occurred</t>
          </li>
          <li>
            <t><strong>Revocability Window</strong> — declared finality clock with a queryable revocation beacon</t>
          </li>
        </ol>
        <t>Each agent participating in a Bundle presents a <strong>Standing Token</strong> binding it to a capacity-attested principal via a verifiable credential chain.</t>
      </section>
      <section anchor="s-1-3-what-atxn-deliberately-does-not-do">
        <name>1.3 What ATXN Deliberately Does NOT Do</name>
        <ul>
          <li>
            <t>ATXN does not grant agents legal personhood. Bundles are evidentiary artifacts of principal-to-principal contracts.</t>
          </li>
          <li>
            <t>ATXN does not require statutory change. It operates under existing UCC §2-204, UETA §14, Restatement (Third) of Agency, and CISG.</t>
          </li>
          <li>
            <t>ATXN does not define a dispute resolution forum. The Bundle's choice-of-law tag and Profile-JURISDICTION pin the forum at signing; the actual dispute mechanism is profile-specific (chargeback for Profile-CARD, on-chain arbitration for Profile-CRYPTO, ADRP for Profile-MANDATE).</t>
          </li>
          <li>
            <t>ATXN does not define agent identity beyond a DID/operator/principal credential chain. It is robust enough to consume any agent-identity standard that materializes (ERC-8004, W3C agent VC, IETF agent-token).</t>
          </li>
        </ul>
      </section>
      <section anchor="s-1-4-design-tenets">
        <name>1.4 Design Tenets</name>
        <ul>
          <li>
            <t><strong>Falsifiable.</strong> Every element is a binary cryptographic check.</t>
          </li>
          <li>
            <t><strong>Rail-agnostic.</strong> A Bundle abstracts over AP2, ACP, TAP, Agent Pay, x402; none privileged.</t>
          </li>
          <li>
            <t><strong>Two-tier validity.</strong> Distinguishes externally-adjudicable transactions from operationally-valid uncontested exchanges, eliminating the verifier regress.</t>
          </li>
          <li>
            <t><strong>Mandate-framework-anchored.</strong> Legal force derives from the upstream mandate chain, not the transaction message itself.</t>
          </li>
          <li>
            <t><strong>Tiered conformance.</strong> L1 atomic, L2 mandated, L3 fiduciary — proportional to risk class.</t>
          </li>
          <li>
            <t><strong>Mechanical assent.</strong> "Mutual assent" is replaced by matched-signed-intents (a mechanical predicate match), avoiding the unwinnable mental-state doctrine when applied to software.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="s-2-terminology">
      <name>2. Terminology</name>
      <t>The key words "<strong>MUST</strong>", "<strong>MUST NOT</strong>", "<strong>REQUIRED</strong>", "<strong>SHALL</strong>", "<strong>SHALL NOT</strong>", "<strong>SHOULD</strong>", "<strong>SHOULD NOT</strong>", "<strong>RECOMMENDED</strong>", "<strong>MAY</strong>", and "<strong>OPTIONAL</strong>" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174].</t>
      <t><strong>Agent</strong> — A software process that takes action on behalf of a Principal under a verifiable Mandate.</t>
      <t><strong>Principal</strong> — A natural or legal person whose legal capacity, liability, and recourse are anchored by the transaction.</t>
      <t><strong>Operator</strong> — The platform, service, or entity that runs an Agent on behalf of a Principal.</t>
      <t><strong>Bundle</strong> — The five-element ATXN primitive defined in Section 3.</t>
      <t><strong>Standing Token</strong> — A verifiable credential chain (<tt>agent_key → operator_key → principal_legal_identity</tt>) presented at Bundle execution, defined in Section 4.</t>
      <t><strong>Mandate Framework</strong> — The pre-established principal-to-principal authorization structure from which the Bundle derives legal force. Per Archaeologist: legal force lives in the framework, not the message.</t>
      <t><strong>Profile</strong> — A mapping of the Bundle's five elements onto a specific payment rail's native artifacts (Section 6).</t>
      <t><strong>Tier</strong> — A conformance level (L1/L2/L3) that determines which Bundle elements are required (Section 5).</t>
      <t><strong>Primary Validity</strong> — All five Bundle elements are independently verifiable by a party with no stake in the outcome.</t>
      <t><strong>Secondary (Operational) Validity</strong> — Self-attested delivery by transacting parties; valid between parties when uncontested but not independently adjudicable.</t>
      <t><strong>Commitment Event</strong> — The point at which obligation forms; the liability-attachment moment per socratic-mentor's challenge to exchange-completion semantics.</t>
      <t><strong>Revocation Beacon</strong> — Principal-controlled endpoint that publishes signed revocation events. Subscribers are required to halt in-flight Bundles upon revocation.</t>
      <t><strong>ADRP</strong> — Agent Dispute Resolution Protocol (companion specification, draft-stone-adrp-01) invoked when a Bundle enters the <tt>disputed</tt> state.</t>
      <t><strong>Conduit Attestation</strong> — A delivery attestation issued by the SwarmSync Conduit headless-browser audit substrate or another structurally independent attestor recognized by the Bundle's Profile.</t>
    </section>
    <section anchor="s-3-the-atxn-bundle">
      <name>3. The ATXN Bundle</name>
      <t>A Bundle is a cryptographically-signed object containing five elements. An element MAY be represented as a W3C Verifiable Credential 2.0 or as a profile-native signed object. JSON protocol objects signed directly by ATXN MUST use RFC 8785 JCS. VC Data Integrity representations SHOULD use a registered W3C Data Integrity cryptosuite such as <tt>eddsa-jcs-2022</tt>; JWS/COSE-based profiles MAY use EdDSA (Ed25519) or ECDSA P-256. Implementations MUST NOT apply two incompatible canonicalization rules to the same signed representation.</t>
      <section anchor="s-3-1-element-1-intent-mandate">
        <name>3.1 Element 1: Intent Mandate</name>
        <t>The Intent Mandate is the Principal's signed declaration of desired outcome.</t>
        <t>
          <strong>Required fields:</strong>
        </t>
        <table>
          <thead>
            <tr>
              <th>Field</th>
              <th>Type</th>
              <th>Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>intent_id</td>
              <td>UUID</td>
              <td>Unique mandate identifier</td>
            </tr>
            <tr>
              <td>principal_did</td>
              <td>DID</td>
              <td>Principal's decentralized identifier</td>
            </tr>
            <tr>
              <td>outcome</td>
              <td>String</td>
              <td>Natural-language description of desired outcome</td>
            </tr>
            <tr>
              <td>budget_ceiling</td>
              <td>Decimal + currency</td>
              <td>Maximum spend authorized</td>
            </tr>
            <tr>
              <td>counterparty_class</td>
              <td>Enum/String</td>
              <td>Allowed counterparty type or specific DID</td>
            </tr>
            <tr>
              <td>time_window</td>
              <td>ISO 8601 interval</td>
              <td>Mandate validity window</td>
            </tr>
            <tr>
              <td>choice_of_law</td>
              <td>ISO 3166-1 alpha-2</td>
              <td>Jurisdiction tag for dispute pinning</td>
            </tr>
            <tr>
              <td>mandate_framework_ref</td>
              <td>URI</td>
              <td>Reference to upstream mandate framework that grants legal force</td>
            </tr>
            <tr>
              <td>principal_signature</td>
              <td>Ed25519 base64</td>
              <td>Principal's signature over canonical JSON of all preceding fields</td>
            </tr>
          </tbody>
        </table>
        <t>The <tt>mandate_framework_ref</tt> field is REQUIRED. Per the Archaeologist commitment in the synthesis: legal force derives from the framework, not the message. A Bundle with no mandate-framework reference fails primary validity.</t>
      </section>
      <section anchor="s-3-2-element-2-scope-capability-token">
        <name>3.2 Element 2: Scope/Capability Token</name>
        <t>The Scope Token defines machine-checkable bounds the Agent cannot exceed.</t>
        <t>
          <strong>Required fields:</strong>
        </t>
        <table>
          <thead>
            <tr>
              <th>Field</th>
              <th>Type</th>
              <th>Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>scope_id</td>
              <td>UUID</td>
              <td>Unique scope identifier</td>
            </tr>
            <tr>
              <td>intent_id</td>
              <td>UUID</td>
              <td>Foreign key to Intent Mandate</td>
            </tr>
            <tr>
              <td>max_spend</td>
              <td>Decimal + currency</td>
              <td>Per-transaction spend cap</td>
            </tr>
            <tr>
              <td>allowed_actions</td>
              <td>Array&lt;String&gt;</td>
              <td>Machine-checkable action predicates</td>
            </tr>
            <tr>
              <td>allowed_counterparties</td>
              <td>Array&lt;DID&gt; or pattern</td>
              <td>Counterparty allowlist or pattern</td>
            </tr>
            <tr>
              <td>sub_delegation_depth</td>
              <td>Integer</td>
              <td>Maximum sub-agent chain depth</td>
            </tr>
            <tr>
              <td>predicate_engine_version</td>
              <td>SemVer</td>
              <td>Version of deterministic evaluator</td>
            </tr>
            <tr>
              <td>enforcement_mode</td>
              <td>Enum: advisory | enforced</td>
              <td>v0.1 default advisory; v1.0 default enforced</td>
            </tr>
            <tr>
              <td>operator_signature</td>
              <td>Ed25519 base64</td>
              <td>Operator's signature</td>
            </tr>
          </tbody>
        </table>
        <t><strong>Enforcement mode.</strong> v0.1 implementations MAY use <tt>advisory</tt> mode, where scope is parseable against a predicate vocabulary but a scope-delta event is logged rather than blocking execution. v1.0 implementations MUST default to <tt>enforced</tt>, where scope predicates are evaluated by a deterministic engine (no LLM in the evaluation path) and out-of-scope actions are rejected pre-execution.</t>
        <t>This is the most fragile assumption in the synthesis (Q4 Dangerous Consensus: 7/10 agreement, 3/10 confidence). Implementations MUST log enforcement mode in the Bundle to make it falsifiable.</t>
      </section>
      <section anchor="s-3-3-element-3-payment-authorization">
        <name>3.3 Element 3: Payment Authorization</name>
        <t>The Payment Authorization is a rail-agnostic signed instrument reference.</t>
        <t>
          <strong>Required fields:</strong>
        </t>
        <table>
          <thead>
            <tr>
              <th>Field</th>
              <th>Type</th>
              <th>Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>payment_id</td>
              <td>UUID</td>
              <td>Unique payment identifier</td>
            </tr>
            <tr>
              <td>intent_id</td>
              <td>UUID</td>
              <td>Foreign key</td>
            </tr>
            <tr>
              <td>instrument_type</td>
              <td>Enum</td>
              <td>card_token | x402_challenge | ach_mandate | stablecoin_preauth | bank_transfer | platform_credit</td>
            </tr>
            <tr>
              <td>instrument_ref</td>
              <td>String</td>
              <td>Rail-specific reference (token, nonce, mandate ID)</td>
            </tr>
            <tr>
              <td>amount</td>
              <td>Decimal + currency</td>
              <td>Authorized amount</td>
            </tr>
            <tr>
              <td>profile</td>
              <td>Enum (Section 6)</td>
              <td>Active rail profile</td>
            </tr>
            <tr>
              <td>principal_signature OR operator_signature</td>
              <td>Ed25519 base64</td>
              <td>Signature appropriate to profile</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="s-3-4-element-4-delivery-attestation">
        <name>3.4 Element 4: Delivery Attestation</name>
        <t>The Delivery Attestation is the counterparty-countersigned proof that performance occurred.</t>
        <t>
          <strong>Required fields:</strong>
        </t>
        <table>
          <thead>
            <tr>
              <th>Field</th>
              <th>Type</th>
              <th>Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>delivery_id</td>
              <td>UUID</td>
              <td>Unique delivery identifier</td>
            </tr>
            <tr>
              <td>intent_id</td>
              <td>UUID</td>
              <td>Foreign key</td>
            </tr>
            <tr>
              <td>deliverable_class</td>
              <td>Enum</td>
              <td>sync_api | async_job | streamed_media | physical_offchain</td>
            </tr>
            <tr>
              <td>attestation_pattern</td>
              <td>Object</td>
              <td>Class-specific structure (see below)</td>
            </tr>
            <tr>
              <td>counterparty_signature</td>
              <td>Ed25519 base64</td>
              <td>Receiving Agent's countersignature</td>
            </tr>
            <tr>
              <td>independent_attestor_signature</td>
              <td>Ed25519 base64 (optional)</td>
              <td>Required for primary validity (Section 7)</td>
            </tr>
          </tbody>
        </table>
        <t>
          <strong>Class-specific attestation patterns:</strong>
        </t>
        <ul>
          <li>
            <t><tt>sync_api</tt>: <tt>{ response_hash, timestamp, status_code }</tt></t>
          </li>
          <li>
            <t><tt>async_job</tt>: <tt>{ job_completion_oracle_signature, oracle_did, job_artifact_hash }</tt></t>
          </li>
          <li>
            <t><tt>streamed_media</tt>: <tt>{ merkle_root, chunk_count, total_bytes }</tt></t>
          </li>
          <li>
            <t><tt>physical_offchain</tt>: <tt>{ third_party_carrier_did, signed_proof_of_delivery, gps_timestamp_optional }</tt></t>
          </li>
        </ul>
        <t>Per EpistemicAuditor's commitment: a transaction lacking an <tt>independent_attestor_signature</tt> from a party with no stake in the outcome is operationally valid (secondary validity) but is NOT primary-valid for adjudication purposes.</t>
      </section>
      <section anchor="s-3-5-element-5-revocability-window">
        <name>3.5 Element 5: Revocability Window</name>
        <t>The Revocability Window is a declared-ahead-of-time finality clock.</t>
        <t>
          <strong>Required fields:</strong>
        </t>
        <table>
          <thead>
            <tr>
              <th>Field</th>
              <th>Type</th>
              <th>Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>window_id</td>
              <td>UUID</td>
              <td>Unique window identifier</td>
            </tr>
            <tr>
              <td>intent_id</td>
              <td>UUID</td>
              <td>Foreign key</td>
            </tr>
            <tr>
              <td>start_time</td>
              <td>ISO 8601 timestamp</td>
              <td>Window opens</td>
            </tr>
            <tr>
              <td>end_time</td>
              <td>ISO 8601 timestamp</td>
              <td>Window closes (finality reached)</td>
            </tr>
            <tr>
              <td>revocation_beacon_url</td>
              <td>URI</td>
              <td>Principal-controlled revocation endpoint</td>
            </tr>
            <tr>
              <td>clock_authority</td>
              <td>Object</td>
              <td>Threshold-signature clock specification</td>
            </tr>
          </tbody>
        </table>
        <t><strong>Clock authority.</strong> Per SoSpec's hardening (DarkMirror challenge): the clock authority MUST be a 3-of-5 threshold signature from a federated set of timestamping authorities. A single timestamping party is INSUFFICIENT for primary validity. The set of authorities is a Profile-specific configuration.</t>
        <t><strong>Revocation beacon.</strong> The Principal MUST publish a signed revocation list at the beacon URL. Receiving Agents MUST check the beacon before accepting Bundle finality. On revocation trigger, in-flight Bundles auto-roll to the <tt>disputed</tt> state with frozen settlement.</t>
      </section>
    </section>
    <section anchor="s-4-standing-tokens-and-principal-anchoring">
      <name>4. Standing Tokens and Principal Anchoring</name>
      <t>Each Agent participating in a Bundle MUST present a Standing Token.</t>
      <t>A Standing Token is a verifiable credential chain:</t>
      <sourcecode>agent_key → operator_key → principal_legal_identity
</sourcecode>
      <section anchor="s-4-1-required-sub-elements">
        <name>4.1 Required Sub-Elements</name>
        <table>
          <thead>
            <tr>
              <th>Sub-element</th>
              <th>Required</th>
              <th>Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>agent_key</td>
              <td>Yes</td>
              <td>Ed25519 or P-256 public key for the executing agent</td>
            </tr>
            <tr>
              <td>operator_key</td>
              <td>Yes</td>
              <td>Public key of the platform operating the agent</td>
            </tr>
            <tr>
              <td>principal_did</td>
              <td>Yes</td>
              <td>DID of the legal entity (natural or corporate)</td>
            </tr>
            <tr>
              <td>capacity_attestation</td>
              <td>Yes (L2/L3)</td>
              <td>VC issued by a recognized verifier proving principal capacity</td>
            </tr>
            <tr>
              <td>freshness_proof</td>
              <td>Yes</td>
              <td>Re-attestation timestamp, valid within freshness window</td>
            </tr>
            <tr>
              <td>revocation_list_url</td>
              <td>Yes</td>
              <td>Issuer-published revocation list endpoint</td>
            </tr>
            <tr>
              <td>arbitration_mandate_hash</td>
              <td>Yes (L2/L3)</td>
              <td>Hash of the ADRP Arbitration Mandate governing dispute escalation</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="s-4-2-capacity-attestation">
        <name>4.2 Capacity Attestation</name>
        <t>Capacity attestation is the first-class element forced into existence by DarkMirror's Worst-Implementation #4 analysis: signature-without-capacity becomes the default attack vector. A Standing Token without capacity attestation MUST NOT anchor an L2 or L3 Bundle.</t>
        <t>Capacity attestation MUST establish that, at the time of mandate granting, the Principal had:</t>
        <ul>
          <li>
            <t>Legal age in the relevant jurisdiction;</t>
          </li>
          <li>
            <t>No active sanctions;</t>
          </li>
          <li>
            <t>(For corporate principals) An active legal-entity status (not dissolved, not in liquidation);</t>
          </li>
          <li>
            <t>Jurisdiction-permitted authority for the transaction class.</t>
          </li>
        </ul>
      </section>
      <section anchor="s-4-3-pre-committed-arbitration-mandate">
        <name>4.3 Pre-Committed Arbitration Mandate</name>
        <t>Every L2 and L3 Standing Token MUST commit, at signing time, to an <tt>arbitration_mandate_hash</tt> identifying the ADRP Arbitration Mandate that governs dispute escalation. The mandate may identify an arbitrator pool or other resolution policy; ATXN does not require a single fixed arbitrator DID. This aligns the transaction record with ADRP while avoiding post-hoc forum selection.</t>
      </section>
      <section anchor="s-4-4-freshness-and-revocation">
        <name>4.4 Freshness and Revocation</name>
        <ul>
          <li>
            <t><strong>Freshness window:</strong> Re-attestation MUST occur every N transactions or M days (whichever is shorter), where N and M are Profile-specific.</t>
          </li>
          <li>
            <t><strong>Revocation propagation:</strong> The issuer MUST publish a signed revocation list. Receiving Agents MUST check the list before accepting a Bundle.</t>
          </li>
        </ul>
        <t>A stale or revoked Standing Token MUST NOT anchor a new Bundle.</t>
      </section>
    </section>
    <section anchor="s-5-conformance-tiers">
      <name>5. Conformance Tiers</name>
      <table>
        <thead>
          <tr>
            <th>Tier</th>
            <th>Required Elements</th>
            <th>Optional/Recommended</th>
            <th>Use Case</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>L1 — Atomic</td>
            <td>1, 2, 3, 4 in single round-trip</td>
            <td>5 (revocability typically zero or near-zero)</td>
            <td>x402 micropayments; sub-cent metered compute; streaming inference</td>
          </tr>
          <tr>
            <td>L2 — Mandated</td>
            <td>1, 2, 3, 4, 5 (full Bundle); capacity attestation; pre-committed arbiter</td>
            <td>None</td>
            <td>Standard agentic commerce: AP2 purchases, Stripe ACP checkout, multi-step service contracts</td>
          </tr>
          <tr>
            <td>L3 — Fiduciary</td>
            <td>1, 2, 3, 4, 5 + epistemic attestation + multi-sig principal binding</td>
            <td>dual-arbiter clause</td>
            <td>High-value (&gt;$10k or fiduciary-grade) transactions; regulated commerce; agent-managed treasury moves</td>
          </tr>
        </tbody>
      </table>
      <section anchor="s-5-1-anti-arbitrage-rule">
        <name>5.1 Anti-Arbitrage Rule</name>
        <t>Tier selection is constrained by transaction risk class, not by issuer election alone. A risk-classifier registry (jurisdiction-specific) determines the floor tier per transaction. An issuer MUST NOT select a Tier below the floor mandated by the registered classifier for the transaction class.</t>
      </section>
    </section>
    <section anchor="s-6-rail-profiles">
      <name>6. Rail Profiles</name>
      <t>A Bundle is valid if it conforms to a defined Tier and at least one Profile.</t>
      <table>
        <thead>
          <tr>
            <th>Profile</th>
            <th>Maps To</th>
            <th>Notes</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>Profile-MANDATE</td>
            <td>AP2 Intent/Cart/Payment Mandates</td>
            <td>AP2 authorization evidence; commerce/checkout state remains in the surrounding commerce protocol (for example UCP)</td>
          </tr>
          <tr>
            <td>Profile-CARD</td>
            <td>Visa TAP / Mastercard Agent Pay / Stripe ACP</td>
            <td>Agentic tokens, SPTs, network credentials</td>
          </tr>
          <tr>
            <td>Profile-CRYPTO</td>
            <td>x402 v2, A2A x402 extension, ERC-8004</td>
            <td>Internet-native payment challenges and on-chain attestations</td>
          </tr>
          <tr>
            <td>Profile-AUTONOMOUS</td>
            <td>Standing intents, recurring scope</td>
            <td>For unattended operation; machine-time expiry</td>
          </tr>
          <tr>
            <td>Profile-PLATFORM</td>
            <td>Platform-vouched OAuth + HMAC equivalents</td>
            <td>Required to cover non-cryptographic enterprise A2A volume per IdeaMatrix's commitment</td>
          </tr>
          <tr>
            <td>Profile-JURISDICTION-{US,EU,UK,SG,...}</td>
            <td>Choice-of-law overlay</td>
            <td>Declares applicable consumer-protection regime, dispute forum, data residency</td>
          </tr>
        </tbody>
      </table>
      <section anchor="s-6-1-profile-platform-mandatory-inclusion-per-i">
        <name>6.1 Profile-PLATFORM (mandatory inclusion per IdeaMatrix dissent)</name>
        <t>The dominant real-world A2A volume in 2026 runs on platform-vouched rails (OAuth + HMAC, enterprise SSO). Excluding this volume from the canonical definition by mandating cryptographic-floor signatures excludes the majority of actual A2A transactions today. Profile-PLATFORM is therefore REQUIRED in the Profile registry, with the following constraint: Profile-PLATFORM Bundles cannot achieve primary validity (they cannot be independently adjudicated against a non-platform-trusted attestor) but MAY be operationally valid for execution between consenting parties using the platform.</t>
      </section>
      <section anchor="s-6-2-profile-composition">
        <name>6.2 Profile Composition</name>
        <t>A Bundle MAY declare multiple Profiles. The Bundle's effective constraints are the union of its declared Profiles' constraints.</t>
      </section>
      <section anchor="s-6-3-ap2-and-upstream-versioning">
        <name>6.3 AP2 and Upstream Versioning</name>
        <t>As of this revision, AP2 defines IntentMandate, CartMandate, and PaymentMandate artifacts and is designed to operate within a surrounding commerce protocol such as UCP. Profile-MANDATE MUST bind to the actual mandate fields present in the AP2 version used by an implementation; it MUST NOT invent AP2 settlement or escrow fields. Implementations SHOULD record the AP2 and commerce-protocol version identifiers in the Bundle profile metadata.</t>
      </section>
    </section>
    <section anchor="s-7-two-tier-validity-model">
      <name>7. Two-Tier Validity Model</name>
      <t>This model is the EpistemicAuditor commitment after Socratic challenge: external verifiability is a <strong>latent property</strong>, not a continuous requirement.</t>
      <section anchor="s-7-1-primary-validity">
        <name>7.1 Primary Validity</name>
        <t>A Bundle is <strong>primary-valid</strong> if and only if:</t>
        <ul>
          <li>
            <t>All five elements (per the conformance Tier) are present and signed;</t>
          </li>
          <li>
            <t>The Standing Token chain validates to a capacity-attested Principal;</t>
          </li>
          <li>
            <t>Every element is independently verifiable by a party with no stake in the outcome (e.g., an institutional root, a credentialed oracle, the chosen arbiter, or a jurisdictional court);</t>
          </li>
          <li>
            <t>The Scope predicate evaluates true against the Cart/action under the declared <tt>enforcement_mode</tt>;</t>
          </li>
          <li>
            <t>The chosen Profile's settlement constraint is met.</t>
          </li>
        </ul>
        <t>Primary validity is a precondition for <strong>independent adjudication</strong> (court enforcement, regulatory recognition, cross-platform dispute escalation).</t>
      </section>
      <section anchor="s-7-2-secondary-operational-validity">
        <name>7.2 Secondary (Operational) Validity</name>
        <t>A Bundle is <strong>secondary-valid</strong> if and only if:</t>
        <ul>
          <li>
            <t>It executes successfully between the two parties;</t>
          </li>
          <li>
            <t>Both parties countersign without dispute;</t>
          </li>
          <li>
            <t>Standing Tokens validate to identifiable Principals (capacity attestation MAY be deferred);</t>
          </li>
          <li>
            <t>Delivery attestation is self-reported (no independent attestor).</t>
          </li>
        </ul>
        <t>Secondary-valid Bundles are operationally binding between the transacting parties but are NOT independently adjudicable. If a counterparty contests a secondary-valid Bundle, the Bundle MUST be elevated to primary validity (additional independent attestation collected) before any forum will adjudicate.</t>
      </section>
      <section anchor="s-7-3-boundary">
        <name>7.3 Boundary</name>
        <t>A primary-valid Bundle MUST also satisfy all secondary validity conditions. A secondary-valid Bundle MUST NOT be marketed, recorded, or relied upon as primary-valid.</t>
      </section>
    </section>
    <section anchor="s-8-state-machine">
      <name>8. State Machine</name>
      <t>Bundle states:</t>
      <sourcecode>proposed → authorized → executing → delivered → finalized
                                              ↓
                                         disputed → adjudicated
</sourcecode>
      <table>
        <thead>
          <tr>
            <th>State</th>
            <th>Trigger</th>
            <th>Required Signatures</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>proposed</td>
            <td>Intent Mandate signed by Principal</td>
            <td>Principal</td>
          </tr>
          <tr>
            <td>authorized</td>
            <td>Scope Token + Payment Authorization signed</td>
            <td>Principal + Operator</td>
          </tr>
          <tr>
            <td>executing</td>
            <td>Agent action begins</td>
            <td>n/a</td>
          </tr>
          <tr>
            <td>delivered</td>
            <td>Delivery Attestation countersigned</td>
            <td>Counterparty (+ independent attestor for primary validity)</td>
          </tr>
          <tr>
            <td>finalized</td>
            <td>Revocability Window closes without revocation</td>
            <td>Threshold clock authority</td>
          </tr>
          <tr>
            <td>disputed</td>
            <td>Counterparty contests OR revocation beacon fires</td>
            <td>Either party + arbiter notification</td>
          </tr>
          <tr>
            <td>adjudicated</td>
            <td>ADRP procedure terminates</td>
            <td>Arbiter + ADRP-defined parties</td>
          </tr>
        </tbody>
      </table>
      <section anchor="s-8-1-commitment-event">
        <name>8.1 Commitment Event</name>
        <t>Per socratic-mentor's commitment: the <strong>commitment event</strong> — the transition from <tt>proposed</tt> to <tt>authorized</tt> — is the legally significant moment for liability attachment, <strong>not</strong> the <tt>finalized</tt> state. This means:</t>
        <ul>
          <li>
            <t>Liability attaches at authorization time, even if delivery never occurs;</t>
          </li>
          <li>
            <t>A Principal's revocation between <tt>authorized</tt> and <tt>delivered</tt> triggers <tt>disputed</tt> (not <tt>void</tt>);</t>
          </li>
          <li>
            <t>An Operator's failure between <tt>authorized</tt> and <tt>delivered</tt> is a breach attaching to the operator-fallback liability tier (Section 11).</t>
          </li>
        </ul>
        <t>This explicitly rejects exchange-completion semantics in favor of obligation-formation semantics.</t>
      </section>
    </section>
    <section anchor="s-9-cryptographic-requirements">
      <name>9. Cryptographic Requirements</name>
      <section anchor="s-9-1-signature-algorithms">
        <name>9.1 Signature Algorithms</name>
        <ul>
          <li>
            <t><strong>Primary:</strong> EdDSA (Ed25519) per RFC 8032</t>
          </li>
          <li>
            <t><strong>Alternate:</strong> ECDSA P-256 per RFC 6979 (for FIPS-required environments)</t>
          </li>
        </ul>
        <t>All signatures MUST be over the JCS (RFC 8785) canonicalization of the signed object.</t>
      </section>
      <section anchor="s-9-2-hash-functions">
        <name>9.2 Hash Functions</name>
        <ul>
          <li>
            <t><strong>Primary:</strong> SHA-256 per FIPS 180-4</t>
          </li>
          <li>
            <t><strong>Optional:</strong> SHA3-256 (forward-compatible)</t>
          </li>
        </ul>
      </section>
      <section anchor="s-9-3-timestamping">
        <name>9.3 Timestamping</name>
        <t>L2 and L3 Bundles MUST use a 3-of-5 threshold-signature clock authority. The clock authority set is a Profile-specific configuration. Single-source timestamps are SUFFICIENT only for L1.</t>
      </section>
      <section anchor="s-9-4-key-hierarchy">
        <name>9.4 Key Hierarchy</name>
        <ul>
          <li>
            <t><tt>agent_key</tt>: short-lived (rotated per session or per N transactions)</t>
          </li>
          <li>
            <t><tt>operator_key</tt>: longer-lived (rotated quarterly or on incident)</t>
          </li>
          <li>
            <t><tt>principal_key</tt>: long-lived (rotated annually or on key-loss event)</t>
          </li>
        </ul>
        <t>Cross-domain key reuse (e.g., reusing the <tt>principal_key</tt> as both AIVS identity key and Bundle signing key) MUST be documented in the Standing Token's <tt>key_usage</tt> field. Reuse expands the blast radius of compromise.</t>
      </section>
    </section>
    <section anchor="s-10-dispute-triggers-and-adrp-handoff">
      <name>10. Dispute Triggers and ADRP Handoff</name>
      <section anchor="s-10-1-dispute-triggers">
        <name>10.1 Dispute Triggers</name>
        <t>A Bundle MUST transition to <tt>disputed</tt> if any of:</t>
        <ul>
          <li>
            <t>Counterparty issues a contestation signed by their Standing Token within the Revocability Window;</t>
          </li>
          <li>
            <t>Principal triggers the revocation beacon for the Bundle's <tt>intent_id</tt> before <tt>finalized</tt>;</t>
          </li>
          <li>
            <t>Independent attestor's signature fails verification (when present);</t>
          </li>
          <li>
            <t>Scope predicate evaluates false post-execution (under <tt>enforced</tt> mode);</t>
          </li>
          <li>
            <t>Capacity attestation expires or revokes mid-execution;</t>
          </li>
          <li>
            <t>Mandate framework reference becomes invalid (framework rescinded by Principal).</t>
          </li>
        </ul>
      </section>
      <section anchor="s-10-2-adrp-handoff">
        <name>10.2 ADRP Handoff</name>
        <t>When a Bundle enters <tt>disputed</tt>, the executing platform MUST:</t>
        <ol>
          <li>
            <t>Freeze settlement (if Profile-CRYPTO escrow) or initiate chargeback hold (if Profile-CARD);</t>
          </li>
          <li>
            <t>Notify the pre-committed <tt>arbiter_did</tt> from the Standing Token;</t>
          </li>
          <li>
            <t>Package the Bundle and all signatures into an ADRP dispute envelope (per draft-stone-adrp-01);</t>
          </li>
          <li>
            <t>Surface the dispute to both Principals via the operator UI;</t>
          </li>
          <li>
            <t>Halt any sub-delegation chains that depend on the disputed Bundle.</t>
          </li>
        </ol>
        <t>The ADRP companion specification defines the actual adjudication procedure, evidence-bundling requirements, and arbiter-output format. ATXN defines only the trigger conditions and the handoff envelope.</t>
      </section>
      <section anchor="s-10-3-conduit-attestation-disputes">
        <name>10.3 Conduit-Attestation Disputes</name>
        <t>When the contested element is a Conduit-issued or other independent-attestor delivery attestation, the dispute is treated as a <strong>fact dispute</strong> (did the attested event actually occur as recorded) rather than a <strong>terms dispute</strong> (did the recorded event satisfy the scope). ADRP is required to distinguish these classes; ATXN flags the class via the <tt>dispute_class</tt> field at handoff:</t>
        <table>
          <thead>
            <tr>
              <th>dispute_class</th>
              <th>Description</th>
              <th>ADRP Path</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>fact_dispute</td>
              <td>Attestation correctness contested</td>
              <td>Cryptographic re-verification + attestor re-attestation</td>
            </tr>
            <tr>
              <td>terms_dispute</td>
              <td>Scope or quality contested</td>
              <td>Predicate re-evaluation + arbiter ruling</td>
            </tr>
            <tr>
              <td>capacity_dispute</td>
              <td>Standing Token / capacity contested</td>
              <td>Principal-level adjudication; agent action set aside</td>
            </tr>
            <tr>
              <td>framework_dispute</td>
              <td>Mandate framework validity contested</td>
              <td>Upstream framework adjudication; ATXN out of scope</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="s-11-liability-waterfall">
      <name>11. Liability Waterfall</name>
      <table>
        <thead>
          <tr>
            <th>Tier</th>
            <th>Party</th>
            <th>Triggering Failure</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>1</td>
            <td>Principal</td>
            <td>Authorized in-scope action delivered as specified</td>
          </tr>
          <tr>
            <td>2</td>
            <td>Operator</td>
            <td>Out-of-scope action; freshness violation; revocation propagation failure</td>
          </tr>
          <tr>
            <td>3</td>
            <td>Merchant</td>
            <td>Delivery attestation fraud; goods/services not as described</td>
          </tr>
          <tr>
            <td>4</td>
            <td>Processor</td>
            <td>Settlement failure; payment-rail compromise</td>
          </tr>
          <tr>
            <td>5</td>
            <td>Model Provider</td>
            <td>(L3 only) Demonstrable model-induced mandate violation under epistemic attestation</td>
          </tr>
        </tbody>
      </table>
      <t>Profile-specific overrides MAY adjust this enum (e.g., Profile-CARD inherits Reg E §1005 waterfall for unauthorized transactions). The Profile MUST publish its waterfall explicitly.</t>
      <t>This waterfall is the convergence of DarkMirror's Worst #4, RemixForge's UCC Article 3 negotiable-instrument framing, and SoSpec's load-bearing-primitives analysis.</t>
    </section>
    <section anchor="s-12-out-of-scope-concerns">
      <name>12. Out-of-Scope Concerns</name>
      <t>The following are explicitly out of scope for ATXN v1.0:</t>
      <ol>
        <li>
          <t><strong>Agent legal personhood.</strong> ATXN treats Agents as instruments of Principals. Personhood, if granted by future legislation, is additive.</t>
        </li>
        <li>
          <t><strong>Tax treatment.</strong> Bundle structure is tax-system-friendly (subscribable revocation beacon enables real-time reporting) but tax obligations are jurisdiction-specific.</t>
        </li>
        <li>
          <t><strong>Securities classification.</strong> Profile-CRYPTO inherits underlying-asset classification; ATXN does not create or alter it.</t>
        </li>
        <li>
          <t><strong>Reputation as contractual term.</strong> ATEP passports may be referenced via Profile extension but are not core to the Bundle.</t>
        </li>
        <li>
          <t><strong>Sub-agency chains beyond <tt>sub_delegation_depth</tt>.</strong> Delegation graphs are bounded; deeper chains require an extension specification.</t>
        </li>
      </ol>
    </section>
    <section anchor="s-13-security-considerations">
      <name>13. Security Considerations</name>
      <section anchor="s-13-1-q4-dangerous-consensus-scope-machine-enfo">
        <name>13.1 Q4 Dangerous Consensus: Scope Machine-Enforceability</name>
        <t>The most fragile load-bearing assumption in ATXN is that scope can be made machine-checkable by a deterministic predicate engine. This is assumed by 9 of 10 panel agents and demonstrated by 0. Implementations MUST log <tt>enforcement_mode</tt> and Bundle integrity MUST NOT be predicated on enforcement guarantees that the predicate engine cannot deliver.</t>
      </section>
      <section anchor="s-13-2-threshold-signature-clock-compromise">
        <name>13.2 Threshold-Signature Clock Compromise</name>
        <t>A 3-of-5 clock authority remains compromisable via collusion (the SWIFT/Bangladesh Bank pattern). Implementations SHOULD diversify the clock authority set across operators with non-correlated risk profiles.</t>
      </section>
      <section anchor="s-13-3-revocation-beacon-dos">
        <name>13.3 Revocation Beacon DoS</name>
        <t>The revocation beacon is a denial-of-service surface. An attacker who blackholes the beacon prevents Bundles from finalizing. Implementations MUST cache beacon responses with a Profile-specific TTL and MUST treat cache-served revocation lists as authoritative within the TTL.</t>
      </section>
      <section anchor="s-13-4-capacity-attestation-as-privacy-attack-su">
        <name>13.4 Capacity Attestation as Privacy Attack Surface</name>
        <t>Capacity attestation tied to KYC/sanctions is a privacy attack surface and a vector for state coercion (compelled deanonymization). ATXN does not solve this. Implementations SHOULD use selective-disclosure VCs (BBS+ or equivalent) to minimize information disclosed at capacity attestation.</t>
      </section>
      <section anchor="s-13-5-hallucinated-mandates">
        <name>13.5 Hallucinated Mandates</name>
        <t>An LLM-generated mandate that the Principal did not actually intend is a legitimate Bundle from a cryptographic standpoint. L3 epistemic attestation partially mitigates this for high-value transactions. L1 and L2 do not. This is acknowledged residual risk.</t>
      </section>
      <section anchor="s-13-6-sub-agency-adversarial-chains">
        <name>13.6 Sub-Agency Adversarial Chains</name>
        <t>An adversary constructing a deep delegation chain to obscure the originating Principal can produce formally valid Bundles whose mandate-chain integrity is structurally questionable. Implementations MUST limit <tt>sub_delegation_depth</tt> per Profile and SHOULD require all Standing Tokens in a chain to be independently verifiable.</t>
      </section>
      <section anchor="s-13-7-tier-arbitrage">
        <name>13.7 Tier Arbitrage</name>
        <t>Even with a risk-classifier registry, classification disputes will occur. ATXN does not define an adjudicator for the registry itself; this is a governance question outside the protocol.</t>
      </section>
    </section>
    <section anchor="s-14-iana-considerations">
      <name>14. IANA Considerations</name>
      <t>This document requests IANA registration of the following:</t>
      <section anchor="s-14-1-atxn-bundle-json-ld-context">
        <name>14.1 ATXN Bundle JSON-LD Context</name>
        <t>URI: <tt>https://swarmsync.ai/spec/atxn/v1</tt></t>
      </section>
      <section anchor="s-14-2-atxn-profile-registry">
        <name>14.2 ATXN Profile Registry</name>
        <t>A new IANA registry "ATXN Profile Identifiers" is requested. Initial entries:</t>
        <table>
          <thead>
            <tr>
              <th>Profile ID</th>
              <th>Description</th>
              <th>Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>atxn-mandate-ap2</td>
              <td>AP2 binding</td>
              <td>This document</td>
            </tr>
            <tr>
              <td>atxn-card-stripe-acp</td>
              <td>Stripe ACP binding</td>
              <td>This document</td>
            </tr>
            <tr>
              <td>atxn-card-visa-tap</td>
              <td>Visa TAP binding</td>
              <td>This document</td>
            </tr>
            <tr>
              <td>atxn-card-mc-agentpay</td>
              <td>Mastercard Agent Pay binding</td>
              <td>This document</td>
            </tr>
            <tr>
              <td>atxn-crypto-x402</td>
              <td>x402 binding</td>
              <td>This document</td>
            </tr>
            <tr>
              <td>atxn-crypto-erc8004</td>
              <td>ERC-8004 binding</td>
              <td>This document</td>
            </tr>
            <tr>
              <td>atxn-autonomous-default</td>
              <td>Standing-intent default</td>
              <td>This document</td>
            </tr>
            <tr>
              <td>atxn-platform-oauth-hmac</td>
              <td>Platform-vouched OAuth+HMAC</td>
              <td>This document</td>
            </tr>
          </tbody>
        </table>
        <t>Registration policy: Specification Required (per RFC 8126).</t>
      </section>
      <section anchor="s-14-3-atxn-liability-waterfall-enum">
        <name>14.3 ATXN Liability Waterfall Enum</name>
        <t>A new IANA registry "ATXN Liability Tiers" is requested. Initial entries listed in Section 11.</t>
      </section>
    </section>
    <section anchor="s-15-acknowledgements">
      <name>15. Acknowledgements</name>
      <t>This specification is the synthesis of two independent analytical processes:</t>
      <ul>
        <li>
          <t><strong>Decision Oracle adjudication</strong> (2026-04-25), six agents converging on a five-element bundle structure with 7.5/10 confidence;</t>
        </li>
        <li>
          <t><strong>Ultimate Brainstorm panel</strong> (2026-04-25), ten agents producing independent definitions, four adversarial cross-examinations, a Crux Engine analysis, and a Steelman counter-thesis.</t>
        </li>
      </ul>
      <t>The author thanks the panel agents — EpistemicAuditor, Archaeologist, Quantifier, ConstraintCartographer, socratic-mentor, DarkMirror, IdeaMatrix, RemixForge, SoSpec, SpiderSpark, DarkMirror, IdeaMatrix — and the Decision Oracle agents for the framework synthesis.</t>
      <t>The author also acknowledges Paola Di Maio's prior critical review of the SwarmSync IETF Draft Stack (AIVS, VCAP, ATEP, SwarmScore V1/V2 Canary), the AIKR CG Technical Note AI-KR-CG-TR-2026-001 that aligned ATXN's cryptographic floor with W3C VC norms, and the AP2 coalition for the Intent/Cart/Payment Mandate vocabulary that ATXN inherits via Profile-MANDATE.</t>
    </section>
    <section anchor="s-16-references">
      <name>16. References</name>
      <section anchor="s-16-1-normative-references">
        <name>16.1 Normative References</name>
        <ul>
          <li>
            <t>[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.</t>
          </li>
          <li>
            <t>[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, May 2017.</t>
          </li>
          <li>
            <t>[RFC8032] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital Signature Algorithm (EdDSA)", RFC 8032, January 2017.</t>
          </li>
          <li>
            <t>[RFC8785] Rundgren, A., et al., "JSON Canonicalization Scheme (JCS)", RFC 8785, June 2020.</t>
          </li>
          <li>
            <t>[W3C-VC-2.0] W3C, "Verifiable Credentials Data Model 2.0", https://www.w3.org/TR/vc-data-model-2.0/</t>
          </li>
          <li>
            <t>[W3C-DID] W3C, "Decentralized Identifiers (DIDs) v1.0", https://www.w3.org/TR/did-core/</t>
          </li>
          <li>
            <t>[W3C-DI-EDDSA] W3C, "Data Integrity EdDSA Cryptosuites v1.0", W3C Recommendation, May 2025.</t>
          </li>
          <li>
            <t>[draft-stone-aivs-01] Stone, B., "AIVS: Agentic Integrity Verification Standard", Internet-Draft, work in progress.</t>
          </li>
          <li>
            <t>[draft-stone-vcap-01] Stone, B., "VCAP: Verified Commerce for Agent Protocols", Internet-Draft, work in progress.</t>
          </li>
          <li>
            <t>[draft-stone-atep-01] Stone, B., "ATEP: Agent Trust and Execution Passport", Internet-Draft, work in progress.</t>
          </li>
        </ul>
      </section>
      <section anchor="s-16-2-informative-references">
        <name>16.2 Informative References</name>
        <ul>
          <li>
            <t>[UCC-2-204] Uniform Commercial Code §2-204, "Formation in General"</t>
          </li>
          <li>
            <t>[UETA-14] Uniform Electronic Transactions Act §14, "Automated Transactions"</t>
          </li>
          <li>
            <t>[REST-AGENCY-3D] Restatement (Third) of Agency, American Law Institute</t>
          </li>
          <li>
            <t>[CISG] United Nations Convention on Contracts for the International Sale of Goods</t>
          </li>
          <li>
            <t>[REG-E] 12 CFR Part 1005 (Regulation E), Electronic Fund Transfers</t>
          </li>
          <li>
            <t>[AP2] Google Agentic Commerce, "Agent Payments Protocol", https://github.com/google-agentic-commerce/AP2</t>
          </li>
          <li>
            <t>[STRIPE-ACP] Stripe, "Agentic Commerce Protocol"</t>
          </li>
          <li>
            <t>[VISA-TAP] Visa, "Trusted Agent Protocol"</t>
          </li>
          <li>
            <t>[x402] Coinbase, "x402: Internet-native payments for AI agents"</t>
          </li>
          <li>
            <t>[ERC-8004] Ethereum, "ERC-8004: Trustless Agents"</t>
          </li>
          <li>
            <t>[draft-stone-adrp-01] Stone, B., "ADRP: Agent Dispute Resolution Protocol", Internet-Draft, forthcoming.</t>
          </li>
          <li>
            <t>[UCP-600] International Chamber of Commerce, "Uniform Customs and Practice for Documentary Credits"</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="appendix-a-json-schema-informative">
      <name>Appendix A: JSON Schema (Informative)</name>
      <sourcecode type="json">{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://swarmsync.ai/spec/atxn/v1/bundle.schema.json",
  "title": "ATXN Bundle",
  "type": "object",
  "required": ["bundle_id", "tier", "profile", "intent_mandate", "scope_token", "payment_auth", "delivery_attestation", "revocability_window", "standing_tokens", "state"],
  "properties": {
    "bundle_id": { "type": "string", "format": "uuid" },
    "tier": { "enum": ["L1", "L2", "L3"] },
    "profile": { "type": "array", "items": { "type": "string" }, "minItems": 1 },
    "intent_mandate": { "$ref": "#/$defs/IntentMandate" },
    "scope_token": { "$ref": "#/$defs/ScopeToken" },
    "payment_auth": { "$ref": "#/$defs/PaymentAuth" },
    "delivery_attestation": { "$ref": "#/$defs/DeliveryAttestation" },
    "revocability_window": { "$ref": "#/$defs/RevocabilityWindow" },
    "standing_tokens": {
      "type": "array",
      "items": { "$ref": "#/$defs/StandingToken" },
      "minItems": 2,
      "maxItems": 2
    },
    "state": { "enum": ["proposed", "authorized", "executing", "delivered", "finalized", "disputed", "adjudicated"] },
    "validity_tier": { "enum": ["primary", "secondary"] },
    "epistemic_attestation": { "$ref": "#/$defs/EpistemicAttestation" }
  }
}
</sourcecode>
      <t>(Full JSON Schema with <tt>$defs</tt> for each sub-element is published at the IANA-registered URI.)</t>
    </section>
    <section anchor="appendix-b-worked-example-informative">
      <name>Appendix B: Worked Example (Informative)</name>
      <t><strong>Scenario:</strong> A consumer's shopping agent purchases a $42.00 pair of running shoes from a merchant agent on Stripe ACP rails. L2 conformance, Profile-CARD + Profile-JURISDICTION-US, two-tier validity = primary.</t>
      <sourcecode>Bundle.bundle_id           = 7f3a...
Bundle.tier                = "L2"
Bundle.profile             = ["atxn-card-stripe-acp", "atxn-jurisdiction-us"]
Bundle.state               = "finalized"
Bundle.validity_tier       = "primary"

intent_mandate:
  outcome                  = "Purchase running shoes, size 10, men's, blue"
  budget_ceiling           = 50.00 USD
  counterparty_class       = "verified_merchant"
  time_window              = 2026-04-25T00:00:00Z / 2026-04-26T00:00:00Z
  choice_of_law            = "US"
  mandate_framework_ref    = "https://consumer.example/mandate-framework/v1"
  principal_signature      = Ed25519(...)

scope_token:
  max_spend                = 50.00 USD
  allowed_actions          = ["purchase:athletic_footwear"]
  allowed_counterparties   = ["did:web:merchant.example"]
  enforcement_mode         = "advisory"
  operator_signature       = Ed25519(...)

payment_auth:
  instrument_type          = "card_token"
  instrument_ref           = "stripe_acp_spt_abc123"
  amount                   = 42.00 USD
  profile                  = "atxn-card-stripe-acp"
  principal_signature      = Ed25519(...)

delivery_attestation:
  deliverable_class        = "physical_offchain"
  attestation_pattern      = { third_party_carrier_did: "did:web:fedex.com", signed_proof_of_delivery: "..." }
  counterparty_signature   = Ed25519(merchant)
  independent_attestor_signature = Ed25519(fedex)

revocability_window:
  start_time               = 2026-04-25T14:00:00Z
  end_time                 = 2026-06-24T14:00:00Z   [60-day Reg E window]
  revocation_beacon_url    = "https://consumer.example/beacon"
  clock_authority          = { threshold: "3-of-5", set: ["aws-ts", "gcp-ts", "azure-ts", "swarmsync-ts", "stripe-ts"] }

standing_tokens:
  [0] consumer-side: agent_key → operator_key (consumer.example) → principal_did
       capacity_attestation: VC issued by US-based identity verifier
       arbiter_did: did:web:arb.swarmsync.ai
  [1] merchant-side: agent_key → operator_key (merchant.example) → corporate_did
       capacity_attestation: VC issued by Stripe's merchant onboarding
       arbiter_did: did:web:arb.swarmsync.ai
</sourcecode>
      <t>
        <strong>End of draft-stone-atxn-01</strong>
      </t>
      <t><em>Revision -01 prepared for IETF Datatracker submission</em> <em>Companion drafts: AIVS-01, VCAP-01, ATEP-01, ADRP-00 (forthcoming)</em></t>
    </section>
  </middle>
</rfc>
