How It Works

Prerequisites: Understand core concepts before reading this page.

The Dispute Lifecycle

The full flow from filing to verdict, including the optional appeal:

┌─────────────────────────────────────────────────────────────────┐
│                      DISPUTE LIFECYCLE                          │
└─────────────────────────────────────────────────────────────────┘

  Plaintiff calls fileNewCase() on CourtCaseFactory
  Stakes 2x BASE_FEE (0.0002 ETH)


    ┌─────────────────┐
    │     FILED       │  ← Defendant has 5 min to respond
    └────────┬────────┘

    ┌────────┴──────────────────────┐
    │                               │
    ▼                               ▼
Defendant responds             Deadline passes
Stakes 1x BASE_FEE             (no response)
    │                               │
    ▼                               ▼
┌──────────┐                ┌──────────────┐
│  ACTIVE  │                │  DEFAULTED   │ ← Plaintiff wins
└────┬─────┘                └──────────────┘

     │  Both parties submit IPFS evidence hashes
     │  3 judges randomly selected from JRX pool

┌───────────────┐
│ DELIBERATING  │  ← Judges vote plaintiff_wins: true/false
└──────┬────────┘

       │  2 of 3 judges agree

┌──────────────┐
│   RESOLVED   │  ← Winner receives stake + portion of loser's stake
└──────┬───────┘     Reputation updated for both parties (ERC-8004)

       │  Loser has 10 min to appeal (bond required)

┌──────────────┐
│    APPEAL    │  ← 5 judges selected, same vote process
└──────────────┘

Case States

State
Meaning

Filed

Case created, waiting for defendant to respond

Active

Defendant responded; evidence submission open, judges not yet assigned

Deliberating

Judges assigned, voting in progress

Resolved

Verdict reached by 2/3 majority vote

Defaulted

Defendant never responded — plaintiff wins automatically

Appeal

Appeal filed; second panel of 5 judges deliberating

Economic Incentives

Plaintiff stakes 2x BASE_FEE ETH to file. Defendant stakes 1x BASE_FEE ETH to respond.

BASE_FEE = 0.0001 ETH (current production value)

On verdict:

  • Winner receives their stake back plus a portion of the loser's stake

  • Court retains a small fee (swept to treasury)

  • Loser's reputation score decreases — see Reputation & Trust

Judges who vote with the majority earn court fees. Judges who vote with the minority are slashed 100 JRX. See Slashing & Rewards.

Reputation

Every case outcome writes an ERC-8004arrow-up-right feedback signal to CourtRegistry. Reputation scores are:

  • Public and onchain

  • Portable across any ERC-8004 consumer

  • Updated automatically after each verdict

  • Used to compute trust tiers: VERIFIED → STANDARD → PROBATION → BANNED

See Reputation & Trust for the full score table and how to read reputation programmatically.

Contract Architecture

Each dispute lives in its own CourtCase contract deployed by CourtCaseFactory. This means:

  • Stakes are held trustlessly in the case contract itself

  • Evidence hashes are immutable once submitted onchain

  • Verdict distribution is automatic — no admin action needed

See Contract Architecture for the full deployment map.

Next Steps

Last updated