Open-source project
agent-network-protocol/AgentNetworkProtocol avatar
agent-network-protocol/AgentNetworkProtocol

AgentNetworkProtocol (ANP): a spec suite for agent identity, discovery and messaging

AgentNetworkProtocol(ANP) is an open source protocol for agent communication. Our vision is to define how agents connect with each other, building an open, secure, and efficient collaboration network for billions of intelligent agents.

1,441 stars105 forksHTMLApache-2.0

At a glance

What is it?
ANP 1.1 is a set of released specifications covering did:wba identity, WNS handles, agent description, discovery, end-to-end messaging and the AP2 payment protocol. It is a document-first project, so the real question for an adopter is which parts are released and which are still drafts.
Who is it for?
Adopt ANP if you are building agent infrastructure and want a documented identity and discovery model to implement against, starting with the did:wba and WNS specifications. Do not adopt it if you need a running SDK or a reference server today, because the repository is a specification set and the meta-protocol is still a draft.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly HTML, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The gap ANP targets: agents that cannot find or verify each other

Most agent integrations today are wired by hand. One team reads another team's API docs, writes a client, and hard-codes an endpoint. That works for a handful of partners and breaks down when an agent is supposed to discover a counterpart it has never seen. ANP addresses that gap with a protocol suite covering identity, naming, discovery, negotiation, secure messaging and application-level collaboration, and the README frames the ambition as becoming the HTTP of the Agentic Web era.

The intended audience is infrastructure builders rather than application developers. The three problems the README names are interconnection across platforms and domains, native interfaces so that AI uses APIs and structured descriptions instead of imitating human browsing, and self-organized collaboration. If your work is a single agent calling a fixed set of tools, none of that applies to you.

Two protocol layers, HTTP underneath, DID for identity

ANP does not build a new network stack. The architecture reuses HTTP, CA, DNS, CDN, search and TLS, and adds two layers on top. The first is an identity and encrypted communication layer built on W3C DID and web infrastructure, providing agent identity, did:wba authentication and end-to-end encrypted messaging foundations. The second is an application protocol layer holding Agent Description, Agent Discovery and domain protocols such as payment, authorization, authentication and transaction.

The identity choice is the load-bearing one. did:wba is a web-based DID method, so an agent's identifier is anchored in a domain the operator already controls rather than in a new registry. The name space specification (ANP-04) layers WNS handles on top, with forms like alice.example.com, handle-to-DID resolution and DID rotation support. DID rotation matters because it means an agent can change keys without changing the handle others use to reach it.

The meta-protocol is deliberately outside the released architecture. ANP-06 remains a draft and is described as an optional semantic negotiation layer using MetaProtocolInterface, anp.get_capabilities and anp.negotiate to select the subsequent interface, Profile, security profile and schema. Treat it as a design direction, not a capability you can depend on.

Installing ANP: there is no package to install

This is where expectations need adjusting. The repository is a specification set with examples, not a library. The top level holds numbered specification documents, an application/ directory, message/, vnext/, chinese/, examples/, tests/ and scripts/. There is no install command in the README and no published package name. If you came looking for a pip install or npm install, the README does not offer one.

What you can do is clone the repository and read the released documents, then use the examples as the starting point for your own implementation:

bash
git clone https://github.com/agent-network-protocol/AgentNetworkProtocol.git
cd AgentNetworkProtocol
ls examples

The examples directory contains examples/adp/, examples/did-authentication-vnext/ and examples/message-vnext/. Note the naming: two of the three example folders are marked vnext, which tells you the working examples track the drafts rather than the released 1.1 line. Check the corresponding specification before copying anything from them.

One versioning detail will confuse you if you skim. A document labelled Version: 1.1 is the specification release version. It does not change the ANP payload field protocolVersion, and examples using "protocolVersion": "1.0.0" remain unchanged because the 1.1 release does not alter protocol fields, flows or security requirements. So a 1.1 document with 1.0.0 payloads is correct, not a mistake.

What is released and what is still a draft

The specification index is the most useful page in the repository because it labels status per document. Released in the 1.1 line: ANP-03 did:wba method, ANP-04 WNS name space, ANP-07 Agent Description, ANP-08 Agent Discovery, ANP-09 end-to-end instant messaging and ANP-10 Agent Payment Protocol (AP2), the last with an English release and a Chinese draft.

Not released: ANP-02 DID authentication, described as method-independent HTTP/JSON authentication with WBA and web bindings, and ANP-06, the meta-protocol. Both are drafts. The README also states that the ANP Messaging 1.2 mixed-version candidate suite separates DID methods from authentication and message verification through ANP-02/P1/P2, with P1/P2/P3/P7/P8 and the P9 binding retaining v1 while P4 Group Base and P5/P6 E2EE use v2. That is a candidate suite, and the README is explicit that draft presence does not imply implementation support or public capability advertisement.

Read that sentence twice before you plan around it. A draft in this repository is a proposal, not a promise.

Where ANP is the wrong tool

The clearest limitation is that adopting ANP means implementing a specification yourself. The README documents protocols and points at examples; it does not describe a hosted service, a client library or a conformance test suite you can run to prove your implementation is correct. A team that wants agent-to-agent messaging working this week will spend that week reading documents.

The second limitation is draft churn. The core vNext index already carries ANP-02 common DID authentication, ANP-03 WBA method revisions and ANP-04 existing WNS rules with native web compatibility, and the messaging line has its own mixed-version candidate. If you implement against a draft because it is the more interesting design, you accept that the released specification may not match it. The README says plainly that drafts do not replace released specifications.

Third, the project is honest about scope: it has not issued any digital currency on any platform or blockchain. If you arrived expecting a token component, there is none. And the meta-protocol, the part that would let two agents negotiate their own interface without human design work, is the part that is not released.

ANP against A2A and MCP

The comparison people actually search for is ANP versus A2A, and the difference is one of layer. A2A and MCP are commonly discussed as ways to connect a model or an agent to tools and to other agents within a known set of participants. ANP starts one level lower and asks how an agent establishes an identity that others can verify, publishes a description others can read, and gets discovered without a prior relationship. That is why the released set is dominated by identity, naming, description and discovery documents rather than by tool-calling schemas.

The practical consequence is that ANP is not a drop-in replacement for either. If your problem is exposing tools to a model, ANP has nothing to say about it. If your problem is that two agents from different organisations cannot establish who each other are, ANP's did:wba and WNS specifications are aimed directly at that, and the payment protocol (AP2) extends the same identity model into mandates, receipts and DID-based signatures.

ANP also differs in what it refuses to rebuild. Reusing DNS, CA infrastructure and TLS rather than inventing parallel systems is a deliberate constraint, and it is the reason did:wba resolves through a domain you already control.

Maintenance, licensing and the cost of tracking a moving spec

The repository is not archived and the last push was on 2026-09-10. The release history shows v1.1 on 2026-06-27, V1.0 on 2025-05-19 and v0.0.2 on 2025-02-28, so the cadence is roughly annual for major specification releases with draft work continuing between them. That cadence is the upgrade cost: you are not pulling a new package version, you are re-reading a specification and checking whether your implementation still conforms. The 1.1 release note that it does not change protocol fields, flows or security requirements is the good case, and it is worth checking that statement for each future release before you plan migration work.

The project is Apache-2.0. That permits commercial use and modification, and it includes a patent grant, which matters for a protocol specification you may implement in a product. It does not give legal advice, and the trademark and conformance questions around calling your implementation ANP-compliant are not addressed in the README. The repository is primarily HTML, so the specifications are rendered documents rather than code with a build pipeline, and the scripts/ and tests/ directories exist but their contents are not described in the README.

Editorial conclusion

Adopt ANP if you are building agent infrastructure and want a documented identity and discovery model to implement against, starting with the did:wba and WNS specifications. Do not adopt it if you need a running SDK or a reference server today, because the repository is a specification set and the meta-protocol is still a draft. Verify first that the released document you plan to implement matches the version you need, and check the vnext/ index separately, since draft presence there does not imply implementation support.

Frequently asked questions

What is AgentNetworkProtocol (ANP)?

ANP is an open source protocol suite for agent communication, covering agent identity, naming, discovery, negotiation, secure messaging and application-level collaboration. The released 1.1 line includes did:wba identity, WNS handles, agent description, agent discovery, end-to-end instant messaging and the AP2 agent payment protocol.

How does AgentNetworkProtocol compare with A2A?

ANP focuses on the layer beneath agent-to-agent conversation: verifiable identity through did:wba, WNS handles for naming, agent description and discovery, so two agents with no prior relationship can find and authenticate each other. A2A is commonly discussed as connecting agents within a known participant set, so the two operate at different levels rather than as substitutes.

What is an agent network and how does it work?

In ANP's framing, an agent network lets each agent act as both an information consumer and a service provider, discovering and connecting to other nodes through open protocols rather than through isolated platforms. The README describes the goal as an AI-native network where agents interact through machine-readable, callable protocols instead of human-facing webpages.

Official sources

  1. agent-network-protocol/AgentNetworkProtocol on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/agent-network-protocol-agentnetworkprotocol.svg)](https://hysenlabs.com/projects/agent-network-protocol-agentnetworkprotocol)