DEV Community

Web Agent Bridge
Web Agent Bridge

Posted on

We Built a DNS-Based Discovery Protocol for AI Agents — Here's How It Works

AI agents are getting smarter — but they're still blind to most of the web.

When an AI agent visits a website, it has no idea whether that site wants to be interacted with by AI, what capabilities are available, or how to communicate in a structured way. It's like knocking on a door with no sign, no bell, and no mailbox.

We built WAB (Web Agent Bridge) to solve this. And the core of our discovery mechanism is something you already know: DNS.


The Problem: AI Agents Have No Map

Today's AI agents browse the web like tourists without a guidebook. They can see a website, but they can't understand it at a protocol level:

  • Is this site AI-friendly?
  • Does it have an agent API?
  • What permissions does it grant to AI agents?
  • How should the agent authenticate?

There's no standard way for a website to declare its AI capabilities. Until now.


Our Solution: DNS-Based Discovery

We took inspiration from how email servers announce their capabilities via DNS (SPF, DKIM, DMARC records). We applied the same pattern to AI agent discovery.

Step 1: A website owner adds a single DNS TXT record:

_wab.yourdomain.com  TXT  "v=wab1; endpoint=https://yourdomain.com/.well-known/wab.json"
Enter fullscreen mode Exit fullscreen mode

Step 2: The wab.json file declares the site's AI capabilities:

{
  "version": "1.0",
  "agentMode": "enabled",
  "permissions": ["read", "navigate"],
  "rateLimit": "100/hour",
  "contact": "ai@yourdomain.com"
}
Enter fullscreen mode Exit fullscreen mode

Step 3: Any AI agent can discover this in milliseconds using DNS over HTTPS (DoH):

const response = await fetch(
  'https://cloudflare-dns.com/dns-query?name=_wab.yourdomain.com&type=TXT',
  { headers: { 'Accept': 'application/dns-json' } }
);
Enter fullscreen mode Exit fullscreen mode

That's it. One DNS record. Zero code changes to your website.


Why DNS? Why Not a Meta Tag or HTTP Header?

Great question. We considered all three:

Method Pros Cons
DNS TXT Works before HTTP, cacheable, infrastructure-level Requires DNS access
Meta tag Easy to add Requires page load, not machine-readable at scale
HTTP Header Server-side control Requires HTTP request first

DNS wins because:

  1. It's pre-HTTP — an agent can check discovery before making any web requests
  2. It's cached globally — CDNs and resolvers cache DNS, making it fast at scale
  3. It's infrastructure-level — it signals intent at the domain level, not just a page
  4. It's already trusted — DNS is the backbone of internet identity

Real-World Example: webagentbridge.com

We dogfood our own protocol. Here's our live DNS record:

_wab.webagentbridge.com  TXT  "v=wab1; endpoint=https://www.webagentbridge.com/.well-known/wab.json"
Enter fullscreen mode Exit fullscreen mode

You can verify it right now:

dig TXT _wab.webagentbridge.com +short
Enter fullscreen mode Exit fullscreen mode

Or try our Live Verifier — paste any domain and see if it supports WAB Discovery in real-time.


Setting It Up: One Click with Any DNS Provider

We built a step-by-step activation guide for every major DNS provider:

Cloudflare:

  1. Go to DNS → Records → Add Record
  2. Type: TXT, Name: _wab, Content: v=wab1; endpoint=https://yourdomain.com/.well-known/wab.json
  3. TTL: Auto → Save

cPanel:

  1. Zone Editor → Add Record
  2. Same fields as above

GoDaddy, Namecheap, AWS Route 53 — all covered in our activation guide.

Propagation takes 1-48 hours, but usually under 5 minutes with Cloudflare.


The Bigger Picture: An Open Protocol for AI-Web Interaction

WAB DNS Discovery is just the first layer of a larger protocol stack:

The full stack includes:

  • Agent Mode — a JS SDK that makes any website AI-navigable
  • Sovereign Shield — privacy controls for site owners
  • WAB Browser — a sovereign browser with built-in WAB support
  • API Gateway — rate limiting, auth, and monitoring for AI traffic

All open source. All composable.


Get Started

# Add to your DNS (replace with your domain)
_wab.yourdomain.com  TXT  "v=wab1; endpoint=https://yourdomain.com/.well-known/wab.json"

# Verify it works
curl "https://cloudflare-dns.com/dns-query?name=_wab.yourdomain.com&type=TXT" \
  -H "Accept: application/dns-json"
Enter fullscreen mode Exit fullscreen mode

We're building the infrastructure layer for the AI-web future. If you're working on AI agents, browser automation, or web protocols — we'd love to hear from you.

What do you think? Is DNS the right layer for this? Drop a comment below.

Top comments (0)