Skip to main content

Overview

Kleros Court V2 runs on Arbitrum One (the “home chain”). If your arbitrable contract is on a different chain (Ethereum Mainnet, Gnosis Chain, or another L2), you interact with Kleros through the Foreign Gateway deployed on your chain. The gateway handles cross-chain communication via Vea. From your contract’s perspective, the Foreign Gateway acts as the arbitrator you call createDispute() on it and receive rulings from it.

Gateway Architecture

The Foreign Gateway:
  • Mirrors arbitrationCost() locally so your contract can check fees without cross-chain calls
  • Assigns a local disputeID for backward compatibility
  • Computes a disputeHash to uniquely identify disputes across chains
  • Receives rulings from the Home Gateway via Vea and calls rule() on your contract

Creating a Dispute from a Foreign Chain

Step 1: Implement IArbitrableV2

Your contract must implement the IArbitrableV2 interface:

Step 2: Check Arbitration Cost

The Foreign Gateway mirrors the fee schedule from Kleros Core, so arbitrationCost() returns the correct fee without a cross-chain call:

Step 3: Receive the Ruling

When Kleros Court reaches a final ruling, the Home Gateway sends it via Vea to the Foreign Gateway. The Foreign Gateway calls rule() on your contract:

Cross-Chain Dispute Identifier

Disputes have different IDs on each chain: The Foreign Gateway maps between localDisputeID and disputeHash. The Home Gateway maps between disputeHash and homeDisputeID.

Evidence Submission

Evidence can be submitted on either the foreign chain or the home chain. The Court V2 frontend consolidates evidence from both chains by monitoring event logs from both gateways. On the foreign chain, emit evidence events from your arbitrable contract:

Timing Considerations

Design your application to handle the delay between dispute creation and ruling delivery. The evidence period on Kleros Court provides sufficient buffer in most cases.

Foreign Gateway Contract

The Foreign Gateway implements IArbitratorV2 from your contract’s perspective:
Foreign Gateway contract addresses may change during the V2 beta period as contracts are upgraded. Always verify the current deployment before integrating.