<?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.43 (Ruby 4.0.1) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-artamokhov-dawn-marketplace-discovery-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Marketplace Discovery">A Discovery Document and Signed Catalogue for Capability Marketplaces</title>

    <author initials="A." surname="Artamokhov" fullname="Aleksandr Artamokhov">
      <organization>Independent</organization>
      <address>
        <email>alexar76@rambler.ru</email>
      </address>
    </author>

    <date year="2026" month="October" day="30"/>

    <area>Internet</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>agents</keyword> <keyword>discovery</keyword> <keyword>marketplace</keyword> <keyword>well-known</keyword> <keyword>signed catalogue</keyword>

    <abstract>


<?line 63?>

<t>This document defines a JSON discovery document, served at a well-known URI, that carries the
public properties a client needs before using a capability index: its name, the protocol
versions it serves, the location of its catalogue, and the key that signs the catalogue. It
also states the requirements for that signed catalogue and defines one signature profile.
Discovery between indexes, catalogue exchange and trust are out of scope.</t>



    </abstract>



  </front>

  <middle>


<?line 71?>

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

<t>Capability indexes (catalogues of invocable services offered by many providers) are now
operated by many independent parties, alongside protocols for machine payment <xref target="X402"/>,
agent-to-agent interaction <xref target="A2A"/> and tool registries <xref target="MCPREG"/>. A client that wants to use
an index needs a few public facts about it: a name, the protocol versions in use, where the
catalogue is, and which key signs the catalogue.</t>

<t><xref target="I-D.jimenez-dawn-discovery-landscape"/> describes the current mechanisms for publishing such
facts. Each defines its own well-known resource and schema, and signed catalogues rarely
specify the exact bytes that are signed. This document defines one discovery document and
requires any signature profile used with it to specify the signed bytes.</t>

<t>Catalogue exchange between indexes and peer admission are described separately in
<xref target="FEDERATION"/>.</t>

<section anchor="scope"><name>Scope</name>

<t>This document specifies:</t>

<t><list style="symbols">
  <t>a discovery document served at a well-known URI (<xref target="discovery"/>);</t>
  <t>requirements for the catalogue referenced from it (<xref target="catalogue"/>), including requirements
for any signature profile, and one profile (<xref target="profile"/>);</t>
  <t>key pinning by readers (<xref target="keys"/>).</t>
</list></t>

<t>It does not specify how indexes find each other, how catalogues are exchanged or ranked, how
capabilities are invoked or paid for, how providers are identified, or reputation.</t>

</section>
<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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>

<?line -18?>

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

<dl>
  <dt>Index:</dt>
  <dd>
    <t>A server that catalogues capabilities and answers queries about them.</t>
  </dd>
  <dt>Capability:</dt>
  <dd>
    <t>A named, invocable unit of work offered by a provider and catalogued by an index.</t>
  </dd>
  <dt>Catalogue:</dt>
  <dd>
    <t>The signed document, referenced from the discovery document, that lists an index's
capabilities.</t>
  </dd>
  <dt>Discovery document:</dt>
  <dd>
    <t>The JSON document defined in <xref target="discovery"/>.</t>
  </dd>
  <dt>Reader:</dt>
  <dd>
    <t>Any party that retrieves the discovery document or the catalogue.</t>
  </dd>
  <dt>Signature profile:</dt>
  <dd>
    <t>A named set of rules that defines the signature algorithm, the signed bytes and the
verification procedure for a catalogue.</t>
  </dd>
</dl>

</section>
</section>
<section anchor="discovery"><name>Discovery document</name>

<t>An index <bcp14>MUST</bcp14> serve a discovery document at the well-known URI
<spanx style="verb">/.well-known/agent-marketplace</spanx> (<xref target="RFC8615"/>, <xref target="iana-wk"/>) using the "https" scheme. It
<bcp14>MUST</bcp14> answer both GET and HEAD requests for it, and <bcp14>SHOULD</bcp14> support conditional requests
(<xref target="RFC9110"/>, Section 13).</t>

<t>The document is a JSON object <xref target="RFC8259"/> with media type <spanx style="verb">application/json</spanx>. The following
members are defined:</t>

<texttable>
      <ttcol align='left'>Member</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Requirement</ttcol>
      <c><spanx style="verb">name</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c><spanx style="verb">protocol_versions</spanx></c>
      <c>array of string</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c><spanx style="verb">catalogue_url</spanx></c>
      <c>string (URI)</c>
      <c><bcp14>REQUIRED</bcp14></c>
      <c><spanx style="verb">signer_public_key</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14> when the catalogue is signed</c>
      <c><spanx style="verb">signature_profile</spanx></c>
      <c>string</c>
      <c><bcp14>REQUIRED</bcp14> when the catalogue is signed</c>
      <c><spanx style="verb">capabilities_count</spanx></c>
      <c>number</c>
      <c><bcp14>RECOMMENDED</bcp14></c>
      <c><spanx style="verb">generated_at</spanx></c>
      <c>string (date-time)</c>
      <c><bcp14>RECOMMENDED</bcp14></c>
      <c><spanx style="verb">peers</spanx></c>
      <c>array of string (URI)</c>
      <c><bcp14>OPTIONAL</bcp14></c>
</texttable>

<dl>
  <dt><spanx style="verb">name</spanx>:</dt>
  <dd>
    <t>A human-readable label chosen by the operator. Names are not unique, and a reader <bcp14>MUST NOT</bcp14>
use a name as an identifier.</t>
  </dd>
  <dt><spanx style="verb">protocol_versions</spanx>:</dt>
  <dd>
    <t>The versions of the catalogue and query interfaces that the index serves, as opaque
strings. A reader that recognises none of them <bcp14>MUST NOT</bcp14> use the index.</t>
  </dd>
  <dt><spanx style="verb">catalogue_url</spanx>:</dt>
  <dd>
    <t>An absolute "https" URI <xref target="RFC3986"/> of the catalogue (<xref target="catalogue"/>). It <bcp14>MAY</bcp14> be on a
different host from the discovery document.</t>
  </dd>
  <dt><spanx style="verb">signer_public_key</spanx>, <spanx style="verb">signature_profile</spanx>:</dt>
  <dd>
    <t>The public key that signs the catalogue, encoded as the profile specifies, and the name of
that profile (<xref target="profile"/>). Readers handle the key as described in <xref target="keys"/>.</t>
  </dd>
  <dt><spanx style="verb">capabilities_count</spanx>, <spanx style="verb">generated_at</spanx>:</dt>
  <dd>
    <t>The number of catalogue entries when the document was generated, and the generation time
(<xref target="RFC3339"/>). They are informative; a reader <bcp14>MUST NOT</bcp14> treat a mismatch with the catalogue as an error.</t>
  </dd>
  <dt><spanx style="verb">peers</spanx>:</dt>
  <dd>
    <t>Discovery-document URIs of other indexes that the operator publishes. This document gives
them no further meaning; <xref target="FEDERATION"/> restricts what a federating index lists here.</t>
  </dd>
</dl>

<t>A reader <bcp14>MUST</bcp14> ignore members it does not recognise and <bcp14>MUST NOT</bcp14> reject a document because it
contains them. A member defined by this document <bcp14>MUST
NOT</bcp14> change type or meaning in a later revision; a different meaning requires a new member.</t>

<section anchor="example"><name>Example</name>

<figure><artwork><![CDATA[
{
  "name": "Example Capability Hub",
  "protocol_versions": ["v1", "v2"],
  "catalogue_url": "https://hub.example/catalogue",
  "signer_public_key": "11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo=",
  "signature_profile": "ed25519-pipe-2",
  "capabilities_count": 47,
  "generated_at": "2026-10-30T09:00:00Z",
  "peers": [
    "https://other.example/.well-known/agent-marketplace"
  ]
}
]]></artwork></figure>

</section>
<section anchor="relation-to-api-catalog"><name>Relation to api-catalog</name>

<t><xref target="RFC9727"/> defines <spanx style="verb">/.well-known/api-catalog</spanx>, in which a host lists its own APIs. The
discovery document describes an index that lists capabilities of other hosts and identifies
the key that signs that list. An index <bcp14>MAY</bcp14> publish both.</t>

</section>
</section>
<section anchor="catalogue"><name>The catalogue</name>

<t>The resource at <spanx style="verb">catalogue_url</spanx> is a JSON object. Its full schema depends on the protocol
version; this section lists the minimum that every version has to contain.</t>

<section anchor="minimum-content"><name>Minimum content</name>

<dl>
  <dt><spanx style="verb">protocol_version</spanx>:</dt>
  <dd>
    <t>A string listed in the discovery document's <spanx style="verb">protocol_versions</spanx>.</t>
  </dd>
  <dt><spanx style="verb">generated_at</spanx>:</dt>
  <dd>
    <t>The generation time (<xref target="RFC3339"/>).</t>
  </dd>
  <dt><spanx style="verb">capabilities</spanx>:</dt>
  <dd>
    <t>An array of objects, each with at least <spanx style="verb">name</spanx> (string), <spanx style="verb">description</spanx> (string) and
<spanx style="verb">input_schema</spanx> (object).</t>
  </dd>
  <dt><spanx style="verb">signature</spanx>:</dt>
  <dd>
    <t>A signature object (<xref target="signature-object"/>), when the discovery document names a signature
profile.</t>
  </dd>
</dl>

</section>
<section anchor="profile-requirements"><name>Requirements for signature profiles</name>

<t>A signature profile <bcp14>MUST</bcp14> specify:</t>

<t><list style="numbers" type="1">
  <t>the signature algorithm and the encoding of keys and signature values;</t>
  <t>the exact byte string that is signed and how it is derived from the catalogue;</t>
  <t>for each member that is digested rather than copied into that byte string, its
serialisation: handling of absent members, member order, whitespace, and non-ASCII
characters;</t>
  <t>the verification procedure, including inputs that <bcp14>MUST</bcp14> be rejected before the signature is
evaluated.</t>
</list></t>

<t>Item 3 is required because differences there produce signatures that verify in one
implementation and not in another.</t>

</section>
<section anchor="signature-object"><name>Signature object</name>

<t>The <spanx style="verb">signature</spanx> member of a catalogue is a JSON object:</t>

<figure><artwork><![CDATA[
{
  "algorithm": "<profile-defined>",
  "public_key": "<encoded public key, OPTIONAL>",
  "value": "<encoded signature>"
}
]]></artwork></figure>

<t><spanx style="verb">public_key</spanx> <bcp14>MAY</bcp14> be omitted when the reader already holds a pinned key (<xref target="keys"/>). Profiles
<bcp14>MAY</bcp14> add members (for example, a second signature with another algorithm), and readers <bcp14>MUST</bcp14>
ignore members they do not recognise. A catalogue whose <spanx style="verb">signature</spanx> is not an object <bcp14>MUST</bcp14> be
treated as unsigned.</t>

</section>
</section>
<section anchor="keys"><name>Key pinning</name>

<t>A reader <bcp14>MUST</bcp14> verify a catalogue with the key it has pinned for the index. A key carried in
the catalogue, or in the discovery document fetched in the same operation, does not by itself
authenticate the catalogue.</t>

<t>On first contact the reader <bcp14>SHOULD</bcp14> pin the key that the discovery document advertises and
record the time. After that, the reader:</t>

<t><list style="symbols">
  <t><bcp14>MUST NOT</bcp14> accept a different key automatically;</t>
  <t><bcp14>SHOULD</bcp14> record any rejected key, with the time and the document that carried it;</t>
  <t><bcp14>MAY</bcp14> accept a new key through an explicit operator decision.</t>
</list></t>

<t>As a consequence, a key change at the index requires action at each reader. See
<xref target="security-rotation"/>.</t>

<t>A pinned key shows that the current publisher holds the key that was first seen. It does not
identify the publisher. A reader's user interface <bcp14>MUST NOT</bcp14> present a verified signature as
evidence of the operator's identity.</t>

</section>
<section anchor="profile"><name>The ed25519-pipe-2 signature profile</name>

<t>This profile is identified by the <spanx style="verb">signature_profile</spanx> value <spanx style="verb">ed25519-pipe-2</spanx>. It is the
profile used by the implementations listed in <xref target="implementation-status"/>.</t>

<section anchor="algorithm-and-encodings"><name>Algorithm and encodings</name>

<t>The signature is Ed25519 <xref target="RFC8032"/> over the UTF-8 encoding of the canonical string defined
in <xref target="canonical"/>. Keys and signature values are base64-encoded with the standard alphabet and
padding (<xref target="RFC4648"/>, Section 4). The <spanx style="verb">algorithm</spanx> member of the signature object is <spanx style="verb">ed25519</spanx>.</t>

</section>
<section anchor="canonical"><name>Canonical string</name>

<t>The canonical string is the concatenation of the following five <spanx style="verb">name:value</spanx> pairs, in this
order, separated by the character "|" (U+007C), with no whitespace:</t>

<figure><artwork><![CDATA[
capabilities_count:<n>|generated_at:<t>|protocol_version:<v>|
tools_hash:<h1>|by_hub_hash:<h2>
]]></artwork></figure>

<t>(shown on two lines for width; the string contains no line break)</t>

<t>where:</t>

<t><list style="symbols">
  <t><spanx style="verb">&lt;n&gt;</spanx> is the decimal value of <spanx style="verb">capabilities_count</spanx>, or <spanx style="verb">0</spanx> if absent;</t>
  <t><spanx style="verb">&lt;t&gt;</spanx> is the value of <spanx style="verb">generated_at</spanx>, or the empty string if absent;</t>
  <t><spanx style="verb">&lt;v&gt;</spanx> is the value of <spanx style="verb">protocol_version</spanx>, or <spanx style="verb">v1</spanx> if absent;</t>
  <t><spanx style="verb">&lt;h1&gt;</spanx> is the digest (<xref target="digest"/>) of the <spanx style="verb">capabilities</spanx> array (the pair name <spanx style="verb">tools_hash</spanx>
follows the deployed wire format, in which the array is named <spanx style="verb">tools</spanx>);</t>
  <t><spanx style="verb">&lt;h2&gt;</spanx> is the digest of the <spanx style="verb">by_hub</spanx> object (per-peer metadata in the deployed format). If
absent, the empty object <spanx style="verb">{}</spanx> <bcp14>MUST</bcp14> be digested.</t>
</list></t>

<t>Both digests <bcp14>MUST</bcp14> be included. Without <spanx style="verb">tools_hash</spanx>, an intermediary could change catalogue
entries, including prices, without invalidating the signature; without <spanx style="verb">by_hub_hash</spanx>, it could
change per-peer metadata.</t>

</section>
<section anchor="digest"><name>Digest rule</name>

<t>The digest of a JSON value is the lowercase hexadecimal SHA-256 <xref target="RFC6234"/> of the UTF-8
encoding of its serialisation with these rules:</t>

<t><list style="numbers" type="1">
  <t>object members in ascending order of member name, compared by Unicode code point;</t>
  <t>member separator <spanx style="verb">, </spanx> (comma, space) and name separator <spanx style="verb">: </spanx> (colon, space);</t>
  <t>non-ASCII characters emitted as themselves, not as <spanx style="verb">\uXXXX</spanx> escapes;</t>
  <t>integers without a fractional part; other numbers in the shortest decimal form that
round-trips to the same IEEE 754 double;</t>
  <t>no leading or trailing whitespace.</t>
</list></t>

<t>Rule 2 differs from <xref target="RFC8785"/>, which emits no whitespace. Changing it would change every
existing signature; an RFC 8785 based variant would be defined as a separate profile name.</t>

</section>
<section anchor="verify"><name>Verification</name>

<t><xref target="RFC8032"/> allows more than one verification equation. With the permissive variant used by
several common libraries, a signature made with a small-order public key can verify for any
message. A verifier implementing this profile <bcp14>MUST</bcp14> reject a signature, before evaluating the
verification equation, if:</t>

<t><list style="numbers" type="1">
  <t>the public key, or the point R in the first 32 octets of the signature, has order dividing
8 (with the top bit of the last octet cleared, the encodings <spanx style="verb">00..00</spanx>, <spanx style="verb">01 00..00</spanx>,
<spanx style="verb">26e8958f..fc05</spanx>, <spanx style="verb">c7176a70..037a</spanx>, <spanx style="verb">ecff..ff7f</spanx>, and the non-canonical <spanx style="verb">edff..ff7f</spanx> and
<spanx style="verb">eeff..ff7f</spanx>); or</t>
  <t>the scalar S in the last 32 octets, read as a little-endian integer, is not less than the
group order L = 2^252 + 27742317777372353535851937790883648493.</t>
</list></t>

<t>Keys and signatures generated as specified in <xref target="RFC8032"/> pass these checks except with
negligible probability.</t>

</section>
<section anchor="test-vectors"><name>Test vectors</name>

<t>Signed example catalogues and negative vectors (tampered members, wrong signer, version
downgrade, small-order key), with a runner, are published at <xref target="VECTORS"/>.</t>

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

<section anchor="signatures-and-transport"><name>Signatures and transport</name>

<t>The catalogue may be served from a different host, a content distribution network or a
cache, and a reader that stores a catalogue needs to verify it again later without the
original connection. HTTPS does not cover either case; the catalogue signature does.</t>

</section>
<section anchor="scope-of-a-signature"><name>Scope of a signature</name>

<t>A valid signature shows that the holder of the pinned key produced the catalogue and that it
has not been modified. It does not show that the listed capabilities exist, behave as
described, or cost what is stated. A reader's user interface <bcp14>MUST NOT</bcp14> suggest otherwise.</t>

</section>
<section anchor="uris-from-other-parties"><name>URIs from other parties</name>

<t><spanx style="verb">catalogue_url</spanx> and <spanx style="verb">peers</spanx> contain URIs chosen by another party. Before retrieving them, a
reader <bcp14>MUST</bcp14> apply the request-forgery safeguards of <xref target="FEDERATION"/>: refuse private, loopback,
link-local, multicast and unspecified addresses (including IPv4-mapped forms), check the
resolved address at connection time, not follow redirects automatically, and limit response
size and time.</t>

</section>
<section anchor="security-rotation"><name>Key rotation</name>

<t>Because readers do not accept a new key automatically (<xref target="keys"/>), rotating a key interrupts
readers until their operators act. An index <bcp14>SHOULD</bcp14> announce a rotation in advance and <bcp14>SHOULD</bcp14>
sign with the old and new keys in parallel for a period, using additional members of the
signature object. A rotation announcement mechanism may be defined in a later revision.</t>

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

<section anchor="iana-wk"><name>Well-Known URI registration</name>

<t>IANA is requested to register the following in the "Well-Known URIs" registry <xref target="RFC8615"/>:</t>

<dl>
  <dt>URI suffix:</dt>
  <dd>
    <t>agent-marketplace</t>
  </dd>
  <dt>Change controller:</dt>
  <dd>
    <t>IETF</t>
  </dd>
  <dt>Specification document:</dt>
  <dd>
    <t>This document, <xref target="discovery"/></t>
  </dd>
  <dt>Status:</dt>
  <dd>
    <t>permanent</t>
  </dd>
  <dt>Related information:</dt>
  <dd>
    <t>JSON document describing a capability index: name, protocol versions, catalogue location
and catalogue signing key.</t>
  </dd>
</dl>

</section>
<section anchor="signature-profile-names"><name>Signature profile names</name>

<t>This document defines one profile name, <spanx style="verb">ed25519-pipe-2</spanx>. No registry is requested for a
single value; if more profiles are defined, a registry with the Specification Required policy
would be appropriate.</t>

</section>
</section>
<section anchor="implementation-status"><name>Implementation Status</name>

<t>This section records the status of known implementations at the time of writing, per
<xref target="RFC7942"/>. It is to be removed before publication as an RFC.</t>

<t><list style="symbols">
  <t>Reference implementation (Apache-2.0), deployed on six public indexes operated by the
author or affiliated parties. Since 2026-10-30 they serve this document at
<spanx style="verb">/.well-known/agent-marketplace</spanx> in addition to the earlier path
<spanx style="verb">/.well-known/ai-market.json</spanx>, which uses the member names in <xref target="wire-mapping"/>.</t>
  <t>Three further implementations by the same author, written from the text and test vectors
without the reference source: a Go directory node, a Rust catalogue verifier, and a
JavaScript verifier. Writing them found four ambiguities in the text, which were corrected.</t>
  <t>Two services operated by parties unrelated to the author publish catalogues that verify
under <spanx style="verb">ed25519-pipe-2</spanx> (checked on 2026-10-30 with the conformance runner in <xref target="VECTORS"/>).
Which software they run is not known.</t>
</list></t>

<t>No implementation by another party is known to have been written from this document.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC3339">
  <front>
    <title>Date and Time on the Internet: Timestamps</title>
    <author fullname="G. Klyne" initials="G." surname="Klyne"/>
    <author fullname="C. Newman" initials="C." surname="Newman"/>
    <date month="July" year="2002"/>
    <abstract>
      <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3339"/>
  <seriesInfo name="DOI" value="10.17487/RFC3339"/>
</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="RFC4648">
  <front>
    <title>The Base16, Base32, and Base64 Data Encodings</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <date month="October" year="2006"/>
    <abstract>
      <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4648"/>
  <seriesInfo name="DOI" value="10.17487/RFC4648"/>
</reference>
<reference anchor="RFC6234">
  <front>
    <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
    <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
    <author fullname="T. Hansen" initials="T." surname="Hansen"/>
    <date month="May" year="2011"/>
    <abstract>
      <t>Federal Information Processing Standard, FIPS</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6234"/>
  <seriesInfo name="DOI" value="10.17487/RFC6234"/>
</reference>
<reference anchor="RFC8032">
  <front>
    <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
    <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
    <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
    <date month="January" year="2017"/>
    <abstract>
      <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8032"/>
  <seriesInfo name="DOI" value="10.17487/RFC8032"/>
</reference>
<reference anchor="RFC8259">
  <front>
    <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
    <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
    <date month="December" year="2017"/>
    <abstract>
      <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
      <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="90"/>
  <seriesInfo name="RFC" value="8259"/>
  <seriesInfo name="DOI" value="10.17487/RFC8259"/>
</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="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="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>



    </references>

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



<reference anchor="RFC7942">
  <front>
    <title>Improving Awareness of Running Code: The Implementation Status Section</title>
    <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <date month="July" year="2016"/>
    <abstract>
      <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
      <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="205"/>
  <seriesInfo name="RFC" value="7942"/>
  <seriesInfo name="DOI" value="10.17487/RFC7942"/>
</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="RFC9727">
  <front>
    <title>api-catalog: A Well-Known URI and Link Relation to Help Discovery of APIs</title>
    <author fullname="K. Smith" initials="K." surname="Smith"/>
    <date month="June" year="2025"/>
    <abstract>
      <t>This document defines the "api-catalog" well-known URI and link relation. It is intended to facilitate automated discovery and usage of published Application Programming Interfaces (APIs). A request to the api-catalog resource will return a document providing information about, and links to, the Publisher's APIs.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9727"/>
  <seriesInfo name="DOI" value="10.17487/RFC9727"/>
</reference>

<reference anchor="I-D.jimenez-dawn-discovery-landscape">
   <front>
      <title>A Survey of AI Agent Discovery Mechanisms</title>
      <author fullname="Jaime Jimenez" initials="J." surname="Jimenez">
         <organization>Ericsson</organization>
      </author>
      <author fullname="Jim Feng" initials="J." surname="Feng">
         <organization>Ericsson</organization>
      </author>
      <author fullname="Jari Arkko" initials="J." surname="Arkko">
         <organization>Ericsson</organization>
      </author>
      <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
         <organization>Ericsson</organization>
      </author>
      <author fullname="Rajat Kandoi" initials="R." surname="Kandoi">
         <organization>Ericsson</organization>
      </author>
      <date day="3" month="July" year="2026"/>
      <abstract>
	 <t>   This document surveys mechanisms for AI agent discovery being
   developed at the IETF, at AAIF, at 3GPP, and in open-source projects.
   It compares them by discovery model, scope, dynamism, cross-domain
   reach, and semantic capability.  It identifies gaps, overlaps, and
   conflicts between the approaches to inform future standardization
   work.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-jimenez-dawn-discovery-landscape-00"/>
   
</reference>

<reference anchor="FEDERATION" >
  <front>
    <title>Federation Between Capability Indexes: Crawl, Reciprocal Identification and Admission</title>
    <author initials="A." surname="Artamokhov">
      <organization></organization>
    </author>
    <date year="2026" month="October"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-artamokhov-dawn-index-federation-01"/>
</reference>
<reference anchor="A2A" target="https://a2a-protocol.org/latest/specification/">
  <front>
    <title>Agent2Agent (A2A) Protocol Specification, version 1.0</title>
    <author >
      <organization></organization>
    </author>
    <date year="2026" month="March"/>
  </front>
</reference>
<reference anchor="MCPREG" target="https://registry.modelcontextprotocol.io/">
  <front>
    <title>Model Context Protocol Registry</title>
    <author >
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>
<reference anchor="X402" target="https://github.com/x402-foundation/x402/blob/main/specs/x402-specification-v2.md">
  <front>
    <title>x402 Payment Protocol Specification, version 2</title>
    <author >
      <organization></organization>
    </author>
    <date year="2025" month="December"/>
  </front>
</reference>
<reference anchor="VECTORS" target="https://github.com/alexar76/aimarket-protocol/tree/main/test-vectors">
  <front>
    <title>AIMarket Protocol v2 test vectors and conformance runner</title>
    <author >
      <organization></organization>
    </author>
    <date year="2026"/>
  </front>
</reference>


    </references>

</references>


<?line 439?>

<section numbered="false" anchor="wire-mapping"><name>Mapping to the deployed wire format</name>

<texttable>
      <ttcol align='left'>This document</ttcol>
      <ttcol align='left'>Earlier deployed name</ttcol>
      <c><spanx style="verb">/.well-known/agent-marketplace</spanx></c>
      <c><spanx style="verb">/.well-known/ai-market.json</spanx></c>
      <c><spanx style="verb">catalogue_url</spanx></c>
      <c><spanx style="verb">manifest_url</spanx></c>
      <c><spanx style="verb">capabilities</spanx></c>
      <c><spanx style="verb">tools</spanx></c>
      <c><spanx style="verb">signature_profile</spanx></c>
      <c>not present; always <spanx style="verb">ed25519-pipe-2</spanx></c>
      <c><spanx style="verb">peers</spanx> (array of URI)</c>
      <c><spanx style="verb">peers</spanx> (array of objects with <spanx style="verb">url</spanx>)</c>
</texttable>

<t>The canonical string, digest rule and verification rule are the same, so a signature valid
under one is valid under the other.</t>

</section>
<section numbered="false" anchor="implementation-experience"><name>Implementation experience</name>

<t>These failures in deployed implementations led to requirements in this document:</t>

<t><list style="symbols">
  <t>An implementation that omitted <spanx style="verb">by_hub_hash</spanx> produced catalogues no other implementation
could verify (<xref target="canonical"/>).</t>
  <t>An earlier published vector set signed a canonical string without the digests (<xref target="canonical"/>).</t>
  <t>Three verifiers failed on a signature encoded as a bare string (<xref target="signature-object"/>).</t>
  <t>A widely used Ed25519 library accepted a signature under a small-order key for an arbitrary
message (<xref target="verify"/>).</t>
</list></t>

</section>
<section numbered="false" anchor="changes-from-00"><name>Changes from -00</name>

<t>Editorial: the text was shortened, and explanatory passages were removed or moved to the
appendix above. Implementation Status was updated. One wording correction: the requirement to
ignore unrecognised members applies to readers; -00 said "index".</t>

</section>
<section numbered="false" anchor="acknowledgements"><name>Acknowledgements</name>

<t>Thanks to the authors of <xref target="I-D.jimenez-dawn-discovery-landscape"/>.</t>

</section>


  </back>

<!-- ##markdown-source:
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

-->

</rfc>

