Dispute Resolution
The dispute lifecycle state machine, automated resolution, escalation, evidence anchoring, and agent participation.
Dispute resolution is a first-class protocol primitive, not an afterthought. Every on-chain record (IntegraRecord in the reference implementation) can have a dispute resolution resolver attached that defines the process, jurisdiction, and rules for resolving disagreements.
Dispute Lifecycle
FILED -> EVIDENCE_SUBMISSION -> REVIEW -> HEARING -> RULING -> ENFORCED
| |
WITHDRAWN APPEALED
|
APPEAL_REVIEW -> FINAL_RULING -> ENFORCED
FILED -> REJECTED (if filing requirements not met)State Encoding
| State | uint8 | Description |
|---|---|---|
FILED | 1 | Dispute has been filed |
EVIDENCE_SUBMISSION | 2 | Evidence submission period open |
REVIEW | 3 | Initial review of evidence |
HEARING | 4 | Hearing in progress |
RULING | 5 | Ruling issued |
ENFORCED | 6 | Ruling enforced (terminal) |
APPEALED | 7 | Ruling appealed |
APPEAL_REVIEW | 8 | Appeal under review |
FINAL_RULING | 9 | Final ruling issued, non-appealable |
WITHDRAWN | 10 | Dispute withdrawn by claimant (terminal) |
REJECTED | 11 | Filing rejected (terminal) |
Terminal states: ENFORCED, WITHDRAWN, REJECTED.
Automated Resolution
For transactions below a vendor-defined threshold, disputes MAY be resolved automatically using pre-defined rules encoded in the dispute resolution resolver.
Requirements for automated resolution:
- MUST be disclosed in the terms
- MUST be described in the dispute resolution process returned by the API
- The threshold MUST be clearly stated (e.g., "Disputes under $1,000 are resolved automatically")
Automated resolution enables high-volume, low-value transactions to have dispute resolution without the cost of human mediation.
Escalation
For transactions above the threshold, or when automated resolution fails, disputes MUST be escalable to a human-mediated process. The dispute resolution resolver specifies:
- The institution (e.g., American Arbitration Association)
- The rules (e.g., Commercial Arbitration Rules)
- The jurisdiction (e.g., New York, USA)
- The filing endpoint
The API returns all escalation details via GET /v1/records/{recordId}/dispute.
Evidence Anchoring
All evidence submitted during a dispute MUST be content-addressed. Each piece of evidence is hashed (SHA-256) and the hash is anchored on-chain via the dispute resolver.
The evidence chain provides tamper-evident proof of:
- What was submitted (the hash identifies the exact content)
- When it was submitted (the block timestamp)
- By whom (the submitter's address)
Initial evidence can be included at dispute filing time via evidenceHashes in the POST /v1/records/{recordId}/disputes request body. After filing, additional evidence is submitted via the on-chain resolver's submitEvidence(disputeId, evidenceHash) function.
Agent Participation
AI agents MAY participate in dispute resolution processes -- filing claims, submitting evidence, and responding to inquiries -- within the bounds of their authorization scope.
The dispute resolution resolver determines whether agent participation is permitted for each dispute category and stage. For example:
- Filing: Agents MAY file disputes on behalf of their principals
- Evidence: Agents MAY submit evidence (content-addressed documents)
- Response: Agents MAY respond to inquiries within their authorization scope
- Resolution: Some stages may require human participation (e.g., hearings)
The authorization scope (defined by the tokenizer and terms policy) constrains what the agent can do at each stage.