Internet-Draft | ADP | October 2025 |
Kotecha | Expires 17 April 2026 | [Page] |
This document specifies the Agentic Dispute Protocol (ADP), a standardized framework for autonomous agents and AI systems to file, process, and resolve disputes through structured, automated processes. The protocol defines message formats, transport mechanisms, evidence submission standards, and cryptographic proof requirements for internet-native dispute resolution.¶
ADP is designed to handle disputes arising from AI agent interactions, service level agreement breaches, and automated contract enforcement, providing deterministic, auditable, and legally enforceable outcomes.¶
ADP includes chain of custody tracking, dual-format award specifications (JSON and PDF), arbitrator discovery mechanisms, and support for multiple resolution frameworks including expert determination, binding arbitration, mediation, and hybrid approaches.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 17 April 2026.¶
Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
As autonomous AI agents and agentic systems increasingly conduct transactions, enter into contracts, and provide services on behalf of organizations, disputes inevitably arise that require resolution. While established alternative dispute resolution frameworks like the UNCITRAL Model Law on Conciliation [UNCITRAL-CONCILIATION], the Singapore Convention on Mediation [SINGAPORE-CONVENTION], and the U.S. Administrative Dispute Resolution Act [ADRA] provide sound legal foundations, they lack the machine-readable protocols needed to handle the volume and velocity of agent-to-agent conflicts.¶
The Agentic Dispute Protocol (ADP) provides a standardized, machine-readable framework for autonomous dispute resolution that is:¶
Consulate (https://consulatehq.com) serves as the reference implementation and first production deployment of ADP.¶
This protocol specifies:¶
This protocol does NOT specify:¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
Key terms:¶
ADP is a method-agnostic communication protocol that supports multiple legal frameworks for dispute resolution. The protocol defines how parties communicate (message formats, security, custody chain) but does NOT prescribe which legal framework must be used.¶
The choice of resolution method is specified in the dispute agreement between parties and communicated via the resolutionMethod field in dispute messages. Supported methods include:¶
The protocol ensures all resolution methods benefit from the same security features (cryptographic signatures, chain of custody, dual-format awards) and interoperability standards regardless of the legal framework chosen.¶
Implementers SHOULD clearly document which resolution methods they support in their service discovery manifest (see Section 9.1).¶
ADP follows a client-server model where:¶
+----------+ +----------+ | Claimant | |Respondent| | Agent | | Agent | +----+-----+ +-----+----+ | | | (1) File Dispute | | | v | +------+-------+ | | Dispute |<-(2) Notify Response---+ | Service | | (ADP) | +-------------+ +--------------+ | Chain of | | | Custody Log | | (3) Evidence +-------------+ | Submission ^ v | +------+-------+ | | Judge Panel |--------------+ | (AI/Human) | Record Events +------+-------+ | | (4) Issue Award (JSON + PDF) v +------+-------+ | Award | | Enforcement | +--------------+¶
Typical message exchange:¶
Each step is recorded as a custody event in the immutable audit trail.¶
All messages MUST use JSON format [RFC8259] with the following base structure:¶
{ "@context": "https://w3id.org/adp/v1", "@type": "[MessageType]", "messageId": "[UUID]", "timestamp": "[ISO8601]", "sender": "[Agent URI]", "recipient": "[Agent URI]", "signature": "[JWS]", "payload": { ... } }¶
{ "@type": "DisputeFiling", "payload": { "claimant": { "agentId": "agent://vendor.ai/agent-123", "organizationId": "org://vendor.ai", "publicKey": "[PEM]" }, "respondent": { "agentId": "agent://consumer.ai/agent-456", "organizationId": "org://consumer.ai" }, "claim": { "claimType": "SLA_BREACH", "claimAmount": {"value": 5000, "currency": "USD"}, "contractReference": "ipfs://Qm...", "breachDetails": "Response time exceeded 200ms threshold" }, "evidence": [ { "evidenceId": "ev_abc123", "evidenceType": "SYSTEM_LOGS", "contentHash": "sha256:...", "storageUri": "ipfs://Qm..." } ], "disputeAgreement": { "agreementId": "arb_agreement_xyz", "rulesVersion": "ADP-v1.0", "resolutionMethod": "EXPERT_DETERMINATION", "signatureDate": "2025-01-01T00:00:00Z" } } }¶
{ "@type": "DisputeResponse", "payload": { "caseId": "case_abc123", "respondent": { ... }, "response": { "admissions": ["claim_element_1"], "denials": ["claim_element_2", "claim_element_3"], "affirmativeDefenses": ["Force majeure"], "counterClaim": { "claimType": "BREACH_OF_CONTRACT", "claimAmount": {"value": 2000, "currency": "USD"} } }, "evidence": [ ... ] } }¶
{ "@type": "EvidenceSubmission", "payload": { "caseId": "case_abc123", "submittedBy": "claimant", "evidence": { "evidenceId": "ev_def456", "evidenceType": "API_LOGS", "description": "API response time measurements", "dateRange": { "start": "2025-10-01T00:00:00Z", "end": "2025-10-07T23:59:59Z" }, "contentHash": "sha256:...", "storageUri": "ipfs://Qm...", "metadata": { "logSource": "cloudwatch", "recordCount": 15000, "validator": "https://validator.example.com" }, "signature": "[JWS of evidence content]" } } }¶
Awards MUST be issued in dual format: machine-readable JSON and human-readable PDF.¶
{ "@type": "DisputeAward", "payload": { "awardId": "award_xyz789", "caseId": "case_abc123", "issuedAt": "2025-10-20T15:00:00Z", "resolutionMethod": "EXPERT_DETERMINATION", "panel": [ {"judgeId": "judge_1", "judgeType": "AI"}, {"judgeId": "judge_2", "judgeType": "AI"}, {"judgeId": "judge_3", "judgeType": "HUMAN"} ], "decision": { "outcome": "CLAIMANT_PREVAILS", "liability": "RESPONDENT_LIABLE", "damages": {"value": 5000, "currency": "USD"}, "findings": "[Full text of findings]", "reasoning": "[Legal reasoning]", "remedy": "Respondent shall pay $5000 within 30 days" }, "enforcement": { "complianceDeadline": "2025-11-20T00:00:00Z", "enforcementMechanism": "SMART_CONTRACT", "smartContractAddress": "0x..." }, "formats": { "json": { "contentHash": "sha256:a948904f2f0f479b8f8197694b30184b...", "signature": "[JWS of JSON content]" }, "pdf": { "documentUri": "https://api.consulatehq.com/awards/award_xyz789.pdf", "contentHash": "sha256:b849204f3f1f580c9f9298705c40295c...", "signature": "[JWS of PDF hash]", "pdfSignature": "[PKCS#7 embedded signature]" } }, "signatures": [ {"judgeId": "judge_1", "signature": "[JWS]"}, {"judgeId": "judge_2", "signature": "[JWS]"}, {"judgeId": "judge_3", "signature": "[JWS]"} ], "publicationStatus": "PUBLIC", "precedentialValue": "PERSUASIVE" } }¶
The PDF format MUST conform to PDF/A standards for long-term archival and SHOULD include embedded digital signatures conforming to PAdES (PDF Advanced Electronic Signatures) standards.¶
All ADP messages MUST be exchanged over HTTPS (HTTP/2 or HTTP/3).¶
Base endpoint format:¶
https://[dispute-service]/adp/v1/[resource]¶
Example endpoints:¶
Agents MUST authenticate using OAuth 2.0 [RFC6749] or API keys (JWT [RFC7519]).¶
Authorization header:¶
Authorization: Bearer <JWT>¶
ADP defines five standard evidence types:¶
Additional evidence types MAY be defined by dispute services using namespaced identifiers (e.g., "x-custom-evidence-type").¶
Evidence MUST include:¶
ADP requires an immutable, verifiable chain of custody for all actions in the dispute resolution process. This provides transparency, auditability, and enables appeals or external audits.¶
Each custody event MUST conform to the following structure:¶
{ "@type": "CustodyEvent", "eventId": "evt_abc123def456", "caseId": "case_abc123", "eventType": "EVIDENCE_SUBMITTED", "timestamp": "2025-10-15T14:23:45Z", "actor": { "actorId": "agent://vendor.ai/agent-123", "actorType": "CLAIMANT_AGENT", "publicKey": "[PEM]" }, "action": { "description": "Submitted API response time logs", "targetResource": "evidence://ev_def456", "actionData": { "evidenceId": "ev_def456", "evidenceType": "SYSTEM_LOGS" } }, "integrity": { "contentHash": "sha256:...", "previousEventHash": "sha256:...", "signature": "[JWS of this event]" } }¶
ADP defines the following standard custody event types:¶
Services MAY define additional event types with "x-" prefix.¶
Custody events MUST be cryptographically linked in a Merkle chain style:¶
This creates an immutable chain where any tampering with an event will invalidate all subsequent event hashes.¶
To verify the integrity of a custody chain:¶
If any verification step fails, the custody chain is compromised.¶
Services MUST provide an endpoint to retrieve the complete custody chain:¶
GET /adp/v1/custody/{caseId}¶
Response format:¶
{ "caseId": "case_abc123", "chainStatus": "VALID", "events": [ { /* custody event 1 */ }, { /* custody event 2 */ }, ... ], "chainRoot": "sha256:...", "totalEvents": 8 }¶
Dispute services SHOULD publish capability manifest at:¶
https://[domain]/.well-known/adp¶
Example:¶
{ "disputeService": "https://api.consulatehq.com/adp/v1", "protocolVersion": "1.0", "supportedRules": ["Consulate-v1.0", "UNCITRAL-2021"], "supportedEvidenceTypes": [ "SYSTEM_LOGS", "CONTRACTS", "COMMUNICATIONS", "FINANCIAL", "EXPERT" ], "maxClaimValue": 10000000, "supportedCurrencies": ["USD", "EUR", "ETH"], "features": { "chainOfCustody": true, "dualFormatAwards": true, "neutralDiscovery": true }, "endpoints": { "disputes": "/adp/v1/disputes", "evidence": "/adp/v1/evidence", "custody": "/adp/v1/custody/{caseId}", "neutrals": "/.well-known/adp/neutrals" }, "publicKeyEndpoint": "/.well-known/jwks.json", "pricingTiers": ["micro", "smb", "enterprise"] }¶
Parties MAY negotiate protocol extensions via OPTIONS request to the dispute service endpoint.¶
Custom evidence types and message fields MAY be added with namespaced keys (e.g., "x-custom-field"). Services implementing such extensions SHOULD document them in their capability manifest.¶
To enable transparent neutral selection, services SHOULD provide a discoverable registry of available neutrals.¶
Arbitrator registries SHOULD be published at:¶
https://[domain]/.well-known/adp/neutrals¶
Example response:¶
{ "registryVersion": "1.0", "lastUpdated": "2025-10-10T00:00:00Z", "neutrals": [ { "neutralId": "arb_human_001", "name": "Hon. Jane Smith", "type": "HUMAN", "qualifications": { "certifications": [ "AAA Certified Arbitrator", "JAMS Panelist" ], "jurisdictions": ["US-CA", "US-NY", "US-TX"], "specializations": [ "Technology Disputes", "SLA Breaches" ], "yearsExperience": 15, "casesCompleted": 342 }, "availability": { "status": "AVAILABLE", "nextAvailable": "2025-10-12T00:00:00Z", "maxCaseload": 10, "currentCaseload": 3 }, "publicKey": "[PEM public key]", "biasAudit": { "lastAuditDate": "2025-07-01", "auditResults": "https://consulatehq.com/audits/arb_human_001", "fairnessScore": 0.94 } }, { "neutralId": "arb_ai_gpt4_001", "name": "GPT-4 Arbitrator Instance", "type": "AI", "qualifications": { "model": "gpt-4-turbo", "version": "2024-11-06", "specializations": [ "Contract Interpretation", "Technical Disputes" ], "trainingData": "Trained on dispute case law through 2024", "casesCompleted": 15420 }, "availability": { "status": "AVAILABLE", "responseTime": "< 5 minutes" }, "publicKey": "[PEM public key]", "biasAudit": { "lastAuditDate": "2025-09-15", "auditResults": "https://consulatehq.com/audits/arb_ai_gpt4_001", "fairnessScore": 0.91, "biasMetrics": { "genderBias": 0.02, "organizationSizeBias": 0.03, "claimAmountBias": 0.01 } } } ], "selectionGuidelines": "https://consulatehq.com/docs/neutral-selection" }¶
Each neutral entry MUST include:¶
Arbitrator entries SHOULD include:¶
Services SHOULD provide guidelines for neutral selection. ADP does not prescribe a specific selection algorithm but RECOMMENDS considering:¶
For panels, services SHOULD ensure diversity in neutral types (e.g., mixing AI and human neutrals) and backgrounds.¶
To maintain trust in the dispute process, services implementing ADP SHOULD:¶
Bias metrics MAY include analysis across dimensions such as organization size, claim amount, industry sector, jurisdiction, and party characteristics.¶
This document requests IANA to register:¶
The JSON-LD context "https://w3id.org/adp/v1" will be registered with W3C for semantic interoperability.¶
Full JSON schemas for all ADP message types are published at:¶
https://w3id.org/adp/v1/schema/¶
Reference implementation schemas are available at:¶
https://consulatehq.com/schema/adp/v1/¶
GitHub repository with schemas, examples, and tooling:¶
https://github.com/consulatehq/agentic-dispute-protocol¶
Complete examples of filing, response, evidence, custody events, and award message exchanges are available in the ADP repository:¶
https://github.com/consulatehq/agentic-dispute-protocol¶
These examples demonstrate common scenarios including:¶
Consulate (https://consulatehq.com) provides the reference implementation of ADP with the following features:¶
Implementers are encouraged to test interoperability with the Consulate reference implementation during development.¶
This protocol builds upon established alternative dispute resolution frameworks including the UNCITRAL Model Law on International Commercial Conciliation, the Singapore Convention on Mediation, and the U.S. Administrative Dispute Resolution Act, adapting them for autonomous agent interactions and digital dispute resolution.¶