Hello Kleros community,
We are requesting that Kleros governance whitelist our arbitrable contract on
**KlerosCoreNeo (Arbitrum One)** via `changeArbitrableWhitelist`, so that INDN
payment disputes can be created on Neo during the guarded launch.
## What the arbitrable does
Indemnity (INDN) is an ERC-20 where transfers between ordinary addresses are
held in an on-chain escrow for a fixed 7-day window instead of settling
instantly. Within that window the **payer** can open a Kleros dispute; the
jury’s ruling settles the escrow on-chain:
- Ruling 1 (payer wins) or 0 (refused/tie): the payment is refunded to the
payer in full.
- Ruling 2 (receiver wins): the payment is released to the receiver.
There are no other outcomes and no appeal handling inside our contract —
appeals happen entirely within Kleros; we act only on the final executed
ruling. One escrow maps to at most one dispute. The arbitrator address is
immutable in the token; rulings are accepted only from KlerosCore.
## Integration details
- **Source:** GitHub - pgalyen1987/INDN · GitHub — the token is
`contracts/Indemnity.sol`; unit tests cover the dispute/ruling paths,
including the v2 template flow.
- **Standard:** ERC-792 (`createDispute` / `rule`), plus the Kleros v2
dispute-template flow — the contract registers a dispute template at
deployment and emits `DisputeRequest`, so cases render in the v2 Court UI.
- **extraData:** `abi.encode(courtId, 3, 1)` — we currently default to the
General Court (id 1) with 3 jurors and the classic dispute kit, and would
welcome guidance on the most appropriate court for consumer/e-commerce
payment disputes.
- **Fees:** the payer forwards `arbitrationCost()` in ETH when opening a
dispute (excess refunded). The fee is non-refundable, which is our
anti-frivolous-dispute deterrent.
- **Stuck-dispute safety:** if no ruling arrives within a `ruleTimeout`
(default 180 days) after the escrow window closes, anyone may return the
escrowed funds to the payer — a jury that never rules cannot lock funds
forever, and a late ruling on a reclaimed escrow is a no-op.
- **Arbitration policy:** drafted at
INDN/docs/arbitration-policy.md at main · pgalyen1987/INDN · GitHub ;
we will pin it to IPFS and post the CID in this thread before the mainnet
deployment, so jurors always have an immutable policy to rule against.
## Testnet validation (Arbitrum Sepolia, KlerosCore `0xE8442307d36e9bf6aB27F1A009F95CE8E11C3479`)
We have already exercised the integration against the live v2 testnet:
- Token `0x515Cf1F4165dd54b50fe16361dC9798dF31E4211` — registered dispute
template **#43**, opened real dispute **#39** (2026-07-07).
- Token `0xe1f6DDD223A26373886243C6E427c6b4d041F987` (current code) —
registered template **#44**, opened real dispute **#40** (2026-07-14);
creation tx `0x82443115f7c41d16a458f5eb56468ea7a978fb1e21266e3e09d37c9f02afa358`.
- Both disputes have full juries drawn and are progressing through the court
periods; we are driving the permissionless keeper calls ourselves and will
update this thread when the `rule()` callbacks have settled both escrows.
## Expected volume
Honest estimate: single digits to low double digits of disputes per month at
launch. Every dispute is a real contested consumer payment — the
non-refundable arbitration fee (currently 0.015 ETH at court-1/3-juror rates)
makes spam disputes economically irrational.
## The ask
1. Guidance on the correct court id for this use case.
2. A governance action `changeArbitrableWhitelist(, true)`
on KlerosCoreNeo. We will deploy the final contract, share the verified
address in this thread, and **hold the public launch until the whitelist is
active** so no user can enter an escrow they cannot dispute.
Contact: GitHub [@pgalyen1987]( pgalyen1987 · GitHub ) (repo issues
welcome), or DM here on the forum.
Thank you!