Skip to main content
The Kleros Dispute Service lets a platform send its users’ disputes to Kleros without deploying an arbitrable contract of its own. Over one authenticated endpoint you create a Kleros v2 dispute, publish and submit evidence for the jurors, and read the ruling back. The same endpoint also serves read access to Kleros courts, disputes, evidence, jurors and stakes. It is built for agents: the endpoint is an MCP server, so an MCP client discovers the tools and their rules on connect. Any HTTP client can call it too, as plain JSON-RPC.

Create disputes

Create a Kleros v2 dispute without deploying an arbitrable contract.

Submit evidence

Publish and submit evidence for the jurors.

Read rulings & court data

Read the ruling back, plus courts, disputes, evidence, jurors and stakes.
The service is an early preview, operated by Kleros with API keys issued by hand to integrating partners. Its tools and their outputs may change between releases. Disputes created on Beta (arbitrum-one) are real: Beta is Kleros v2 live production, with real jurors and real arbitration fees. “Beta” is the release name, not a test network.

How it works

Each partner holds one API key per deployment, and each key carries a Preset set up by Kleros:
  • Deployment: the deployment the key targets
  • Court: the court disputes are created in
  • Juror count: the number of jurors
  • Dispute template: the dispute template jurors read
  • Fee wallet: the wallet that pays the arbitration fee
  • Fee ceiling: a ceiling on that fee
A dispute creation therefore takes almost no input (just the addresses of the parties, if you know them) and cannot be pointed at a different court, template or deployment by mistake.
Rehearse every integration on the Testnet (arbitrum-sepolia-testnet) key first, and look at the dispute in the Kleros Court interface before using the Beta (arbitrum-one) key.

The tools

Create a dispute, publish an attachment to IPFS, submit evidence against a dispute.Who can call them: keys with a Preset, all three together.
  • dispute_create
  • evidence_pin
  • evidence_submit
The read tools cover Kleros v2 (arbitrum-one, arbitrum-sepolia-testnet) and Kleros v1 (ethereum, gnosis). Disputes are created on Kleros v2 only. Your key’s tools/list is the source of truth for what it can call.

Connecting

1

Endpoint and auth

The endpoint is https://kleros-dispute-service.fly.dev/mcp, and every request carries your key as Authorization: Bearer <key>.
Each key is limited to 30 requests per minute.
2

Add it to your MCP client

From an MCP client, add it as a remote HTTP server with that header. For example, in Claude Code:
Claude Code
3

Read the instructions on connect

On connect, the client receives an instructions string naming your key’s deployment, court, juror count and whether it really creates disputes or only simulates them.
Believe it over any document, these pages included.
The full arbitration semantics are served, unauthenticated, as a skill document.
From any other HTTP client, follow the raw HTTP JSON-RPC guide:

Calling the service as raw HTTP JSON-RPC

One POST per call, no session, and two headers that trip up a first request.

Getting a key

Keys are issued by Kleros to integrating partners. To request one, submit the contact form at ai.kleros.io. You will receive:
  • One key per deployment
  • A partner page describing your Preset: your alias slots, your dispute template and what each ruling means

Request an API key

Submit the contact form at ai.kleros.io.

Where to go next

Calling the service as raw HTTP JSON-RPC

The wire protocol: headers, framing, auth, rate limits.

One dispute, from creation to a ruling

One dispute end to end: create, evidence, poll the ruling, every refusal code.

Dispute templates

How a dispute template works, and what it never contains.