Skip to main content

Kleros Arbitrator Proxy Addresses

The arbitrator proxy sits between Reality.eth and Kleros Court. When asking a question on Reality.eth, you pass the proxy address as the arbitrator parameter.

Ethereum Mainnet

Sepolia Testnet

Gnosis Chain

Cross-chain Proxies

For deployments where the question lives on one chain and arbitration runs on another (e.g. question on Polygon, arbitration on Ethereum), see the cross-chain-realitio-proxy deployments.
Each proxy is configured with a specific subcourt, initial number of juror votes, and arbitration fee. Contact integrations@kleros.io to deploy a custom proxy for your use case.

Reality.eth Interface

Your contract interacts with Reality.eth through these core functions.

Asking Questions

Any ETH sent with this call becomes the question reward, paid to the answerer who provides the final accepted answer (minus any arbitrator fee deduction). For ERC20 reward tokens, use askQuestionERC20().

Reading Answers

resultFor() reverts when the question is not yet finalized. Always check isFinalized() first, or use a try/catch wrapper, or use the callback pattern shown in the Integration Guide.

Submitting Answers

Requesting Arbitration

To check the current arbitration fee:

Question Format

Questions use the Unicode delimiter (U+241F) to separate fields. The exact format depends on the template.
The standard template definitions:

Result Interpretation

Answers are returned as bytes32. How to decode them depends on the template.

Special Values

Two reserved bytes32 values appear in answers:
  • 0xff...ff (all fs) - Invalid. The question is unanswerable, ambiguous, or violates the question policy. Always handle this case in your contract.
  • 0xff...fe (all fs except the last digit) - Answered too early. The question was asked before the underlying event could be resolved. The question can be re-asked once the event has occurred.
Decoding examples:

Arbitration Flow

When arbitration is requested:
  1. The requester pays the arbitration fee to the Kleros Arbitrator Proxy
  2. The proxy creates a dispute in Kleros Court with the configured subcourt and juror count
  3. The evidence period opens; parties submit evidence through the proxy contract
  4. Jurors vote based on the question and submitted evidence
  5. Once the ruling is final, the proxy calls submitAnswerByArbitrator() on Reality.eth
  6. Reality.eth finalizes the answer based on the arbitrator’s ruling

Evidence Submission

Evidence is submitted through the Kleros Arbitrator Proxy contract, not through Reality.eth.
Evidence JSON follows the ERC-1497 standard format:
Anyone can submit evidence during the evidence period, and multiple submissions are allowed. For the full evidence submission workflow, format guidelines, and event monitoring patterns, see the Integration Guide → Evidence Submission.

Fees and Payments

The Reality.eth + Kleros system involves several fee types, each with a specific role in the incentive structure. *When settled by arbitration, the arbitrator specifies who receives the reward. For full details on each fee - including how the takeover fee equals the previous answerer’s bond, and when the 2.5% claim fee burn applies (Reality.eth v2.1+) - see the Integration Guide → Fees and Payments.