How It Works - ANS Technical Details

How ANS Works

A technical deep dive into the Agent Name Service architecture, trust verification mechanisms, and implementation details.

Architecture

Core Components

ANS is built on four foundational pillars that work together to provide verifiable agent identity and trust.

DNS-Based Registry

Agent metadata is published in DNS using TXT and TLSA records. No central database, no single point of failure. Works on every DNS provider today.

Transparency Log

Cryptographically sealed registration log powered by Trillian. Every agent registration is timestamped and immutable. Provides proof of when an agent was registered and what version was published.

DANE + DNSSEC

Certificate fingerprints are bound to DNS via TLSA records. DNSSEC ensures DNS responses haven't been tampered with. Prevents CA compromise attacks.

Trust Index

Aggregates signals from multiple sources: certificate validity, Transparency Log inclusion, DNSSEC status, and historical behavior. Produces Bronze, Silver, or Gold tier ratings.

Registration

How Agents Register

The registration process creates a verifiable, immutable record of your agent's identity and capabilities.

1

Publish Metadata

Create an agent card (JSON) with your agent's name, version, capabilities, and endpoints. Host it at /.well-known/agent-card.json

2

Add DNS Records

Publish TXT records under _ans and _ans-badge labels. Add TLSA records for DANE. Enable DNSSEC if you want Silver or Gold tier.

3

Submit to Transparency Log

Call the ANS registry API to seal your registration in the Transparency Log. Receive a cryptographic inclusion proof. Update your _ans-badge record with the TL URL.

Example agent card — /.well-known/agent-card.json
{
  "name": "Joe's Barbershop Agent",
  "version": "v1.0.0",
  "domain": "joes-barber.com",
  "protocol": "a2a",
  "capabilities": ["booking", "calendar", "payments"],
  "endpoints": {
    "a2a": "https://joes-barber.com/api/agent"
  },
  "contact": {
    "email": "[email protected]"
  },
  "transparency_log": {
    "url": "https://tl.godaddy.com/v1/agents/abc123",
    "inclusion_proof": "..."
  }
}
Discovery

How Agents Discover Each Other

ANS provides multiple discovery mechanisms depending on your use case: DNS queries, MCP server integration, or direct API calls.

1. DNS Query

Query the _ans TXT record to find the agent card URL. Fetch the card to get capabilities and endpoints.

DNS lookup
$ dig _ans.joes-barber.com TXT
_ans.joes-barber.com  IN TXT  "v=ans1; version=v1.0.0; p=a2a; url=https://joes-barber.com/.well-known/agent-card.json"

2. MCP Server Integration

Use the ANS MCP server to query agents by capability. The server handles DNS lookups, trust verification, and filtering.

MCP tool call
// Query for agents with booking capability
{
  "tool": "list_trusted_agents",
  "arguments": {
    "capability": "booking",
    "min_tier": "silver"
  }
}

// Response
{
  "agents": [
    {
      "domain": "joes-barber.com",
      "name": "Joe's Barbershop Agent",
      "tier": "gold",
      "capabilities": ["booking", "calendar", "payments"]
    }
  ]
}

3. Trust Index API

Query the Trust Index API directly to search for agents by capability, location, or other criteria. The API returns verified agents with trust scores.

API request
GET https://trust-index.ans.godaddy.com/v1/agents?capability=booking&tier=gold

{
  "agents": [
    {
      "domain": "joes-barber.com",
      "tier": "gold",
      "score": 95,
      "verified_at": "2026-04-15T10:30:00Z"
    }
  ]
}
Verification

How Trust is Verified

ANS performs multi-layered verification to ensure agents are who they claim to be. Each tier adds additional checks.

🥉

Bronze Tier: PKI Only

Verifies the agent has a valid TLS certificate for their domain. Checks certificate chain, expiration, and revocation status. Prevents unregistered impostors.

Valid TLS certificate
Certificate chain verification
Revocation check (OCSP/CRL)
🥈

Silver Tier: PKI + DANE

Adds DANE verification: the certificate fingerprint must match the TLSA DNS record. Requires DNSSEC. Prevents compromised CAs from issuing fraudulent certificates.

All Bronze checks
TLSA record matches certificate
DNSSEC validation
🥇

Gold Tier: PKI + DANE + TL

Adds Transparency Log verification: the agent's registration must be sealed in the TL with a valid inclusion proof. Prevents tampered registrations, backdated entries, and code swaps without version bumps.

All Silver checks
Transparency Log inclusion proof
Version consistency check
Historical behavior analysis
Security

Threat Model & Mitigations

ANS is designed to defend against specific attack vectors in the agentic ecosystem.

Impersonation Attacks

Threat: Attacker registers a similar domain (typosquatting) and claims to be a trusted agent.

Mitigation: Bronze tier requires valid TLS certificate for the exact domain. Trust Index tracks domain reputation and flags suspicious registrations.

CA Compromise

Threat: Compromised Certificate Authority issues fraudulent certificate for victim's domain.

Mitigation: Silver tier DANE binds certificate fingerprint to DNS via TLSA record. Attacker must compromise both CA and DNS.

DNS Hijacking

Threat: Attacker compromises DNS and changes ANS records to point to malicious agent.

Mitigation: DNSSEC prevents DNS tampering. Transparency Log provides historical record showing when changes occurred.

Version Rollback

Threat: Attacker rolls back agent to older version with known vulnerabilities.

Mitigation: Gold tier Transparency Log tracks version history. Trust Index flags unexpected version downgrades.

Code Tampering

Threat: Attacker modifies agent code without changing version number.

Mitigation: Transparency Log seals code hash with version. Any change requires new TL entry with version bump.

Replay Attacks

Threat: Attacker captures and replays legitimate agent requests.

Mitigation: Web Bot Auth signatures include timestamps and nonces. Identity Certificates bind requests to specific agent instances.

Implementation

Getting Started

Ready to integrate ANS into your agent? Here's how to get started with the SDK and MCP server.

ANS SDK

The ANS SDK provides high-level APIs for registration, discovery, and trust verification. Available for Node.js, Python, and Go.

Node.js example
import { ANSClient } from '@godaddy/ans-sdk';

const client = new ANSClient();

// Register your agent
await client.register({
  domain: 'my-agent.com',
  name: 'My Agent',
  version: 'v1.0.0',
  capabilities: ['booking', 'payments'],
});

// Discover agents
const agents = await client.discover({
  capability: 'booking',
  minTier: 'silver',
});

// Verify trust
const trust = await client.verify('joes-barber.com');
console.log(trust.tier); // 'gold'

ANS MCP Server

The ANS MCP server exposes ANS functionality as MCP tools. Integrate with Claude Desktop, OpenClaw, or any MCP-compatible agent framework.

MCP server configuration
{
  "mcpServers": {
    "ans": {
      "command": "npx",
      "args": ["-y", "@godaddy/ans-mcp-server"],
      "env": {
        "ANS_API_KEY": process.env.ANS_API_KEY
      }
    }
  }
}
Under the hood

What ANS looks like in DNS

Phase one: TXT records work today, on every provider, zero friction. Phase two: the DNS community is converging on shared SVCB records under the _ag label as the permanent format.

Two-Phase Deployment

Phase 1 (Current): TXT records under _ans and _ans-badge labels. Works on every DNS provider today. No custom extensions, no provider lock-in. Immediate deployment with zero friction.
Phase 2 (Standards Track): The DNS community (GoDaddy, Infoblox, agentcommunity.org, and others) is converging on shared SVCB records under the _ag label as the permanent format — one record per protocol, carrying discovery metadata for all participating drafts. Standards-track SvcParams via IANA Expert Review. The transition is transparent to agents: the ANS SDK and MCP server abstract which record format is in use.
Phase 1: DNS zone — joes-barber.com (TXT records)
; Connection hint — which protocol, where to find metadata
_ans.joes-barber.com  IN TXT  "v=ans1; version=v1.0.0; p=a2a; url=https://joes-barber.com/.well-known/agent-card.json"

; Trust badge — link to the sealed TL entry
_ans-badge.joes-barber.com  IN TXT  "v=ans-badge1; version=v1.0.0; url=https://tl.godaddy.com/v1/agents/abc123"

; DANE — certificate fingerprint bound to DNSSEC
_443._tcp.joes-barber.com  IN TLSA  3 0 1 <sha256_fingerprint>

; Identity DANE — version-bound Identity Certificate (managed by agent owner)
_ans-identity._tls.joes-barber.com  IN TLSA  3 0 1 <identity_cert_fingerprint>
These records use _ans and _ans-badge — separate from _agent (AID) and _agents (DNS-AID). All coexist without collision. A DNS-AID SVCB record and an ANS TXT record can point to the same endpoint. ANS tells you whether to trust it.
Real-world scenarios

ANS in Action

See how ANS enables secure, autonomous agent interactions. Choose a scenario to explore the full flow — from plain English to the technical protocol detail.

The Plain English Story

Step through what actually happens when your AI assistant / agent books a haircut — no jargon, no protocols. Just the story.

🧑
"Book me a haircut for Thursday."
You
tell your AI assistant / agent