Smart contract integration with Kleros Court (Arbitrator)
When you want to integrate your smart contract with Kleros Court for a fully trustless integration.
Last updated
When you want to integrate your smart contract with Kleros Court for a fully trustless integration.
Last updated
Kleros Court is the implementation of an arbitrator as per the Arbitration standard we developed. Most integrations consist in building or customizing an Arbitrable app so it can request arbitration to Kleros Court. Once you integrate with the Arbitration standard, you (or your users) will be able to choose any arbitrator that follows the standard to solve disputes, including Kleros.
You can build an arbitrable smart contract or ensure your existing smart contracts are compliant with the Arbitrable interface:
From scratch by applying the Arbitration standard (and/or using the Archon library),
By customizing one of our examples or looking at live integrations,
By working with Cooperative Kleros to adapt yours to the standard or creating a connector,
If you want to integrate with Kleros for dispute resolution, you will have to create an Arbitrable
smart contract as per the Arbitration Standard that will allow executing the following flow:
In the Arbitrable
contract, you will have to define at least:
the address of the Arbitrator
contract (look at the top of this page for the addresses of Kleros Court Arbitrators.
Some extra data to set up the arbitration (that will specify the sub-court to be used and the number of vote required)
List of subcourt IDs below,
We recommend starting with 3 votes.
Script to generate the arbitrator extra data
generateArbitratorExtraData = (subcourtID, noOfVotes) => 0x${parseInt(subcourtID, 10).toString(16).padStart(64, "0") + parseInt(noOfVotes, 10).toString(16).padStart(64, "0")};
(If appeals are allowed) Stake multipliers representing multipliers of the appeal cost that a party must pay for a new round (in basis points)
List of Subcourt IDs (Ethereum Mainnet) The General Court ID is 0.
Blockchain
Non-Technical
Token Listing
Technical
Marketing Services
English Language
Video Production
Onboarding
Curation
Data Analysis
Statistical Modeling
Curation (Medium)
Spanish-English Translation
French-English Translation
Portuguese-English Translation
German-English Translation
Russian-English Translation
Korean-English Translation
Japanese-English Translation
Turkish-English Translation
Chinese-English Translation
Corte General en Espanol
Humanity Court
You can also check the subcourt IDs on community-owned http://klerosboard.com/.
Learn more about how to build an Arbitrable app integrated with the Kleros Court arbitrator by reading the ERC-792 Arbitration Standard linked below.
You can test your arbitrable app on mainnet and most testnets by deploying a centralized arbitrator that you control (= you can easily give rulings/decisions and set the arbitration fee) and testing the integration this way. More details about the arbitrator on the page linked below.
For more details, please consult the Arbitration Standard documentation, have a look at the examples of implementations shared here, or contact us on Discord, Telegram, Slack, or send a mail to contact@kleros.io (links on the bottom left).