Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion court/court-hierarchy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ The following table shows the production court configuration as deployed. Values
| 32 | Corte de Defensores del Cliente | 29 | 8,400 | 0.0054 | 15 | No |

<Note>
Courts 29 and 32 (Argentina Consumer Protection courts) use `DisputeKitGated` and require specific SBT eligibility tokens. See [Deployment Addresses](/reference/contracts/deployment-addresses) for SBT contract addresses.
Courts 29 and 32 (Argentina Consumer Protection courts) use `DisputeKitGated` and require specific SBT eligibility tokens. See [Deployment Addresses V2](/reference/contracts/deployment-addresses) for SBT contract addresses.
</Note>

### Testnet Parameters (Arbitrum Sepolia)
Expand Down
2 changes: 1 addition & 1 deletion court/how-it-works.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ Kleros V2 introduces modular dispute resolution through pluggable Dispute Kits.
| 3 | **Gated** | Classic voting restricted to jurors holding a specific eligibility token (SBT). Used for courts requiring verified credentials. | Live |
| 4 | **GatedShutter** | Gated eligibility combined with Shutter encryption. | Live |

<Note>All four kits are deployed and registered on the General Court on Arbitrum One. Specialized courts (e.g., courts 29 and 32 for Argentina Consumer Protection) use DisputeKitGated and require specific SBTs - see [Deployment Addresses](/reference/contracts/deployment-addresses). The dispute kit architecture is extensible; new kits can be added through governance.</Note>
<Note>All four kits are deployed and registered on the General Court on Arbitrum One. Specialized courts (e.g., courts 29 and 32 for Argentina Consumer Protection) use DisputeKitGated and require specific SBTs - see [Deployment Addresses V2](/reference/contracts/deployment-addresses). The dispute kit architecture is extensible; new kits can be added through governance.</Note>

---

Expand Down
4 changes: 4 additions & 0 deletions developers/arbitrable-apps/arbitrable-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ title: "Arbitrable Apps V2"
description: "Step-by-step guide to building a Kleros V2 arbitrable smart contract, from IArbitratorV2 integration to dispute creation, evidence, and ruling."
---

<Note>
This guide is specific to Kleros V2: it uses the `IArbitrableV2` and `IArbitratorV2` interfaces and KlerosCore on Arbitrum. To build against Kleros V1 (ERC-792 and ERC-1497), see [V1 Arbitrable Apps](/developers/arbitrable-apps/v1-arbitrable-apps).
</Note>

## Interface Reference

Before building, understand the two interfaces your contract interacts with.
Expand Down
10 changes: 7 additions & 3 deletions developers/arbitrable-apps/arbitrable-overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: "Design patterns and interface choices for building arbitrable smar

## What is an Arbitrable Contract?

An arbitrable contract is any smart contract that can create disputes and enforce rulings from Kleros. Your contract implements the `IArbitrableV2` interface, which defines two things:
An arbitrable contract is any smart contract that can create disputes and enforce rulings from Kleros. Your contract implements an arbitrable interface (`IArbitrableV2` in Kleros V2, ERC-792 in V1), which defines two things:

1. **How disputes are created**: your contract decides when conflicts arise
2. **How rulings are enforced**: your contract executes the outcome
Expand Down Expand Up @@ -90,9 +90,13 @@ Decide how evidence reaches jurors:
- **Separate module** Use the `EvidenceModule` contract
- **Cross-chain** Evidence from foreign chain via gateway

## Interface Requirements
## Interface Requirements (V2)

Your contract must implement:
<Note>
This section is specific to Kleros V2. For V1, contracts implement [ERC-792](/developers/arbitrable-apps/erc-792) and [ERC-1497](/developers/arbitrable-apps/erc-1497) instead, and must emit a `MetaEvidence` event so the Court interface can display the dispute.
</Note>

To integrate with Kleros V2, your contract must implement:

```solidity
interface IArbitrableV2 {
Expand Down
21 changes: 11 additions & 10 deletions developers/arbitrable-apps/arbitrable-testing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,19 @@ Testing arbitrable contracts requires simulating the full dispute lifecycle. You

```mermaid
graph TB
subgraph Testing Layers
subgraph TL["Testing Layers"]
direction TB
L1["1. Unit Tests<br/>Your contract logic in isolation<br/>with MockArbitrator"]
L2["2. Integration Tests<br/>With mock arbitrator + dispute lifecycle"]
L3["3. Testnet<br/>With real Kleros on Arbitrum Sepolia"]
L4["4. Mainnet Fork<br/>Simulate with production KlerosCore state"]
L1["Layer 1: Unit Tests<br/>Contract logic in isolation with MockArbitrator"]
L2["Layer 2: Integration Tests<br/>Mock arbitrator plus full dispute lifecycle"]
L3["Layer 3: Testnet<br/>Real Kleros on Arbitrum Sepolia"]
L4["Layer 4: Mainnet Fork<br/>Production KlerosCore state"]
L1 --> L2 --> L3 --> L4
end
L1 --> L2 --> L3 --> L4
style L1 fill:#e8e0f0,stroke:#7b5ea7
style L2 fill:#d8ccf0,stroke:#7b5ea7
style L3 fill:#c4b0e8,stroke:#7b5ea7
style L4 fill:#7b5ea7,color:#fff,stroke:#5a3d8a
style TL fill:transparent,stroke:#7b5ea7
style L1 fill:#ede7f6,stroke:#7b5ea7,color:#1a1a2e
style L2 fill:#d1c4e9,stroke:#7b5ea7,color:#1a1a2e
style L3 fill:#9575cd,stroke:#5a3d8a,color:#ffffff
style L4 fill:#5e35b1,stroke:#4a2d91,color:#ffffff
```

## Unit Testing with Mock Arbitrator
Expand Down
4 changes: 4 additions & 0 deletions developers/arbitrable-apps/centralized-arbitrator.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ description: "Developer guide to deploying and operating the Centralized Arbitra

The Centralized Arbitrator dashboard allows anyone to quickly deploy and operate a centralized arbitrator from a graphical interface. It serves as a testing and debugging tool for arbitrable apps integrating with Kleros Court.

<Note>
This is a V1 tool. The dashboard deploys an `AutoAppealableArbitrator` contract that implements the [ERC-792](/developers/arbitrable-apps/erc-792) arbitrator interface, so it is used for testing V1 (ERC-792) arbitrable contracts.
</Note>

---

## How It Works
Expand Down
6 changes: 5 additions & 1 deletion developers/architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,14 @@ graph TB
| **KlerosLiquid** | Staking, juror drawing, voting, appeals, ruling execution |
| **PNK** | Staking token |
| **PolicyRegistry** | Court policy storage |
| **Arbitrable contracts** | Implement ERC-792 to create disputes and receive rulings |
| **Arbitrable contracts** | Implement ERC-792 to create disputes and receive rulings, and ERC-1497 to provide dispute context |

V1 uses the ERC-792 (arbitration) and ERC-1497 (evidence) standards, blockhash-based randomness, commit-reveal plurality voting, and a hierarchical subcourt tree. For V1 contract addresses, see [Deployment Addresses](/reference/contracts/deployment-addresses-v1).

<Warning>
A V1 arbitrable contract must implement [ERC-1497](/developers/arbitrable-apps/erc-1497) in addition to ERC-792. In particular, it must emit a `MetaEvidence` event and link disputes to it with a `Dispute` event. The Court interface relies on `MetaEvidence` to display the dispute and its ruling options to jurors. An arbitrable that never emits `MetaEvidence` produces disputes that cannot be adjudicated properly.
</Warning>

## V2 System Overview

Kleros V2 uses a modular architecture where specialized contracts handle specific responsibilities:
Expand Down
4 changes: 2 additions & 2 deletions developers/products/curate/curate-classic.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ Call `executeRequest()` after the challenge period passes without a challenge.
<Card title="Curate Classic Contracts" icon="github" href="https://github.com/kleros/tcr">
Source code
</Card>
<Card title="Subgraph" icon="database" href="https://thegraph.com/hosted-service/subgraph/kleros/curate">
Curate subgraph on The Graph
<Card title="Subgraph" icon="database" href="https://thegraph.com/explorer/subgraphs/A5oqWboEuDezwqpkaJjih4ckGhoHRoXZExqUbja2k1NQ">
legacy-curate-mainnet subgraph on Graph Explorer
</Card>
</CardGroup>
64 changes: 39 additions & 25 deletions developers/subgraph/endpoints.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ description: "GraphQL endpoints for Kleros V2 core, DRT, and V1 subgraphs on Arb

All Kleros subgraphs are deployed on The Graph. Use these endpoints to query Kleros data via GraphQL.

Every subgraph published by Kleros on The Graph decentralized network is listed on the [Kleros deployer profile on Graph Explorer](https://thegraph.com/explorer/profile/0x7f3a845bf7aa9eb6da3dc53518ff22a2f65612e6?chain=arbitrum-one&view=Subgraphs). Each Explorer page shows the subgraph ID and the exact query URL.

<Note>
**Infrastructure:** Subgraphs were migrated from Alchemy to Goldsky following Alchemy's subgraph service shutdown (December 2025–January 2026). The core subgraph 0.18.1 and DRT subgraph 0.14.0 were deployed on Goldsky (November 2025), and the GTCR Indexer reached v0.1.7 with an Envio branch (April 2026). Some applications use Envio HyperIndex as the primary indexer with a subgraph as fallback.
</Note>
Expand All @@ -24,36 +26,34 @@ Subgraph endpoints on the decentralized network require a **Graph API key**. Get



| Environment | Network | Studio Page |
| --- | --- | --- |
| Mainnet | Arbitrum One | [kleros-v2-coreneo](https://thegraph.com/studio/subgraph/kleros-v2-coreneo/) |
| Testnet | Arbitrum Sepolia | [kleros-v2-core-testnet](https://thegraph.com/studio/subgraph/kleros-v2-core-testnet/) |
| Devnet | Arbitrum Sepolia | [kleros-v2-core-devnet](https://thegraph.com/studio/subgraph/kleros-v2-core-devnet/) |
| Environment | Network | Explorer Page | Subgraph ID |
| --- | --- | --- | --- |
| Mainnet | Arbitrum One | [kleros-v2-coreneo](https://thegraph.com/explorer/subgraphs/3U95wXKP8fBpkMNn8mbroVkUTuh6KtHGa456pTixx9B2) | `3U95wXKP8fBpkMNn8mbroVkUTuh6KtHGa456pTixx9B2` |
| Testnet | Arbitrum Sepolia | [kleros-v2-core-testnet](https://thegraph.com/explorer/subgraphs/77xeh3UeBCzHokbVtkeaH42vXsFh6MRe4JpZSPddoXZo) | `77xeh3UeBCzHokbVtkeaH42vXsFh6MRe4JpZSPddoXZo` |
| Devnet | Arbitrum Sepolia | [kleros-v2-core-devnet](https://thegraph.com/explorer/subgraphs/4Rg3NAW99hX8RDD281ycfeRWxp92k6RdqpW3pf6imGTS) | `4Rg3NAW99hX8RDD281ycfeRWxp92k6RdqpW3pf6imGTS` |

**Decentralized network query URL pattern:**
```
https://gateway.thegraph.com/api/{YOUR_API_KEY}/subgraphs/id/{SUBGRAPH_ID}
```

Get the `SUBGRAPH_ID` (deployment hash) from the Studio pages linked above - it is shown on the subgraph's Overview tab.

### Dispute Template Registry Subgraph

| Environment | Network | Studio Page |
| --- | --- | --- |
| Mainnet | Arbitrum One | [kleros-v2-drt](https://thegraph.com/studio/subgraph/kleros-v2-drt/) |
| Testnet | Arbitrum Sepolia | [kleros-v2-drt-arbisep-testnet](https://thegraph.com/studio/subgraph/kleros-v2-drt-arbisep-testnet/) |
| Environment | Network | Explorer Page | Subgraph ID |
| --- | --- | --- | --- |
| Mainnet | Arbitrum One | [kleros-v2-drt](https://thegraph.com/explorer/subgraphs/FktCcvKHN9mdcyNMK1jgnKwf5AwmVXka4kATxXX3HmKT) | `FktCcvKHN9mdcyNMK1jgnKwf5AwmVXka4kATxXX3HmKT` |
| Testnet | Arbitrum Sepolia | [kleros-v2-drt-arbisep-testnet](https://thegraph.com/explorer/subgraphs/EZjJCfxBiQ9B9RtfQDTzNKx34nckSnBWDNaLZPficnHp) | `EZjJCfxBiQ9B9RtfQDTzNKx34nckSnBWDNaLZPficnHp` |

---

## V2 Product Subgraphs

### Escrow V2

| Environment | Network | Subgraph ID |
| --- | --- | --- |
| Mainnet | Arbitrum One | `96vpnRJbRVkzF6usMNYMMoziSZEfSwGEDpXNi2h9WBSW` |
| Devnet | Arbitrum Sepolia | `3aZxYcZpZL5BuVhuUupqVrCV8VeNyZEvjmPXibyPHDFQ` |
| Environment | Network | Explorer Page | Subgraph ID |
| --- | --- | --- | --- |
| Mainnet | Arbitrum One | [escrow-v2-neo](https://thegraph.com/explorer/subgraphs/96vpnRJbRVkzF6usMNYMMoziSZEfSwGEDpXNi2h9WBSW) | `96vpnRJbRVkzF6usMNYMMoziSZEfSwGEDpXNi2h9WBSW` |
| Devnet | Arbitrum Sepolia | [escrow-v2-devnet](https://thegraph.com/explorer/subgraphs/3aZxYcZpZL5BuVhuUupqVrCV8VeNyZEvjmPXibyPHDFQ) | `3aZxYcZpZL5BuVhuUupqVrCV8VeNyZEvjmPXibyPHDFQ` |

Full query URL (mainnet):
```
Expand All @@ -62,32 +62,46 @@ https://gateway.thegraph.com/api/{YOUR_API_KEY}/subgraphs/id/96vpnRJbRVkzF6usMNY

### Curate V2

Curate V2 subgraph is under active development. Check the [curate-v2 repository](https://github.com/kleros/curate-v2/tree/master/subgraph) for the latest deployment.
Curate V2 subgraph is under active development. A devnet deployment is published as [curate-v2-devnet](https://thegraph.com/explorer/subgraphs/H93eWJbDpYKAtkLmsMn7Su3ZLZwAwLN5VoyvQH4NbGAv). Check the [curate-v2 repository](https://github.com/kleros/curate-v2/tree/master/subgraph) for the latest deployment.

---

## V1 Subgraphs

These index V1 Kleros products still in active use.

<Note>
The Graph hosted service (`thegraph.com/hosted-service/...` URLs) has been shut down. Old hosted-service endpoints no longer work.
</Note>

### Curate V1

| Network | Endpoint |
| --- | --- |
| Ethereum Mainnet | `https://thegraph.com/hosted-service/subgraph/kleros/curate` |
| Gnosis Chain | `https://thegraph.com/hosted-service/subgraph/kleros/legacy-curate-xdai` |
| Network | Explorer Page | Subgraph ID |
| --- | --- | --- |
| Ethereum Mainnet | [legacy-curate-mainnet](https://thegraph.com/explorer/subgraphs/A5oqWboEuDezwqpkaJjih4ckGhoHRoXZExqUbja2k1NQ) | `A5oqWboEuDezwqpkaJjih4ckGhoHRoXZExqUbja2k1NQ` |
| Gnosis Chain | [legacy-curate-gnosis](https://thegraph.com/explorer/subgraphs/9hHo5MpjpC1JqfD3BsgFnojGurXRHTrHWcUcZPPCo6m8) | `9hHo5MpjpC1JqfD3BsgFnojGurXRHTrHWcUcZPPCo6m8` |

The Curate application at [curate.kleros.io](https://curate.kleros.io) queries these public Goldsky endpoints, which require no API key:

```
https://api.goldsky.com/api/public/project_cmgx9all3003atlp2bqha1zif/subgraphs/pgtcr-mainnet/0.0.3/gn
https://api.goldsky.com/api/public/project_cmgx9all3003atlp2bqha1zif/subgraphs/pgtcr-gnosis/0.0.3/gn
https://api.goldsky.com/api/public/project_cmgx9all3003atlp2bqha1zif/subgraphs/pgtcr-sepolia/0.0.3/gn
```

### Proof of Humanity V1

| Network | Endpoint |
| --- | --- |
| Ethereum Mainnet | `https://thegraph.com/hosted-service/subgraph/kleros/proof-of-humanity-mainnet` |
The Proof of Humanity application at [app.proofofhumanity.id](https://app.proofofhumanity.id) queries this public Studio endpoint:

```
https://api.studio.thegraph.com/query/61738/proof-of-humanity-mainnet/version/latest
```

You can also query PoH V1 directly: call `isRegistered(address)` on `0xC5E9dDebb09Cd64DfaCab4011A0D5cEDaf7c9BDb` on Ethereum Mainnet.
You can also query PoH V1 directly on-chain: call `isRegistered(address)` on `0xC5E9dDebb09Cd64DfaCab4011A0D5cEDaf7c9BDb` on Ethereum Mainnet.

### Other V1 Products

For Escrow V1, Linguo, Tokens, and other V1 apps, see the [Kleros subgraph list on GitHub](https://github.com/orgs/kleros/repositories?q=subgraph).
For Escrow V1, Linguo, Tokens, and other V1 apps, see the [Kleros deployer profile on Graph Explorer](https://thegraph.com/explorer/profile/0x7f3a845bf7aa9eb6da3dc53518ff22a2f65612e6?chain=arbitrum-one&view=Subgraphs) and the [Kleros subgraph repositories on GitHub](https://github.com/orgs/kleros/repositories?q=subgraph).

---

Expand Down
2 changes: 1 addition & 1 deletion developers/subgraph/queries.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ Batched query to fetch address tags from the three Kleros address tag registries
}
```

Endpoint: `https://thegraph.com/hosted-service/subgraph/kleros/legacy-curate-xdai`
Subgraph: [legacy-curate-gnosis](https://thegraph.com/explorer/subgraphs/9hHo5MpjpC1JqfD3BsgFnojGurXRHTrHWcUcZPPCo6m8) on Graph Explorer (subgraph ID `9hHo5MpjpC1JqfD3BsgFnojGurXRHTrHWcUcZPPCo6m8`)

---

Expand Down
67 changes: 43 additions & 24 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -217,14 +217,24 @@
"group": "Arbitrable Apps",
"pages": [
"developers/arbitrable-apps/arbitrable-overview",
"developers/arbitrable-apps/v1-arbitrable-apps",
"developers/arbitrable-apps/arbitrable-guide",
"developers/arbitrable-apps/erc-792",
"developers/arbitrable-apps/erc-1497",
"developers/arbitrable-apps/centralized-arbitrator",
"developers/arbitrable-apps/arbitrable-proxy",
"developers/arbitrable-apps/arbitrable-testing",
"developers/arbitrable-apps/arbitrable-production"
{
"group": "Building on V2",
"pages": [
"developers/arbitrable-apps/arbitrable-guide",
"developers/arbitrable-apps/arbitrable-testing",
"developers/arbitrable-apps/arbitrable-production"
]
},
{
"group": "Building on V1",
"pages": [
"developers/arbitrable-apps/erc-792",
"developers/arbitrable-apps/erc-1497",
"developers/arbitrable-apps/v1-arbitrable-apps",
"developers/arbitrable-apps/centralized-arbitrator",
"developers/arbitrable-apps/arbitrable-proxy"
]
}
]
},
{
Expand Down Expand Up @@ -309,27 +319,36 @@
]
},
{
"group": "Contracts",
"group": "Architecture",
"pages": [
"reference/architecture/v2-architecture",
"reference/architecture/arbitrator-v2",
"reference/architecture/sortition-module-spec",
"reference/architecture/vea-overview"
]
},
{
"group": "Contracts (V2)",
"pages": [
"reference/contracts/deployment-addresses-v1",
"reference/contracts/deployment-addresses",
{
"group": "Reference V2",
"pages": [
"reference/contracts/kleros-core",
"reference/contracts/dispute-kit-classic",
"reference/contracts/sortition-module",
"reference/contracts/dispute-template-registry",
"reference/contracts/policy-registry",
"reference/contracts/kleros-governor",
"reference/contracts/gateways"
]
},
"reference/contracts/kleros-core",
"reference/contracts/dispute-kit-classic",
"reference/contracts/sortition-module",
"reference/contracts/gateways",
"reference/contracts/kleros-governor",
"reference/contracts/policy-registry",
"reference/contracts/dispute-template-registry",
"reference/contracts/moderated-evidence-module"
]
},
{
"group": "Data Formats",
"group": "Contracts (V1)",
"pages": [
"reference/contracts/deployment-addresses-v1"
]
},
{
"group": "Data Formats (V2)",
"pages": [
"reference/data-formats/dispute-templates",
"reference/data-formats/evidence-format",
Expand All @@ -339,7 +358,7 @@
]
},
{
"group": "SDK",
"group": "SDK (V2)",
"pages": [
"reference/sdk/kleros-sdk"
]
Expand Down
14 changes: 12 additions & 2 deletions enterprise/enterprise.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@ description: "Kleros Enterprise offers companies, institutions, and governments

# Kleros Enterprise

<Frame caption="Kleros Enterprise, screenshot to be added">
<img src="/images/v1-screenshot-placeholder.svg" alt="Kleros Enterprise, screenshot to be added" />
<Frame caption="Kleros Enterprise: [empresas.kleros.io](https://empresas.kleros.io/)">
<img src="/images/Enterprise-hero1.png" />
</Frame>

<Frame caption="Kleros Enterprise: [kleros.io/enterprise](https://kleros.io/enterprise)">
<img src="/images/Enterprise-hero2.png" />
</Frame>

**Kleros Enterprise** is a neutral dispute resolution system for businesses and governments, designed for speed, fairness, and transparency. Companies, institutions, and governments use Kleros dispute resolution technology to resolve disputes within their own platforms or services. The blockchain complexity is abstracted away: neither the organization nor its users need to handle crypto or interact with smart contracts directly.
Expand Down Expand Up @@ -110,6 +114,12 @@ Specific use cases include protocol governance disputes, on-chain moderation, or
## Get Started

<CardGroup cols={2}>
<Card title="Enterprise Landing Page" icon="building" href="https://kleros.io/landing-enterprise">
Kleros Enterprise overview and customer complaint resolution offering
</Card>
<Card title="Página para Empresas (Español)" icon="building" href="https://empresas.kleros.io/">
Resolución de disputas para empresas, in Spanish
</Card>
<Card title="Contact Integration Team" icon="envelope" href="mailto:integrations@kleros.io">
integrations@kleros.io
</Card>
Expand Down
Binary file added images/Enterprise-hero1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/Enterprise-hero2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading