Kleros courts are organized in a hierarchical tree structure, allowing disputes to be handled by jurors with appropriate expertise while maintaining a clear appeals path.Documentation Index
Fetch the complete documentation index at: https://kleros-mintlify-changelog-2026-05-12-1778458371.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Court Structure
The court tree forms an arborescence with the General Court as the current root. New courts can be added by governance as Kleros is adopted for additional dispute types.This diagram reflects the court tree from the Kleros yellow paper (Figure 5). The live court tree on v2.kleros.builders may differ as courts are added or modified through governance.
Court Types
- General Court
- Specialized Courts
- Forking Court
- Automated Curation
The Root Court (ID: 1)The General Court currently serves as the root of the entire court system. It handles appeals from all specialized courts and has the broadest juror pool because staking in any specialized court automatically stakes you in all parent courts up to the General Court.Every juror in the Kleros system is, by definition, a General Court juror.
Court Parameters
Each court has parameters that define how it operates. These are set during court creation and can be changed by governance so always check v2.kleros.builders for current live values.| Parameter | Description | Spec Example |
|---|---|---|
Minimum Stake (minStake) | Minimum PNK required to stake in this court | 2,300 PNK |
Alpha (alpha) | Basis points controlling how much PNK is locked per vote | 10000 (100%) |
Fee For Juror (feeForJuror) | Payment per juror per dispute round | 0.005 ETH |
Jurors For Court Jump (jurorsForCourtJump) | Juror threshold that triggers escalation to parent court | 511 |
Hidden Votes (hiddenVotes) | Whether commit-reveal voting is used | true / false |
Times Per Period (timesPerPeriod) | Duration of each dispute phase in seconds | [280800, 583200, 583200, 388800] |
Mainnet Court Parameters (Arbitrum One)
The following table shows the production court configuration as deployed. Values are governance-controlled and may have changed since this was written — always cross-check with v2.kleros.builders.| ID | Name | Parent | minStake (PNK) | feeForJuror (ETH) | jurorsForJump | hiddenVotes |
|---|---|---|---|---|---|---|
| 1 | General Court | 1 (root) | 2,300 | 0.005 | 511 | Yes |
| 2 | Blockchain | 1 | 7,000 | 0.0069 | 63 | No |
| 3 | Non-Technical | 2 | 7,000 | 0.003 | 31 | No |
| 4 | Token Listing | 3 | 70,000 | 0.064 | 47 | No |
| 5 | Technical | 2 | 33,000 | 0.033 | 31 | No |
| 6 | Marketing Services | 1 | 7,800 | 0.0062 | 15 | No |
| 7 | English Language | 1 | 9,000 | 0.0074 | 3 | No |
| 8 | Video Production | 1 | 7,500 | 0.0062 | 3 | No |
| 9 | Onboarding | 1 | 2,300 | 0.0007 | 255 | No |
| 10 | Curation | 1 | 2,600 | 0.0024 | 30 | No |
| 11 | Data Analysis | 1 | 15,000 | 0.018 | 64 | No |
| 12 | Statistical Modeling | 11 | 19,000 | 0.019 | 32 | No |
| 13 | Curation (Medium) | 10 | 2,900 | 0.0023 | 30 | No |
| 14 | Spanish-English Translation | 7 | 9,000 | 0.0031 | 128 | No |
| 15 | French-English Translation | 7 | 9,000 | 0.0031 | 128 | No |
| 16 | Portuguese-English Translation | 7 | 9,000 | 0.0031 | 128 | No |
| 17 | German-English Translation | 7 | 9,000 | 0.0039 | 128 | No |
| 18 | Russian-English Translation | 7 | 9,000 | 0.0039 | 128 | No |
| 19 | Korean-English Translation | 7 | 9,000 | 0.005 | 128 | No |
| 20 | Japanese-English Translation | 7 | 9,000 | 0.005 | 128 | No |
| 21 | Turkish-English Translation | 7 | 9,000 | 0.005 | 128 | No |
| 22 | Chinese-English Translation | 7 | 9,000 | 0.005 | 128 | No |
| 23 | Corte General en Español | 1 | 5,100 | 0.005 | 128 | No |
| 24 | Humanity Court | 1 | 5,300 | 0.0024 | 31 | No |
| 25 | Development Court | 1 | 9,500 | 0.011 | 63 | No |
| 26 | Solidity Court | 25 | 9,500 | 0.011 | 63 | No |
| 27 | Javascript Court | 25 | 9,500 | 0.011 | 63 | No |
| 28 | Corte de Curación en Español | 23 | 5,100 | 0.0024 | 30 | No |
| 29 | Corte de Disputas de Consumo y Vecindad | 23 | 8,400 | 0.0054 | 15 | No |
| 30 | Oracle Court | 1 | 5,000 | 0.0069 | 31 | No |
| 31 | Automated Curation | 10 | 2,600 | 0.00017 | 3 | No |
| 32 | Corte de Defensores del Cliente | 29 | 8,400 | 0.0054 | 15 | No |
Courts 29 and 32 (Argentina Consumer Protection courts) use
DisputeKitGated and require specific SBT eligibility tokens. See Deployment Addresses for SBT contract addresses.Testnet Parameters (Arbitrum Sepolia)
Testnet court parameters are deliberately different from mainnet to allow faster testing:| Parameter | Mainnet (General Court) | Testnet (General Court) |
|---|---|---|
| minStake | 2,300 PNK | 150 PNK |
| feeForJuror | 0.005 ETH | 0.00001 ETH |
| timesPerPeriod | ~3 days each | 12 hours each |
| Courts available | 32 | 6 |
Understanding Alpha
Thealpha parameter determines how much of your stake is locked when drawn as a juror:
Alpha Example
Alpha Example
With minStake = 2,300 PNK and alpha = 10000 (100%)Your locked amount per vote = 2,300 PNKIf alpha were 5000 (50%), your locked amount would be 1,150 PNK per vote. The
alpha parameter effectively sets the economic risk of participating as a juror higher alpha means more PNK at stake per vote.Time Periods
Each dispute progresses through four key periods, with durations defined per court:- Evidence Period: Time for parties to submit evidence
- Commit Period: Time for jurors to commit votes (when
hiddenVotes = true) - Vote / Reveal Period: Time for voting or revealing committed votes
- Appeal Period: Time to fund appeals
Automatic Parent Staking
Critical Concept: When you stake in a specialized court, you are automatically staked in all parent courts up to the General Court. What this means in practice:- Staking in the Solidity court = also eligible for Blockchain Technical and General Court cases
- Staking in Curation (Medium) = also eligible for Curation and General Court cases
- The General Court includes every juror in the entire system
Multi-Court Staking
You can stake in multiple courts, but there are important constraints:Court Limit
There is aMAX_STAKE_PATHS limit on how many courts a single juror can stake in simultaneously. This exists for gas efficiency many sortition operations scale linearly with the number of staked courts.
Verify the current
MAX_STAKE_PATHS value on-chain or in the Sortition Module contract. If you attempt to stake in more courts than allowed, the transaction will revert with CannotStakeInMoreCourts.Choosing Courts
Consider these factors when selecting courts:- Your Expertise: Match courts to your knowledge areas, read each court’s policy before staking
- Minimum Stake: Ensure you meet the court’s
minStakerequirement (check live values) - Activity Level: More active courts = more earning opportunities
- Policy Alignment: Understand and agree with court rules before committing PNK
Court Policies
Each court has a policy document that defines:| Section | Description |
|---|---|
| Purpose | What types of disputes the court handles |
| Rules | Guidelines jurors must follow when evaluating evidence |
| Required Skills | Knowledge or expertise jurors should possess |
| Special Procedures | Any court-specific requirements |
PolicyRegistry contract and can be updated by governance. Child courts inherit policies from their parent courts so General Court policies apply everywhere.
Explore Court Policies
Visit Kleros Court, click on “Courts” and review the policy for any court that interests you.
Court Transparency Features
The V2 interface provides enhanced transparency for each court:- Top Jurors Staked: See who has the largest stakes in each court
- Latest Stakes: Monitor real-time staking activity
- Court Statistics: View dispute history and resolution rates
- Court Parameters: All parameters are viewable on-chain and in the Court UI
What’s Next?
Appeals
Learn how cases escalate through the hierarchy
How It Works
Understand the full dispute resolution process
Staking Guide
Step-by-step guide to staking in courts