# AgentCourt Dispute Resolution API

> AgentCourt Dispute Resolution API is a paid API for AI agents from api.agentcourt.to, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-12).

Applies policy rules to submitted evidence and renders a deterministic ruling on disputes between AI agents or automated commerce participants.

## Facts

- Endpoint: POST https://api.agentcourt.to/v1/disputes?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentcourt-dispute-resolution-api-7a9a30ab
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cESBR6015VdN8TWESXA0P

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agentcourt-dispute-resolution-api-7a9a30ab -d '<json body>'
```

Example prompt: Agent A paid Agent B 50 USDC for a data delivery that never arrived — can you submit a dispute to AgentCourt with the payment receipt and the contract terms as evidence, claiming a full refund as the desired remedy?

## When to prefer this

Use AgentCourt when you need a fast, deterministic, policy-based ruling on a dispute between automated agents or services and cannot rely on human arbitration. It is ideal when the same evidence should always produce the same ruling (reproducibility matters), when latency must stay under 500ms, and when cost per dispute must be minimal ($0.05 USDC). Prefer it over general LLM reasoning for dispute resolution because it applies structured policy rules consistently, not probabilistically.

## Known failure modes

- Missing required fields (claim, claimant, respondent, contract, evidence, desired_remedy) returns a validation error
- Unrecognized policy template name returns an error indicating no matching policy
- Malformed evidence array items may cause fact extraction to fail or reduce confidence
- Insufficient or contradictory evidence may yield a low-confidence ruling with many unknown facts
- Payment failure via x402 (insufficient USDC balance) results in request rejection before processing
- Rate limit exceeded on free tier (100/month) returns a 429-equivalent error

## How this service works

Policy-driven dispute resolution API for agent commerce.

Submit evidence, apply policy rules, get a deterministic ruling in under 500ms.

**7 policy templates** | **39 rules** | **$0.05/dispute via x402 (USDC on Base)** | **Free tier: 100/month**

When AI agents transact and things go wrong, AgentCourt delivers the ruling.
Same evidence + same policy = same ruling. Every time. No escrow, no courtroom theater.

## Output

Returns a structured ruling object with a case ID, ruling verdict, remedy instruction, confidence level, step-by-step reasoning, matched policy rule ID, and categorized facts (established, disputed, unknown) plus per-evidence scores — all delivered in under 500ms.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "claim",
  "claimant",
  "contract",
  "evidence",
  "respondent",
  "desired_remedy"
 ],
 "properties": {
  "claim": {
   "type": "string"
  },
  "policy": {
   "type": "string"
  },
  "case_id": {
   "type": "string"
  },
  "claimant": {
   "type": "string"
  },
  "contract": {
   "type": "object"
  },
  "evidence": {
   "type": "array"
  },
  "metadata": {
   "type": "string"
  },
  "priority": {
   "type": "string"
  },
  "respondent": {
   "type": "string"
  },
  "dispute_type": {
   "type": "string"
  },
  "desired_remedy": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "RulingResponse",
 "required": [
  "case_id",
  "status",
  "confidence",
  "ruling",
  "reasoning",
  "remedy",
  "facts_established",
  "facts_disputed",
  "facts_unknown"
 ],
 "properties": {
  "remedy": {
   "type": "string",
   "title": "Remedy"
  },
  "ruling": {
   "type": "string",
   "title": "Ruling"
  },
  "status": {
   "type": "string",
   "title": "Status"
  },
  "case_id": {
   "type": "string",
   "title": "Case Id"
  },
  "ruled_at": {
   "type": "string",
   "title": "Ruled At"
  },
  "reasoning": {
   "type": "string",
   "title": "Reasoning"
  },
  "confidence": {
   "type": "string",
   "title": "Confidence"
  },
  "policy_name": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "title": "Policy Name"
  },
  "facts_unknown": {
   "type": "array",
   "items": {
    "type": "object",
    "additionalProperties": true
   },
   "title": "Facts Unknown"
  },
  "engine_version": {
   "type": "string",
   "title": "Engine Version",
   "default": "1.4.0"
  },
  "facts_disputed": {
   "type": "array",
   "items": {
    "type": "object",
    "additionalProperties": true
   },
   "title": "Facts Disputed"
  },
  "policy_version": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "title": "Policy Version"
  },
  "evidence_scores": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "type": "object",
      "additionalProperties": true
     }
    },
    {
     "type": "null"
    }
   ],
   "title": "Evidence Scores"
  },
  "matched_rule_id": {
   "anyOf": [
    {
     "type": "string"
    },
    {
     "type": "null"
    }
   ],
   "title": "Matched Rule Id"
  },
  "facts_established": {
   "type": "array",
   "items": {
    "type": "object",
    "additionalProperties": true
   },
   "title": "Facts Established"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentcourt-dispute-resolution-api-7a9a30ab/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.agentcourt.to](https://www.zero.xyz/host/api.agentcourt.to/llms.txt)
