Skip to main content
Every dispute in Justly follows a deterministic five-state lifecycle. While tiers may change economic values and timing ranges, the state machine stays the same across the protocol.

State model

Every dispute moves through these states:
  1. Created
  2. Evidence
  3. Commit
  4. Reveal
  5. Finished
This model stays intentionally compact. Operational steps such as juror assignment happen inside a state rather than as separate states.

1. Created

A dispute starts in Created when the integrating protocol opens a case between a Claimer and a Defender. At creation time:
  • the parties are defined,
  • the tier is selected,
  • the evidence reference can be set,
  • and timing parameters are initialized.
The dispute exists, but adjudication has not started yet.

2. Funding and activation

Both sides of the dispute must be fully funded before the dispute can activate. This means the required economic amounts for the claimer side and defender side must be covered. Those amounts may be paid by the parties themselves or by a sponsor or platform on their behalf. Until both sides are covered, the dispute remains in Created. Once full funding is complete, the dispute moves to Evidence.

3. Evidence

In Evidence, the funded dispute is open for evidence submission. During this phase:
  • the parties can submit evidence references,
  • evidence stays off-chain,
  • evidence references are recorded on-chain,
  • and the record that jurors will later evaluate is formed.
Evidence is only accepted during its allowed window. When the evidence window closes, the dispute moves to Commit and the record is frozen.

4. Commit

Commit is the start of adjudication. At this point:
  • evidence is frozen,
  • the voting timer starts,
  • juror assignment begins,
  • and selected jurors can submit vote commitments.
Juror selection is permissionless to trigger. If the full target panel is not reached before the selection timeout, the dispute still proceeds with the jurors actually selected.

5. Reveal

In Reveal, jurors who committed votes reveal them. This phase:
  • verifies commitments,
  • counts valid reveals,
  • and allows the dispute to reach finalization.
The dispute finalizes when either:
  • all effective votes have been revealed, or
  • the voting deadline passes.
If no effective vote exists, the defender is the default outcome.

6. Finished

In Finished, the ruling is final at the protocol level. At finalization, Justly:
  • stores the final ruling,
  • computes juror rewards and penalties,
  • and may attempt a callback to the integrating protocol.
Callback success is not required for ruling finality.

Key guarantees

The lifecycle guarantees that:
  • a dispute cannot enter adjudication before both sides are fully funded,
  • evidence is frozen before voting begins,
  • progression is bounded by deadlines,
  • a dispute can finalize with fewer jurors than the target panel,
  • and callback failure does not invalidate the ruling.

Notes on versions

The current live version resolves disputes in a single finalized round. Appeals are planned for a later version and are not part of the current lifecycle.