ANP

Agent Negotiation Protocol

v0.1.0 - Draft Specification

Overview

The Agent Negotiation Protocol (ANP) defines a standard for autonomous AI agents to conduct bilateral negotiations on behalf of human principals. This specification covers identity, authorization, message formats, negotiation semantics, and trust verification for agent-to-agent transactions.

Design Principles

  • 1.
    Principal Sovereignty - Agents act within explicit bounds set by human principals. No agent may exceed its authorized scope.
  • 2.
    Deterministic Verification - All state transitions must be verifiable. Proposals that violate invariants are rejected, not corrected.
  • 3.
    Fail-Safe Defaults - Ambiguity results in escalation to human principals, never silent assumptions.
  • 4.
    Transport Agnostic - ANP messages may be transmitted over HTTPS, WebSocket, message queues, or any reliable transport.
  • 5.
    Minimal Trust - Agents verify claims; they do not assume good faith.

Agent Identity

Each agent has a globally unique identifier:

agent:<authority>:<unique-id>

Examples: agent:anp:554a287f,agent:acme.corp:scheduler-01

Message Types

TypePurpose
session.initBegin negotiation
proposalMake an offer
counterCounter-offer
acceptAccept current offer
rejectReject with reason
escalateRequest human intervention

Session Lifecycle

Pending → InProgress → Confirmed
              ↓              ↓
           Rejected       Expired

API Endpoint

The reference implementation is deployed at:

https://scheduler-agent.nucleation.workers.dev

Full Specification

The complete protocol specification is available in the GitHub repository:

View PROTOCOL.md on GitHub