EXPERIMENTALOpen Source Community

Agent Network Protocol (ANP)

2 min read

Decentralized protocol for trustless agent discovery and collaboration.

Overview

How can billions of AI agents from different organizations discover and collaborate without centralized intermediaries?

ANP answers this with a fully decentralized approach, using W3C Decentralized Identifiers (DIDs) for identity and semantic web technologies for capability description.

Three-Layer Architecture

Layer 1: Identity & Encryption

  • Decentralized Identifiers (DIDs): Self-sovereign agent identity
  • End-to-End Encryption: DID-based key exchange
  • Verifiable Credentials: Proof of capabilities/permissions

Layer 2: Meta-Protocol

  • Protocol Discovery: Agents advertise supported protocols
  • Capability Negotiation: Dynamic agreement on interaction
  • Self-Organization: No central coordination needed

Layer 3: Application

  • JSON-LD: Semantic capability descriptions
  • RDF: Rich relationship modeling
  • Flexible Protocols: Application-specific extensions

Key Differentiator: Decentralization

Feature A2A ANP
Discovery Agent Cards (centralized) DIDs (decentralized)
Identity OAuth/API Keys Decentralized Identifiers
Trust Platform-based Cryptographic
Governance Linux Foundation Open community

Security & Privacy

ANP's DID-based architecture provides:

  • Cryptographic Signing: All messages verifiable
  • Selective Disclosure: Reveal only what's needed
  • Trustless Operation: No trusted intermediaries

When to Use ANP

Use ANP for:

  • Decentralized agent marketplaces
  • Cross-organizational collaboration without authority
  • Privacy-preserving interactions
  • Open agent ecosystems

Consider A2A for:

  • Enterprise deployments needing mature tooling
  • Centralized discovery is acceptable
Example Code
# ANP Agent Discovery (Conceptual)
from anp import ANPAgent, DIDResolver

# Create agent with DID identity
agent = ANPAgent(
    did="did:anp:agent123",
    capabilities=["translation", "summarization"]
)

# Discover agents by capability
resolver = DIDResolver()
translators = await resolver.discover_by_capability(
    capability="translation",
    languages=["en", "es"]
)

# Connect and invoke
for translator in translators:
    session = await agent.connect(translator.did)
    result = await session.invoke("translate", {
        "text": "Hello, world!",
        "target": "es"
    })
Quick Info
Architecturedecentralized
Message FormatJSON-LD
TransportHTTP/HTTPS, WebSocket, DIDComm
SDKsPython, TypeScript
Agent-to-Agent Features
Discovery
Negotiation
Streaming
Bidirectional
Multi-Agent
Stay Updated

Get notified when protocols evolve.

Subscribe
Strengths
  • Fully decentralized—no central authority
  • Strong privacy through DID-based identity
  • Semantic interoperability
  • W3C standards compliance
  • Future-proof for open ecosystems
Considerations
  • Early stage (experimental)
  • Smaller ecosystem
  • Complex implementation
  • Requires DID infrastructure
Tags
decentralizeddidsemantic-webprivacy

Compare with Other Protocols

Compare against:(2/2)
Agent Network Protocol (ANP)(current)
Strengths
Agent Network Protocol (ANP)
experimental
  • Fully decentralized—no central authority
  • Strong privacy through DID-based identity
  • Semantic interoperability
AG-UI Protocol
beta
  • Purpose-built for frontend integration
  • Human-in-the-loop patterns built-in
  • Framework-agnostic design
Agent Name Service (ANS)
experimental
  • Leverages existing DNS infrastructure
  • Cryptographic identity via PKI
  • Scalable and decentralized
Considerations
Agent Network Protocol (ANP)
  • Early stage (experimental)
  • Smaller ecosystem
  • Complex implementation
AG-UI Protocol
  • Frontend-specific scope
  • No agent discovery
  • Smaller community than MCP/A2A
Agent Name Service (ANS)
  • Early draft stage
  • Requires PKI infrastructure
  • DNS propagation delays
Best For
Agent Network Protocol (ANP)
Decentralized agent marketplacesCross-organizational collaborationPrivacy-preserving networksFederated research systems
AG-UI Protocol
AI-powered chat interfacesCollaborative document editingApproval workflow UIsReal-time agent dashboards
Agent Name Service (ANS)
Finding agents by capabilityVerifying agent identityCross-platform discovery
Technical Details
Agent Network Protocol (ANP)AG-UI ProtocolAgent Name Service (ANS)
Architecturedecentralizedevent-drivendistributed
Message FormatJSON-LDJSON EventsDNS Records
TransportHTTP/HTTPS, WebSocket, DIDCommSSE, WebSocket, HTTP WebhooksDNS
Version0.11.0draft-00
SDKsPython, TypeScriptTypeScript, Python, React
Architecture
Agent Network Protocol (ANP)decentralized
AG-UI Protocolevent-driven
Agent Name Service (ANS)distributed
Message Format
Agent Network Protocol (ANP)JSON-LD
AG-UI ProtocolJSON Events
Agent Name Service (ANS)DNS Records
Transport
Agent Network Protocol (ANP)HTTP/HTTPS, WebSocket, DIDComm
AG-UI ProtocolSSE, WebSocket, HTTP Webhooks
Agent Name Service (ANS)DNS
Version
Agent Network Protocol (ANP)0.1
AG-UI Protocol1.0
Agent Name Service (ANS)draft-00
SDKs
Agent Network Protocol (ANP)Python, TypeScript
AG-UI ProtocolTypeScript, Python, React
Agent Name Service (ANS)