- Court policies — define the general rules for a specific Kleros court. Registered in the
PolicyRegistrycontract and displayed to jurors in every dispute in that court. - Dispute policies — define the specific rules for a particular arbitrable app. Referenced via
policyURIin the dispute template. Jurors are expected to read both.
Court Policy JSON
Dispute Policy (per-app)
Dispute policies are linked via thepolicyURI field in dispute templates. They define how jurors should rule for your specific application.
A well-written dispute policy should include:
| Section | Description |
|---|---|
| Context | What your app does and what the dispute represents |
| Ruling criteria | Exact conditions for each ruling option |
| Edge cases | Partial fulfillment, ambiguous evidence, missing info |
| Refuse to Arbitrate | When jurors should select ruling 0 (invalid dispute, out of scope) |
| Evidence requirements | What types of evidence are acceptable |
Example Dispute Policy Structure
specification Field in Dispute Templates
Dispute templates may include a specification field referencing the KIP (Kleros Improvement Proposal) or standard the template follows:
PolicyRegistry Contract
_policyURI is an IPFS URI pointing to the court policy JSON.
To read the current policy for a court:
Tips for Writing Good Policies
- Write for a general audience — jurors are not legal experts or domain specialists
- Use concrete examples for each ruling option
- Specify exactly what evidence is sufficient to shift the ruling
- Avoid ambiguous language like “reasonable” without defining what it means in your context
- Test the policy with mock disputes before deployment
- Store on IPFS with multiple pinning providers (Pinata, Infura, Cloudflare) for permanence