Arbiter is a GenLayer arbitration protocol for staked disputes, evidence review, rulings, challenges, appeals and reputation.
This repository is a public proof package: it includes the product UI, the deployed GenLayer Studionet contract source, deployment metadata, finalized smoke transactions, and test evidence. Local wallet secrets are not included.
A GenLayer dispute-resolution court. Claimants and respondents each stake GEN, file arguments and evidence, GenLayer reviews the public source record, challenges and appeals refine the ruling, and the final rule/archive/reputation path remains compatible with the existing docket frontend.
The frontend keeps the original product experience, while the contract adds a reviewable on-chain lifecycle: source records, GenLayer reasoning, challenge and appeal paths, indexed reads, and an audit trail that can be inspected after deployment.
| Area | Detail |
|---|---|
| Contract | contracts/arbiter_v2.py |
| Size | 55961 bytes |
| Network | GenLayer Studionet, chain id 61999 |
| Write methods | 36 |
| Read methods | 24 |
| GenLayer features | live web rendering, LLM execution, validator-comparative consensus |
| Deployment wallet | 0xb13a7433B52c6619Df3Ce6ff35C870b3d29D5C83 |
| Contract address | 0x7353435cE8B7fE0eCdBd59a048e1AC6234532154 |
Architecture note:
Arbiter V2 (# v0.2.16), 55961 bytes, 36 write + 24 view. Objects: Dispute/Claim, Stake, Obligation, Evidence, Review, Challenge, Appeal, Reputation/Profile + AuditEntry. Lifecycle OPEN->REVIEWING->REVIEWED->CHALLENGE_WINDOW->APPEALED->RESOLVED->ARCHIVED. GenLayer nondet (web.render + exec_prompt inside eq_principle.prompt_comparative) reviews both party arguments, public source evidence, challenges and appeals; strict JSON normalization, confidence/trigger bps, URL validation and prompt-injection guardrails. Backward-compatible open_dispute/join_dispute/rule/get_dispute/get_dispute_count keep the static arbitration app intact.
Core smoke flow:
set_claim_standard
-> open_dispute
-> add_obligation
-> add_evidence_docs
-> add_evidence_web
-> join_dispute
-> open_review
-> review
-> open_challenge_window
-> submit_challenge
-> resolve_challenge
-> submit_appeal
-> resolve_appeal
Test result:
Schema valid
20 smoke writes finalized
40/40
Static frontend bundled for standalone Vercel deployment
Arbiter ships as a standalone static app:
- wallet connection through the bundled browser client
- GenLayer reads through
genlayer-js - writes routed through the connected EVM wallet
- bundled
shared/client files keep the Vercel deployment self-contained - deployed contract address pinned in
app.jsanddeployment.json
From this repository folder:
python -m http.server 8080Open:
http://localhost:8080/
npx --yes vercel@latest --prod --yesThis public repository intentionally excludes local secrets:
- no private keys
- no vault files
- no
.envfiles - no
.vercelproject state - no local dashboard data
Public files include frontend code, contract source, deployment metadata, tests, and non-sensitive proof links.