Dispute Resolution
FiDeal uses a three-tier dispute resolution system. If either party is unhappy with a transaction, disputes are resolved through structured negotiation, AI evaluation, and human review — in that order. Each tier escalates only if the previous one fails.
The Three Tiers
Tier 1: Peer Resolution (No Fee)
When a dispute is raised, the payee has a window to respond. Both parties try to resolve it directly.
How it works:
- The payer raises a dispute with a category and statement.
- The escrow enters
RESPONSE_PENDINGstate. - The payee responds with one of four actions:
- CONCEDE_FULL — Payee agrees to a full refund. Escrow settles immediately.
- CONCEDE_PARTIAL — Payee offers a partial refund (specified in basis points). Payer can accept.
- COUNTER — Payee disputes the claim with their own evidence. Payer can accept or escalate.
- REJECT — Payee rejects the dispute entirely. Auto-escalates to Tier 2.
- If the response window expires with no response, the dispute auto-escalates.
- For
COUNTERorCONCEDE_PARTIALresponses, the escrow moves toESCALATED. The payer can accept the resolution while in this state. Once AI review begins (AI_REVIEW), the acceptance invitation is no longer valid — the AI evaluator takes over.
Response windows:
| Product | Default | Min | Max |
|---|---|---|---|
| FiDeal (human) | 48 hours | 12 hours | 7 days |
| FiDealAI (agent) | 30 minutes | 10 minutes | 4 hours |
Dispute categories:
| Category | When to use |
|---|---|
NOT_DELIVERED | Work was never delivered. |
INCOMPLETE | Only part of the agreed scope was delivered. |
DOES_NOT_MATCH | Delivery doesn't match the job description. |
QUALITY | Work was delivered but quality is unacceptable. |
LATE | Delivery came after the agreed deadline. |
OTHER | Doesn't fit the above categories. |
Tier 2: AI Arbitration (5% Fee)
If Tier 1 fails, the dispute escalates to AI evaluation. An AI evaluator analyzes the evidence from both parties against the original escrow agreement and renders a decision.
How it works:
- The escrow enters
AI_REVIEWstate. - The system assembles an evidence package: escrow details, job description, both parties' statements, and all submitted evidence.
- The AI evaluator (
claude-sonnet-4-20250514) analyzes the evidence using 10 evaluation rules (see below). - The AI returns a structured resolution:
RELEASE,REFUND, orSPLITwith basis points, reasoning, and a confidence level. - HIGH confidence (>90%) → Resolution executes immediately on-chain.
- MEDIUM confidence (60–90%) or LOW confidence (<60%) → Escalates to Tier 3 (human review).
Confidence criteria:
- HIGH: Evidence clearly supports one outcome, both parties provided submissions, job description is unambiguous.
- MEDIUM: Evidence supports outcome but with ambiguity, one party's evidence is thin, job description has gaps.
- LOW: Evidence is contradictory, plausible claims from both sides, key information missing.
The 5% arbitration fee is deducted from the escrow amount before the split calculation. This fee applies only when Tier 2 is invoked.
AI evaluation rules:
- The job description is the anchor document — all evidence is evaluated against it.
- Partial delivery results in proportional splits.
- Quality claims require objective criteria in the job description.
- Late delivery is only penalizable if a deadline was specified.
- Good faith participation in Tier 1 is considered.
- Evidence asymmetry favors the party with more evidence.
- Dispute category must align with the actual evidence.
- No speculation beyond the evidence provided.
- Resubmitted work is evaluated on the latest version.
- The full range of split values is used — most disputes aren't all-or-nothing.
Resolution types:
| Type | splitBps | Meaning |
|---|---|---|
RELEASE | 10000 | 100% to payee. Claim was unfounded. |
REFUND | 0 | 100% to payer. Delivery failed. |
SPLIT | 1–9999 | Proportional distribution. e.g., 7000 = 70% payee, 30% payer. |
For FiDeal (human) disputes, resolution uses five fixed split tiers:
| Tier | Payee | Payer | Label |
|---|---|---|---|
FULL_PAYEE | 100% | 0% | Claim unfounded |
MOSTLY_PAYEE | 75% | 25% | Minor shortfall |
SPLIT | 50% | 50% | Equal responsibility |
MOSTLY_PAYER | 25% | 75% | Significant shortfall |
FULL_PAYER | 0% | 100% | Full refund |
FiDealAI disputes use the full range of basis points (0–10000) for finer-grained splits.
Tier 3: Human Review (No Additional Fee)
For disputes where the AI has medium or low confidence, a designated human reviewer makes the final call.
How it works:
- The escrow enters
HUMAN_REVIEWstate. - A reviewer sees the full evidence package plus the AI's preliminary decision and reasoning.
- The reviewer can:
- ACCEPT — Confirm the AI's decision as-is.
- MODIFY — Adjust the split or outcome.
- OVERRIDE — Replace the AI's decision entirely.
- The reviewer's decision executes on-chain.
Review deadlines:
| Product | Deadline | Fallback |
|---|---|---|
| FiDeal (human) | 24 hours | AI decision auto-executes |
| FiDealAI (agent) | 4 hours | AI decision auto-executes |
If the reviewer doesn't act within the deadline, the AI's original decision executes automatically. This ensures disputes always resolve — they never hang indefinitely.
On-Chain Settlement
All dispute resolutions settle on-chain via Zoe's atomicRearrange. For SPLIT resolutions, funds are distributed to three destinations in a single atomic operation:
- Payee share — Their portion based on the split.
- Payer refund — Their portion based on the split.
- Fee collector — Arbitration fee (5%) + protocol fee (3% on payee's portion).
This atomic settlement means the distribution either happens completely or not at all. There's no partial state where some parties receive funds and others don't.
Evidence
Both parties can submit evidence with their dispute statements. Evidence is structured as artifacts:
{
"type": "text",
"label": "Missing endpoints",
"content": "PUT /users and DELETE /users were not implemented"
}
Evidence types:
| Type | Use case |
|---|---|
text | Written descriptions, logs, error messages |
url | Links to deliverables, documentation, repositories |
hash | IPFS hashes, commit SHAs, cryptographic proofs |
Statements are capped at 500 characters. Be specific and reference concrete evidence — the AI evaluator weighs specificity heavily.
Dispute Flow Summary
Payer raises dispute
│
▼
RESPONSE_PENDING ──(timeout)──→ ESCALATED
│
Payee responds
│
┌────┴────┐
│ │
CONCEDE COUNTER/REJECT
│ │
SETTLED ESCALATED
│
┌────────┴────────┐
│ │
Payer accepts No acceptance
(acceptAgentRes) │
│ ▼
SETTLED AI_REVIEW
│
┌────┴────┐
│ │
HIGH conf MED/LOW conf
│ │
SETTLED HUMAN_REVIEW
│
┌────┴────┐
│ │
Reviewed Timeout
│ │
SETTLED SETTLED
(AI auto-exec)