<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: GenGEO</title>
    <description>The latest articles on DEV Community by GenGEO (@gengeo-ai).</description>
    <link>https://dev.to/gengeo-ai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3914923%2Fa5f861c3-d3bd-456c-8a24-1f0067f805a3.png</url>
      <title>DEV Community: GenGEO</title>
      <link>https://dev.to/gengeo-ai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gengeo-ai"/>
    <language>en</language>
    <item>
      <title>Anthropic just proved agent commerce works. Their own data shows why verification infrastructure needs to exist.</title>
      <dc:creator>GenGEO</dc:creator>
      <pubDate>Tue, 19 May 2026 21:57:32 +0000</pubDate>
      <link>https://dev.to/gengeo-ai/anthropic-just-proved-agent-commerce-works-their-own-data-shows-why-verification-infrastructure-48fh</link>
      <guid>https://dev.to/gengeo-ai/anthropic-just-proved-agent-commerce-works-their-own-data-shows-why-verification-infrastructure-48fh</guid>
      <description>

&lt;p&gt;&lt;em&gt;This is our third post in a series on agentic commerce. Previously: AI shopping agents have no standard way to verify merchants — so we built one and AI Agents Need a Trust Layer Before They Can Transact.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;Last month, Anthropic published something quietly significant.&lt;/p&gt;

&lt;p&gt;They called it &lt;a href="https://www.anthropic.com/features/project-deal" rel="noopener noreferrer"&gt;Project Deal&lt;/a&gt;. For one week in December 2025, they created a Craigslist-style internal marketplace — but with a twist: every transaction was handled entirely by Claude agents acting on behalf of 69 employees. No human intervention once the experiment started. Agents posted listings, made offers, countered, and closed deals autonomously via Slack.&lt;/p&gt;

&lt;p&gt;The result: 186 deals, $4,000+ transacted, across 500+ listed items.&lt;/p&gt;

&lt;p&gt;It worked.&lt;/p&gt;

&lt;p&gt;But buried in their findings is something that points directly at an unresolved infrastructure problem — one we've been building into.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What Project Deal actually demonstrated&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The headline finding is that agent-to-agent commerce is real and closer than most people think. But the more interesting finding is what happened when agents weren't equally matched.&lt;/p&gt;

&lt;p&gt;Anthropic ran a parallel secret experiment: half the participants were randomly assigned Claude Opus 4.5 (their frontier model), half got Claude Haiku 4.5 (their smallest model). The results were measurable and consistent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Opus sellers extracted $2.68 more per item on average&lt;/li&gt;
&lt;li&gt;Opus buyers paid $2.45 less per item on average&lt;/li&gt;
&lt;li&gt;Opus agents completed roughly 2 more deals overall&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The same broken folding bike sold for $38 when represented by Haiku. $65 when represented by Opus.&lt;/p&gt;

&lt;p&gt;Here's the uncomfortable part: &lt;strong&gt;participants on the losing end didn't notice.&lt;/strong&gt; Perceived fairness scores were virtually identical across both groups — 4.05 for Opus deals, 4.06 for Haiku deals, on a 1–7 scale.&lt;/p&gt;

&lt;p&gt;As the authors put it, the inequality was "imperceptible to the participants."&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The gap Project Deal doesn't address&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Project Deal was a controlled experiment. 69 Anthropic employees, known participants, a closed Slack environment. Every agent on both sides was Claude. The marketplace was trusted by definition.&lt;/p&gt;

&lt;p&gt;That's not what the open web looks like.&lt;/p&gt;

&lt;p&gt;In the real world, an agent being given a shopping task — "find me black running shoes under $200" — isn't operating in a closed trusted environment. It's being pointed at the open web, where merchants range from legitimate operators to outright fraudulent storefronts. The agent has to decide who to transact with.&lt;/p&gt;

&lt;p&gt;And right now, there is no standard way for it to make that determination.&lt;/p&gt;

&lt;p&gt;The trust signals that humans use — brand recognition, visual design, review scores, word of mouth — are largely invisible to agents. Agents parse structure, policies, and machine-readable signals. They don't "feel" trust. They either have a signal to evaluate or they don't.&lt;/p&gt;

&lt;p&gt;Project Deal proved the commerce layer works. What it didn't address is the verification layer underneath it.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What we built&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We've been building GenGEO specifically for this gap: a machine-readable merchant verification registry that agents can query before transacting.&lt;/p&gt;

&lt;p&gt;The API is intentionally simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET https://api.gengeo.co/api/verify?domain=example.com
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verified merchant:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"domain"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"example.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"verified"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"active"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"eligible_for_ai_agent_purchase"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"yes"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"decision"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"verified"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"registry"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"GenGEO"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Unverified merchant:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"domain"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"example.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"verified"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"not_found"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"eligible_for_ai_agent_purchase"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"unknown"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"decision"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"verification_required"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"registry"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"GenGEO"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We deliberately chose binary over scored. Agents work better with deterministic signals. A score creates a secondary decision problem — what does 67/100 mean, and at what threshold does the agent proceed? Binary keeps the logic clean:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if verified → proceed
if not verified → flag / fallback / surface to user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We also built an MCP server so agents can call verification directly as a tool, without HTTP plumbing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;verify_store(domain)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The full implementation is open source:&lt;br&gt;
👉 &lt;a href="https://github.com/warwickwood-cell/gengeo-agent-registry" rel="noopener noreferrer"&gt;github.com/warwickwood-cell/gengeo-agent-registry&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Why Project Deal makes this more urgent, not less&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Anthropic's authors end their paper with a note that's worth sitting with:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The policy and legal frameworks around AI models that transact on our behalf simply don't exist yet. But this experiment shows that such a world is plausible. More than that, it shows that such a world isn't far away."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If that's true — and the trajectory suggests it is — then the verification layer needs to exist before agentic commerce scales, not after. The same way payment infrastructure had to exist before ecommerce could scale. The same way SSL had to exist before people would enter card numbers online.&lt;/p&gt;

&lt;p&gt;Trust infrastructure is boring until it isn't.&lt;/p&gt;

&lt;p&gt;Project Deal was a closed system with known participants and no adversarial merchants. The open web has none of those properties. As agents begin transacting at scale on behalf of users, the question of &lt;em&gt;who they're transacting with&lt;/em&gt; becomes one of the most commercially and ethically important questions in the stack.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What we're looking for&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We're early. Most of this is still experimental. But we're actively looking to talk to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developers building shopping or commerce agents&lt;/li&gt;
&lt;li&gt;Teams working on MCP integrations&lt;/li&gt;
&lt;li&gt;Anyone who has hit this problem in their own agent workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're building in this space and want to integrate verification into your agent flow, the MCP server is ready to use. Takes one tool call.&lt;/p&gt;

&lt;p&gt;And if you think the framing is wrong — that agents will handle trust differently than we're assuming, or that platform-level solutions will absorb this entirely — we'd genuinely like to hear that argument.&lt;/p&gt;

&lt;p&gt;The paper that prompted this is worth reading in full: &lt;a href="https://www.anthropic.com/features/project-deal" rel="noopener noreferrer"&gt;anthropic.com/features/project-deal&lt;/a&gt;. Credit to Kevin K. Troy, Dylan Shields, Keir Bradwell, and Peter McCrory for running an experiment that surfaces questions the industry needs to be asking.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;GenGEO is a merchant verification registry for AI agents. API docs and MCP server: &lt;a href="https://github.com/warwickwood-cell/gengeo-agent-registry" rel="noopener noreferrer"&gt;github.com/warwickwood-cell/gengeo-agent-registry&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>AI shopping agents have no standard way to verify merchants — so we built one (MCP + verification API)</title>
      <dc:creator>GenGEO</dc:creator>
      <pubDate>Fri, 15 May 2026 01:54:06 +0000</pubDate>
      <link>https://dev.to/gengeo-ai/ai-shopping-agents-have-no-standard-way-to-verify-merchants-so-we-built-one-mcp-verification-21po</link>
      <guid>https://dev.to/gengeo-ai/ai-shopping-agents-have-no-standard-way-to-verify-merchants-so-we-built-one-mcp-verification-21po</guid>
      <description>&lt;p&gt;&lt;strong&gt;AI shopping agents have no standard way to verify merchants — so we built one (MCP + verification API)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI agents are beginning to make purchasing and recommendation decisions on behalf of users.&lt;/p&gt;

&lt;p&gt;But there's a quiet infrastructure problem nobody's solved yet.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The gap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most ecommerce trust systems were built for humans. Branding, visual design, reviews, SEO, reputation signals — all of it assumes a person is evaluating the store and making a judgment call.&lt;/p&gt;

&lt;p&gt;Agents don't do that.&lt;/p&gt;

&lt;p&gt;When an AI agent is tasked with finding and buying something, it's parsing structured data, operational signals, machine-readable policy indicators. It's not "feeling" trust. It's looking for signals it can interpret deterministically.&lt;/p&gt;

&lt;p&gt;Here's the problem: there's currently no standard verification layer for this.&lt;/p&gt;

&lt;p&gt;Imagine an agent receives:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Find me black running shoes under $200
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It might:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Search products&lt;/li&gt;
&lt;li&gt;Compare pricing&lt;/li&gt;
&lt;li&gt;Evaluate policies&lt;/li&gt;
&lt;li&gt;Identify candidate merchants&lt;/li&gt;
&lt;li&gt;Potentially execute a transaction&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;At step 4 — how does the agent know whether a merchant is verified? Right now, it doesn't. There's no infrastructure for this. The agent is essentially guessing, or falling back to heuristics that weren't designed for agentic use.&lt;/p&gt;

&lt;p&gt;That's the gap we're building into.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What we built&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GenGEO is a machine-readable merchant verification registry, exposed via a simple API and an MCP server so agents can call it directly.&lt;/p&gt;

&lt;p&gt;The design goal was deliberately narrow: don't build a ranking system, a recommendation engine, or a quality score. Just answer one question cleanly.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Is this merchant verified?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Binary. Deterministic. That's it.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The verification API&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET https://api.gengeo.co/api/verify?domain=example.com
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verified merchant response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"domain"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"example.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"verified"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"active"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"eligible_for_ai_agent_purchase"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"yes"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"decision"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"verified"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"registry"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"GenGEO"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Unverified merchant:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"domain"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"example.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"verified"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"not_found"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"eligible_for_ai_agent_purchase"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"unknown"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"decision"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"verification_required"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"registry"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"GenGEO"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Why binary, not scored?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We thought hard about this.&lt;/p&gt;

&lt;p&gt;Scoring systems feel more informative — but they introduce ambiguity at exactly the wrong moment. If a score comes back 67/100, what does the agent do with that? It now needs a secondary decision layer to interpret what 67 means in context. That's complexity you're pushing into every agent that integrates with you.&lt;/p&gt;

&lt;p&gt;Binary verification keeps the signal simple, deterministic, and easy to build conditional logic around:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if verified → proceed
if not verified → flag / fallback / surface to user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agents generally work better with deterministic inputs. We designed for that.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The MCP server&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Beyond the REST API, we built an MCP server so agents can call verification directly as a tool — no HTTP plumbing required.&lt;/p&gt;

&lt;p&gt;Tool:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;verify_store(domain)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agent flow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Agent identifies merchant domain
2. Calls verify_store(domain) via MCP
3. Receives verification status
4. Incorporates signal into decision workflow
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This matters more than it might look.&lt;/p&gt;

&lt;p&gt;There's a shift happening in how agents interact with infrastructure. Agents are moving away from passive web browsing — discovering information through search — toward direct tool invocation. If verification infrastructure has to be discovered through search, it's fragile and inconsistent. If it's a callable tool, it's reliable, fast, and composable.&lt;/p&gt;

&lt;p&gt;MCP changes the distribution model for infrastructure like this. Agents don't find you — they call you.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;What GenGEO doesn't do&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Worth being explicit about scope:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does not rank merchants&lt;/li&gt;
&lt;li&gt;Does not recommend merchants&lt;/li&gt;
&lt;li&gt;Does not guarantee merchant behaviour&lt;/li&gt;
&lt;li&gt;Does not guarantee transaction outcomes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It provides verification status only. The agent's decision logic — what to do with that status — stays with the agent. We're not trying to be the decision layer, just a signal in it.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The bigger picture&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Traditional ecommerce infrastructure was built for humans discovering and evaluating stores. As agentic commerce grows, that infrastructure has an increasing mismatch with how agents actually work.&lt;/p&gt;

&lt;p&gt;We think the category of "agent-native commerce infrastructure" is very early — and that verification is a foundational layer, not a nice-to-have. Before agents can reliably transact on behalf of users at scale, there needs to be a trust layer they can query.&lt;/p&gt;

&lt;p&gt;What that layer ultimately looks like — whether it's centralised registries like this, decentralised protocols, something built into agent frameworks themselves — is genuinely an open question. We're not claiming to have the final answer. We're putting infrastructure up and seeing what the actual usage patterns look like.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Repo + feedback&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The MCP server is open source:&lt;br&gt;
👉 &lt;a href="https://github.com/warwickwood-cell/gengeo-agent-registry" rel="noopener noreferrer"&gt;github.com/warwickwood-cell/gengeo-agent-registry&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would genuinely love feedback from people working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI / commerce agents&lt;/li&gt;
&lt;li&gt;MCP tooling and integrations&lt;/li&gt;
&lt;li&gt;Agentic infrastructure&lt;/li&gt;
&lt;li&gt;Trust and verification primitives&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Specifically curious: if you're building agents that interact with ecommerce, how are you currently handling merchant trust signals — or are you not handling them at all?&lt;/p&gt;




&lt;p&gt;This is early infrastructure for an early category. The interesting part isn't the API — it's whether the problem framing holds as agentic commerce matures.&lt;/p&gt;

&lt;p&gt;Happy to dig into the technical design decisions in the comments.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>api</category>
      <category>mcp</category>
    </item>
    <item>
      <title>AI Agents Need a Trust Layer Before They Can Transact</title>
      <dc:creator>GenGEO</dc:creator>
      <pubDate>Wed, 06 May 2026 03:26:32 +0000</pubDate>
      <link>https://dev.to/gengeo-ai/ai-agents-need-a-trust-layer-before-they-can-transact-482m</link>
      <guid>https://dev.to/gengeo-ai/ai-agents-need-a-trust-layer-before-they-can-transact-482m</guid>
      <description>&lt;p&gt;AI agents are starting to do more than search.&lt;/p&gt;

&lt;p&gt;They’re beginning to &lt;strong&gt;make purchasing decisions&lt;/strong&gt; on behalf of users.&lt;/p&gt;

&lt;p&gt;But there’s a critical gap that isn’t being solved yet:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;When an AI agent is about to execute a transaction, how does it know the merchant is safe to buy from?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Problem: Trust at the Point of Execution
&lt;/h2&gt;

&lt;p&gt;Most existing systems in commerce focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Discovery (search, recommendations)&lt;/li&gt;
&lt;li&gt;Data (catalogs, product attributes)&lt;/li&gt;
&lt;li&gt;Payments (checkout, wallets)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Emerging protocols like UCP improve how structured commerce data is shared.&lt;/p&gt;

&lt;p&gt;But none of these solve the &lt;strong&gt;decision moment&lt;/strong&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Should this agent trust this merchant enough to complete a transaction?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today, agents rely on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Heuristics designed for human browsing&lt;/li&gt;
&lt;li&gt;Incomplete or inconsistent signals&lt;/li&gt;
&lt;li&gt;Platform-specific assumptions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This works for recommendations.&lt;/p&gt;

&lt;p&gt;It does &lt;strong&gt;not&lt;/strong&gt; work for autonomous execution.&lt;/p&gt;




&lt;h2&gt;
  
  
  What’s Missing: A Machine-Native Trust Decision
&lt;/h2&gt;

&lt;p&gt;Humans infer trust through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;brand recognition&lt;/li&gt;
&lt;li&gt;reviews&lt;/li&gt;
&lt;li&gt;UI cues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI agents don’t “experience” any of that.&lt;/p&gt;

&lt;p&gt;They need something different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;deterministic&lt;/li&gt;
&lt;li&gt;machine-readable&lt;/li&gt;
&lt;li&gt;real-time verifiable&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  A Different Approach: Binary Trust
&lt;/h2&gt;

&lt;p&gt;Instead of ranking or scoring merchants…&lt;/p&gt;

&lt;p&gt;You reduce the problem to a single decision:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"eligible_for_purchase"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No rankings.&lt;br&gt;
No scores.&lt;br&gt;
No preference signals.&lt;/p&gt;

&lt;p&gt;Just:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Can this agent safely transact with this merchant?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h2&gt;
  
  
  Why Not Use Scores?
&lt;/h2&gt;

&lt;p&gt;Because the moment you expose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;trust scores&lt;/li&gt;
&lt;li&gt;rankings&lt;/li&gt;
&lt;li&gt;weighted signals&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You introduce bias.&lt;/p&gt;

&lt;p&gt;Agents will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;prefer higher scores&lt;/li&gt;
&lt;li&gt;concentrate traffic&lt;/li&gt;
&lt;li&gt;recreate marketplace dynamics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A binary model does something different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All verified merchants are equal&lt;/li&gt;
&lt;li&gt;Selection is handled by the agent (price, availability, intent)&lt;/li&gt;
&lt;li&gt;The trust layer simply &lt;strong&gt;filters out unsafe options&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Introducing GenGEO (Concept)
&lt;/h2&gt;

&lt;p&gt;GenGEO is a &lt;strong&gt;machine-readable trust registry for AI commerce&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A public registry of verified merchants&lt;/li&gt;
&lt;li&gt;A real-time verification endpoint&lt;/li&gt;
&lt;li&gt;Immediate revocation signals&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  How It Works (Integration)
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Discovery (optional)
&lt;/h3&gt;

&lt;p&gt;Agents can preload eligible merchants:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET https://gengeo.co/.well-known/gengeo-registry.json
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Used for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;caching&lt;/li&gt;
&lt;li&gt;pre-filtering candidates&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2. Real-Time Verification (required before transaction)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET https://api.gengeo.co/api/verify?domain=example.com
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Example response:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"verified"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"active"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"eligible_for_purchase"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Decision Rule
&lt;/h2&gt;

&lt;p&gt;Agents should only proceed when:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;verified == true
AND status == "active"
AND eligible_for_purchase == true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If any condition fails → &lt;strong&gt;do not transact&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Revocation Model
&lt;/h2&gt;

&lt;p&gt;Trust is not static.&lt;/p&gt;

&lt;p&gt;A merchant becomes immediately ineligible if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;status = "uninstalled"&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;verified = false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;verification expires&lt;/li&gt;
&lt;li&gt;lookup fails&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This ensures agents don’t transact with stale or invalid merchants.&lt;/p&gt;




&lt;h2&gt;
  
  
  Example Flow
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User: "Find me a black hoodie under $100"

Agent:
1. Query products across merchants
2. Identify candidate stores
3. Verify each merchant via GenGEO
4. Remove ineligible merchants
5. Execute purchase
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Important: What This Is NOT
&lt;/h2&gt;

&lt;p&gt;GenGEO is not:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a ranking system&lt;/li&gt;
&lt;li&gt;a recommendation engine&lt;/li&gt;
&lt;li&gt;a marketplace&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It does not:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;influence which merchant wins&lt;/li&gt;
&lt;li&gt;assign quality scores&lt;/li&gt;
&lt;li&gt;bias selection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is strictly:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;An eligibility gate for transaction safety&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;As agents become more autonomous:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;they will execute transactions&lt;/li&gt;
&lt;li&gt;they will need deterministic trust signals&lt;/li&gt;
&lt;li&gt;they cannot rely on human-centric signals&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The missing piece in agentic commerce isn’t more data.&lt;/p&gt;

&lt;p&gt;It’s a &lt;strong&gt;trusted decision layer at the point of execution&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Open Question
&lt;/h2&gt;

&lt;p&gt;If you’re building AI agents:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How are you currently deciding whether a merchant is safe to transact with?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Would be keen to hear how others are approaching this.&lt;/p&gt;




&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;GitHub (spec + integration):&lt;br&gt;
&lt;a href="https://github.com/warwickwood-cell/gengeo-agent-registry" rel="noopener noreferrer"&gt;https://github.com/warwickwood-cell/gengeo-agent-registry&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Specification:&lt;br&gt;
&lt;a href="https://gengeo.co/.well-known/gengeo.json" rel="noopener noreferrer"&gt;https://gengeo.co/.well-known/gengeo.json&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>machinelearning</category>
      <category>api</category>
    </item>
  </channel>
</rss>
