Integrating Your Platform with the Kleros Dispute Resolution Protocol

Arbitration Services for Blockchain Products, Marketplaces, Dapps and More…

In this article, Kleros’ CEO Federico explained the vision of Kleros as a decentralized arbitration protocol on top of which many applications will be built. Now that Kleros has launched on the mainnet, we have received a number of questions about how this will actually work from a technical point of view: how to integrate 3rd party platforms with our protocol?

Zaid, a member of our community, asked some important questions about how to integrate Kleros with his platform. This sparked an interesting discussion on Slack. So we decided to turn it into this blog post, in the hopes that it will clarify questions by other members of the community.

Will your platform offer APIs where our marketplace can submit disputes for rulings? Will these be SOAP/REST web services or do I have to submit a dispute request directly to the Ethereum blockchain? Have these been defined?

Kleros is the implementation of an arbitrator as per the arbitration standard we developed. This means that you don’t need to specifically integrate with Kleros. 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. This implementation consists of three general parts: the smart contracts, the store, and the UI.

We have developed a library (kleros-api) that can be used with any arbitrator smart contract to develop applications that follow the arbitration standard. This library needs a Web3 provider to make calls to the smart contracts and some sort of store (e.g. IPFS) to store large static assets such as evidence. To learn more about this, see the evidence standard. We do not plan to create a centralized service that exposes an API that does not require your own Web3 provider. If you don’t want to use your own node, you can always use Infura or your browser’s connection to it.

What’s the message and attachment size limit?

File size limit is defined by the limits of whatever file storage system you decide to use.

How would the process work from an integration perspective?

You create an arbitrable smart contract as per the arbitration standard (or use/adapt one of ours) that allows parties to execute the following flow:

Kleros dispute resolution contract interaction flow.

You can use kleros-api to implement your clients faster, and you can look at kleros-interaction for examples of smart contract implementations.

Are our case files stored securely where only appointed jurors under NDA can view information that may be commercially sensitive for the public domain? On what sort of storage system? How do we distribute case files?

At the moment no. However, we are planning to support custom evidence privacy logic by using encryption, merkle trees, and zero knowledge proofs. You can decide what storage system to use (e.g. IPFS, Swarm, etc.). You can send the files by following the evidence standard or save time by using kleros-api.

Anyone depositing PNK in a sub court is eligible to be a juror in Kleros. In the future, we might create subcourts where you need to be whitelisted to participate. To learn more, read our white paper.

Will the reasons from the jury for a ruling be provided to the parties involved in the dispute?

Not at this moment. This is planned for a future release.

Join Kleros!

Join the community chat on Telegram.

Visit our website.

Follow us on Twitter.

Join our Slack for developer conversations.

Contribute on Github.