<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-jeftovic-x402-dns-discovery-00" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="x402 DNS Discovery">Discovering x402 Resources via DNS TXT Records</title>
    <seriesInfo name="Internet-Draft" value="draft-jeftovic-x402-dns-discovery-00"/>
    <author initials="M. E." surname="Jeftovic" fullname="Mark E. Jeftovic">
      <organization>easyDNS Technologies Inc.</organization>
      <address>
        <email>markjr@easydns.com</email>
      </address>
    </author>
    <date year="2025" month="November" day="07"/>
    <area>Applications and Real-Time</area>
    <workgroup>Independent Submission</workgroup>
    <keyword>x402</keyword>
    <keyword>DNS</keyword>
    <keyword>TXT</keyword>
    <keyword>payment</keyword>
    <keyword>discovery</keyword>
    <abstract>
      <?line 52?>

<t>This document defines a DNS-based discovery mechanism for locating x402 payment resources associated with a domain.</t>
      <t>Domains publish one or more <tt>_x402</tt> TXT records containing URLs where x402-compatible clients can obtain resource manifests and metadata over HTTPS.</t>
      <t>The goal is to provide a lightweight, cache-friendly discovery vector that enables automated payment negotiation using the x402 protocol while keeping DNS records static and non-sensitive.</t>
    </abstract>
  </front>
  <middle>
    <?line 60?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The x402 protocol reactivates HTTP status code 402 ("Payment Required") as a mechanism for metered and token-based access control.</t>
      <t>In this model, clients interact directly with an origin server or a designated facilitator to complete small, machine-to-machine payments before accessing a protected resource.</t>
      <t>This draft defines a complementary DNS discovery mechanism for x402.</t>
      <t>By publishing a <tt>_x402</tt> TXT record as defined in the Domain Name System <xref target="RFC1034"/> <xref target="RFC1035"/>, a domain can advertise one or more URLs where clients may retrieve x402 resource manifests and related metadata.
This allows agents and applications to locate payment gateways before making application requests, reducing latency and enabling autonomous client behavior.</t>
      <t>The TXT layer is a pointer-only facility; all dynamic data (prices, nonces, credentials) are obtained via HTTPS from the discovered URL(s).</t>
    </section>
    <section anchor="conventions-and-terminology">
      <name>Conventions and Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      <dl>
        <dt>Origin</dt>
        <dd>
          <t>The HTTP host (and optional port) that serves content or APIs protected by x402.</t>
        </dd>
        <dt>x402 Resource</dt>
        <dd>
          <t>Any endpoint implementing the x402 payment protocol.</t>
        </dd>
        <dt>Manifest URL</dt>
        <dd>
          <t>An HTTPS URL published via <tt>_x402</tt> TXT that, when fetched, returns a structured manifest describing available x402 resources.</t>
        </dd>
        <dt>Descriptor</dt>
        <dd>
          <t>A short, optional free-text token that semantically identifies the service (e.g., "api", "shop", "tshirt").</t>
        </dd>
      </dl>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>To enable discovery, an origin publishes one or more TXT records under the underscored node name <tt>_x402</tt> at the specific hostname where x402 resources are served:</t>
      <t><tt>dns
_x402.example.com.  300  IN  TXT  "v=x4021;url=https://example.com/.well-known/x402"
_x402.shop.example.com.  300  IN  TXT  "v=x4021;descriptor=tshirt;url=https://shop.example.com/x402-discovery"
</tt></t>
      <t>Clients perform a DNS TXT lookup on <tt>_x402.&lt;host&gt;</tt> using the exact hostname from their intended HTTP request and obtain one or more URLs.</t>
      <t>x402-protected resources SHOULD be served over HTTPS. While the x402 protocol operates at the HTTP layer, encrypted transport is strongly recommended for payment-related communications.</t>
      <t>Each URL represents an HTTPS endpoint where further x402 metadata can be retrieved using a simple GET request.</t>
      <t>The DNS record itself is static and only intended to point to discovery locations.</t>
      <t>All dynamic data - such as pricing, currency, or facilitator credentials - are obtained over HTTPS from the URL(s) indicated.</t>
      <dl>
        <dt>Discovery Scope</dt>
        <dd>
          <t>Each hostname requiring x402 discovery MUST publish its own <tt>_x402</tt> TXT record. There is no inheritance from parent domains. Clients MUST query <tt>_x402.&lt;exact-request-host&gt;</tt> to discover payment resources for that specific hostname.</t>
        </dd>
      </dl>
    </section>
    <section anchor="record-format">
      <name>Record Format</name>
      <t>Each <tt>_x402</tt> TXT record MUST contain a single string formatted as semicolon-separated key/value pairs:</t>
      <t><tt>abnf
record     = "v=" version ";" [ descriptor ] "url=" https_url
version    = "x4021"
descriptor = "descriptor=" desc_value ";"
desc_value = 1*(%x20-21 / %x23-3A / %x3C-7E)
             ; printable ASCII excluding quote (0x22) and semicolon (0x3B)
https_url  = "https://" 1*(VCHAR)
</tt></t>
      <ul spacing="normal">
        <li>
          <t>The optional <tt>descriptor</tt> provides a short, human-readable identifier for the service (e.g., "api", "shop", "tshirt").
          </t>
          <ul spacing="normal">
            <li>
              <t>Values SHOULD NOT contain semicolons or double quotes; if needed, publishers MAY percent-encode reserved characters per <xref target="RFC3986"/>.</t>
            </li>
            <li>
              <t>The <tt>descriptor</tt> is informational only and MUST NOT be relied upon for authorization or routing decisions.</t>
            </li>
            <li>
              <t>Clients MAY display the descriptor to users to help identify the service.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Implementations MUST ignore any keys they do not understand.</t>
        </li>
        <li>
          <t>Multiple TXT records at the same node are permitted and indicate multiple discovery URLs.</t>
        </li>
      </ul>
      <t>Examples:</t>
      <t><tt>dns
_x402.api.example.com. 300 IN TXT "v=x4021;descriptor=api;url=https://api.example.com/.well-known/x402"
_x402.shop.example.com. 300 IN TXT "v=x4021;descriptor=tshirt;url=https://shop.example.com/payment-info"
_x402.example.com. 300 IN TXT "v=x4021;url=https://pay.example.com/x402"
</tt></t>
    </section>
    <section anchor="client-processing">
      <name>Client Processing</name>
      <ol spacing="normal" type="1"><li>
          <t>Lookup - The client performs a DNS TXT query for <tt>_x402.&lt;host&gt;</tt> using the exact hostname from the intended HTTPS origin.</t>
        </li>
        <li>
          <t>Parse - For each TXT record beginning with <tt>v=x4021;</tt>, extract the <tt>url</tt> and, if present, the <tt>descriptor</tt>.</t>
        </li>
        <li>
          <t>Fetch - Issue an HTTPS GET to each discovered URL. Clients MUST validate TLS certificates per <xref target="RFC9110"/> and SHOULD require TLS 1.2 or higher.</t>
        </li>
        <li>
          <t>Interpret - Parse the returned manifest. The manifest format and required fields are defined by the x402 core protocol specification <xref target="X402"/>. Implementations MUST support JSON format for manifests.</t>
        </li>
        <li>
          <t>Negotiate - Proceed with the x402 payment handshake as defined by the x402 protocol, using the information obtained via HTTPS.</t>
        </li>
      </ol>
      <dl>
        <dt>Multiple Record Handling</dt>
        <dd>
          <t>If multiple <tt>_x402</tt> TXT records exist for a hostname, clients SHOULD attempt to fetch all discovered URLs unless local policy dictates otherwise. The order of TXT records in DNS responses is undefined; clients MUST NOT assume any preference based on record order. Clients MAY use the <tt>descriptor</tt> field to select among multiple options, or MAY present choices to users.</t>
        </dd>
        <dt>Caching</dt>
        <dd>
          <t>Clients SHOULD respect DNS TTL values for <tt>_x402</tt> records and HTTP cache headers (Cache-Control, Expires) from manifest URLs. When manifest content changes more frequently than DNS records, operators SHOULD use appropriate HTTP cache directives rather than short DNS TTLs.</t>
        </dd>
      </dl>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <ul spacing="normal">
        <li>
          <t>The <tt>_x402</tt> TXT record is expected to change infrequently and MAY have long TTLs (hours or days).</t>
        </li>
        <li>
          <t>Records MUST be published under each subdomain hostname where x402 resources are served (e.g., <tt>_x402.api.example.com</tt> for resources at <tt>api.example.com</tt>).</t>
        </li>
        <li>
          <t>Operators SHOULD sign their DNS zones with DNSSEC to prevent spoofing.</t>
        </li>
        <li>
          <t>Clients SHOULD prefer DNSSEC-validated responses when available.</t>
        </li>
        <li>
          <t>Only HTTPS URLs are permitted; clients MUST reject plain HTTP endpoints.</t>
        </li>
      </ul>
      <section anchor="url-path-conventions-informative">
        <name>URL Path Conventions (Informative)</name>
        <t>While this specification does not mandate any particular URL structure, operators MAY choose to follow the well-known URI convention defined in <xref target="RFC8615"/> by hosting discovery manifests at:</t>
        <t><tt>
/.well-known/x402
</tt></t>
        <t>This path aligns with similar discovery mechanisms in other protocols (e.g., Nostr NIP-05, Lightning Address LUD-16) and may aid in automated discovery tools. However, any HTTPS URL specified in the TXT record is valid, and clients MUST NOT assume any particular path structure.</t>
        <t>Examples of valid discovery URLs include:</t>
        <ul spacing="normal">
          <li>
            <t><tt>https://example.com/.well-known/x402</tt> (well-known convention)</t>
          </li>
          <li>
            <t><tt>https://api.example.com/x402-manifest</tt> (custom path)</t>
          </li>
          <li>
            <t><tt>https://cdn.example.com/payment-discovery</tt> (CDN-hosted)</t>
          </li>
          <li>
            <t><tt>https://us.example.com/x402</tt> (geographic routing)</t>
          </li>
        </ul>
        <t>Note: Use of <tt>/.well-known/x402</tt> does not require IANA registration unless it becomes a widely-adopted convention requiring standardization.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The TXT discovery mechanism does not convey any sensitive or dynamic payment data.</t>
      <t>However, compromise of DNS responses could redirect clients to malicious payment endpoints.</t>
      <t>To mitigate this, clients SHOULD verify DNSSEC signatures and servers SHOULD serve discovery manifests over HTTPS with valid certificates per <xref target="RFC9110"/>.</t>
      <t>Because TXT records are publicly visible, operators MUST NOT embed user-specific, time-sensitive, or confidential data in DNS records.</t>
      <t>The optional <tt>descriptor</tt> is informational only and MUST NOT be relied upon for authorization or routing.</t>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>DNS queries for <tt>_x402</tt> records may reveal which services a client intends to use. This information may be logged by recursive resolvers and other DNS infrastructure.</t>
        <t>Privacy-conscious clients SHOULD consider using DNS-over-HTTPS <xref target="RFC8484"/> or DNS-over-TLS <xref target="RFC7858"/> to prevent disclosure of discovery queries to network observers.</t>
        <t>Operators should be aware that publishing <tt>_x402</tt> TXT records publicly announces the availability of payment-required resources.</t>
      </section>
      <section anchor="tls-requirements">
        <name>TLS Requirements</name>
        <t>Clients MUST validate TLS certificates when fetching manifest URLs. Certificate validation MUST follow <xref target="RFC9110"/> and <xref target="RFC9525"/>. Clients SHOULD require TLS version 1.2 or higher and SHOULD prefer TLS 1.3 when available.</t>
        <t>Clients MUST NOT proceed with payment negotiation if certificate validation fails.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to add the following entry to the "Underscored and Globally Scoped DNS Node Names" registry defined in <xref target="RFC8552"/>:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Node Name</th>
            <th align="left">RR Type</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">_x402</td>
            <td align="left">TXT</td>
            <td align="left">This document</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC1034">
          <front>
            <title>Domain names - concepts and facilities</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1034"/>
          <seriesInfo name="DOI" value="10.17487/RFC1034"/>
        </reference>
        <reference anchor="RFC1035">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </reference>
        <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="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </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="RFC8552">
          <front>
            <title>Scoped Interpretation of DNS Resource Records through "Underscored" Naming of Attribute Leaves</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Formally, any DNS Resource Record (RR) may occur under any domain name. However, some services use an operational convention for defining specific interpretations of an RRset by locating the records in a DNS branch under the parent domain to which the RRset actually applies. The top of this subordinate branch is defined by a naming convention that uses a reserved node name, which begins with the underscore character (e.g., "_name"). The underscored naming construct defines a semantic scope for DNS record types that are associated with the parent domain above the underscored branch. This specification explores the nature of this DNS usage and defines the "Underscored and Globally Scoped DNS Node Names" registry with IANA. The purpose of this registry is to avoid collisions resulting from the use of the same underscored name for different services.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="222"/>
          <seriesInfo name="RFC" value="8552"/>
          <seriesInfo name="DOI" value="10.17487/RFC8552"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC9525">
          <front>
            <title>Service Identity in TLS</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="R. Salz" initials="R." surname="Salz"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Transport Layer Security (TLS) with Internet Public Key Infrastructure using X.509 (PKIX) certificates. This document specifies procedures for representing and verifying the identity of application services in such interactions.</t>
              <t>This document obsoletes RFC 6125.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9525"/>
          <seriesInfo name="DOI" value="10.17487/RFC9525"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7858">
          <front>
            <title>Specification for DNS over Transport Layer Security (TLS)</title>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
              <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7858"/>
          <seriesInfo name="DOI" value="10.17487/RFC7858"/>
        </reference>
        <reference anchor="RFC8484">
          <front>
            <title>DNS Queries over HTTPS (DoH)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8484"/>
          <seriesInfo name="DOI" value="10.17487/RFC8484"/>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="X402" target="https://x402.org">
          <front>
            <title>x402 Protocol Specification</title>
            <author>
              <organization>Coinbase Developer Platform</organization>
            </author>
            <date year="2025"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 217?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author gratefully acknowledges the architects of the original Hypertext Transfer Protocol, including Tim Berners-Lee, Roy Fielding, and the early contributors to the HTTP/1.0 and HTTP/1.1 specifications, whose design of the status code system (1xx-5xx) provided the long-dormant foundation for "Payment Required" (HTTP 402).</t>
      <t>Recognition is also extended to Erik Reppel, Coinbase, and the broader x402.org team for their pioneering work in implementing and open-sourcing the modern x402 protocol, and for advancing the idea of agentic micropayments on the web.</t>
      <t>Their efforts to operationalize HTTP 402 payments have provided the context and inspiration for this DNS-based discovery mechanism.</t>
    </section>
    <section anchor="example-flow">
      <name>Example Flow</name>
      <t><tt>text
1. A client wishes to access https://api.example.com/data
2. It queries DNS for _x402.api.example.com TXT
3. DNS responds with:
     "v=x4021;descriptor=api;url=https://api.example.com/.well-known/x402"
4. Client performs GET https://api.example.com/.well-known/x402 and receives
   a JSON manifest enumerating payable API endpoints.
5. Client follows x402 negotiation per core spec, receives
   402 Payment Required, completes settlement, and retries successfully.
</tt></t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
