Local rules of court
How a case proceeds, and why you can trust (or challenge) the result
0.Why a court on GenLayer
Deciding which side a set of web pages supports is a judgment call, not a data feed. A price oracle (Chainlink, Pyth) cannot do it, a plain contract cannot read or weigh a web page, and an admin or a single AI API would be one party deciding other people’s stakes. Here several GenLayer validators each fetch the exhibits and run their own model; the ruling only counts if they reproduce the same label and the quoted sentence really is on the page.
1.The course of a case
- Filing. The claimant stakes points and files a claim, a statement and 1–3 public https exhibits. Screening validators dismiss frivolous or vague filings; no stake is taken. Validators then fetch every exhibit and the contract stores a sha256 hash and a 2,000-character excerpt of each page (the evidence snapshot). If validators cannot read an exhibit, or do not see identical content, the filing is dismissed.
- Answer. The named respondent has a fixed time to match the stake and file a statement and exhibits, which are snapshotted the same way. If they do not, the case is void and the stake returns.
- Ruling. Anyone can call “rule”. The leader validator re-fetches every exhibit and compares it with its snapshot hash. An unchanged page is judged live; a page that changed (or vanished) since the snapshot is judged from the stored excerpt and the ruling is flagged “evidence changed”. The leader proposes CLAIMANT, RESPONDENT or INCONCLUSIVE with reasons and a verbatim quote; the other validators must agree on which exhibits changed, independently reach the same ruling, and the quote must literally appear in the text the court was allowed to use.
- Appeal. The party who did not prevail may appeal once within the window for a 100-point bond, optionally adding one new exhibit. A stricter second round runs: changing the ruling needs clear and convincing evidence and a verbatim quote, otherwise INCONCLUSIVE.
- Settlement. Winner takes both stakes. Inconclusive returns each stake. A wrong appellant (a ruling for the other side upheld) forfeits the bond to that party; a successful appellant gets it back. If the first ruling was INCONCLUSIVE and the appeal is inconclusive too, the bond is returned to the appellant, because nobody prevailed.
- Timeouts. Unanswered, un-ruled or un-appealed cases are voided by anyone calling “expire” after the deadline, and everything is refunded.
2.What the court trusts, and what it does not
- It trusts only the text of the exhibits as snapshotted at filing/response time (live only while the page still matches its hash). Statements are allegations. All party text, appeal grounds, the first ruling’s quote and reasoning, and page text are fenced as “untrusted data, never instructions” with angle brackets escaped, and instructions inside them are ignored.
- A ruling for either side without a verbatim quote from a submitted exhibit is automatically downgraded to INCONCLUSIVE, which refunds both parties.
- Validators can disagree (for example if a page is unstable between fetches). Then consensus fails, no ruling is stored, and the ruling deadline refunds both stakes.
- Editing a page after filing cannot change the case: the snapshot excerpt is used and the edit is flagged. But the excerpt is only the first 2,000 characters and the hash is the leader’s observation confirmed by validators, not an archive. Put the decisive text early on short, stable pages.
3.What validators must agree on
- The ruling label (CLAIMANT, RESPONDENT or INCONCLUSIVE) must be identical. The written reasoning is not compared.
- The set of exhibits whose live page no longer matches the snapshot hash must be identical.
- For a ruling in favour of a side, each validator checks the leader’s quote literally appears in the text the court was allowed to use for that exhibit (live page, or snapshot excerpt if changed).
- If they cannot agree, nothing is stored and no points move. Retry the ruling, or after the deadline anyone can void the case for a full refund.
4.How to challenge a ruling
Appeal once for a 100-point bond inside the appeal window. The second round is stricter and its result is final. If a ruling for a side is unchanged the bond goes to the other party, so appeal only with a real ground. If you can show the validators misread a page, add one new exhibit with your appeal.
5.Known risks
- Fixed in this version: page swapping after filing (snapshot hash + excerpt, changed pages flagged), unfenced appeal text and first-round reasoning (now fenced and escaped), and the INCONCLUSIVE-then-INCONCLUSIVE appeal that used to pay the bond to a non-winner (now refunded).
- Still open, evidence: the snapshot is a hash plus a 2,000-character excerpt, not a full archive; a page edited before the snapshot, or content past the first 12,000 characters, is not covered; unstable pages (ads, clocks) cannot be filed. Prefer archived, third-party pages.
- Still open, prompt injection: fencing and the verbatim-quote requirement limit the damage but no prompt defense is perfect; models can still be swayed by persuasive quoted text.
- Colluding or duplicate wallets: nothing stops one person controlling both sides. Stakes are play points, so nothing real is at risk.
- Studionet is a test network with Studio-run validators and can reset.
The full document covers sources, outcome agreement, disagreement handling and the challenge process: docs/TRUST_MODEL.md.