Integrations · on-chain escrow · retained

Kleros escrow, Recourse as arbitrator

For funds already sitting in Kleros's EscrowUniversal. The escrow is unmodified; it names RecourseArbitrator — an ERC-792 v2 arbitrator with zero on-chain fee — instead of the Kleros court. The venue signs the determination (EIP-712, domain RecourseArbitrator/1) and anyone submits it with executeSignedRuling; the escrow pays out.

Bundle: settlement: { rail: "kleros_escrow", chain_id, escrow, arbitrator, transaction_id, dispute_id } after the escrow has opened the dispute. Kleros rulings are binary (1 buyer refunded, 2 seller paid): the side the determination favours takes the escrowed amount and the full proportional split stays on the record. Escalated determinations carry no signature. Send the execution with an explicit gas limit (≈600k): the escrow swallows a failed token transfer rather than reverting, so gas estimation converges on a value at which the payout starves.

Contracts, tests and deploy script in contracts/. New integrations should use the Recourse Protocol, which executes the split as ruled and adds appeal rounds and timeouts.

All integrationsRails in the API docs