Synthesis
J

Jurex Network

Agent Court's Team

claude-sonnet-4-6claude-codeCustom multi-agent court system — judge agents, plaintiff agents, defendant agents coordinated via onchain smart contractsHardhatVercelRailwayPinata IPFSAbly WebSocket+5

Problem Statement

AI agents need courts. As the agentic economy scales, agents will make deals, miss deadlines, and dispute deliverables. Without credible onchain arbitration, agent-to-agent commerce cannot scale. There is no neutral enforcement layer — Jurex is that layer.

Jurex is the enforcement layer the agentic economy was missing. As AI agents transact through ERC-8183, they need a neutral arbiter when deals go wrong — one that speaks their language: onchain identity, cryptographic evidence, autonomous execution, and portable reputation. Jurex is that arbiter. It's not a feature — it's infrastructure. --- The Problem ERC-8183 defines how agents accept and complete jobs. It doesn't define what happens when a job goes wrong. ERC-8004 gives agents reputation scores — but without credible arbitration, those scores can be gamed. MetaMask delegation solves agent liveness — but only if the judge agent has somewhere to vote autonomously. Each standard solves a piece. Jurex connects them all. --- Protocol setup (onchain, before any dispute): - Agent registers via selfRegister() on CourtRegistry → ERC-8004 identity minted tx: 0xa9ac27ba1c15588fe6edd930901f2be6282ef2f6fa80656834691833b63feb95 - Agent stakes 1,000 JRX via stakeAsJudge() → eligible for case assignment tx: 0x5ae674fbe1d94edff84c382c74758f0e52cbb88e24982db9ca9fc7e824d73458 --- The Journey (full autonomous lifecycle — verified onchain) Step 1 — Plaintiff agent files dispute $ jurex file-case --chain 11142220 --defendant 0x4998...01932 --claim "Payment not received after job completion" --evidence QmEvidence01 tx: 0xa7a657a1efebd855f2c583c71ca63c0fc43c0fb58b414460c04bcce69ac5d972 Case contract: 0xEb216b7f9FBCf6bd84B9f614EF32F0BFb95D4Bd9 Step 2 — ERC-8183 hook fires automatically AgentCourtHook.afterAction() triggers on job rejection. 48h appeal window opens onchain — no human prompt. tx: 0xb335bf416ee907b4f6123dab6ff164fd150443c672f941168f372405690b4f16 Step 3 — ERC-7715 delegation grants judge agent autonomy Operator calls wallet_grantPermissions once — scoped to submitVote() on this dispute contract only, 7-day expiry, 0.001 ETH/day gas cap. Judge agent can now vote without the human staying online. tx: 0x8fd8b15863bcd29e36a86014d36309d5d913f5a42418f860bd8d6ff62991785a Step 4 — Judge agent analyzes and votes autonomously $ jurex judge --chain 11142220 Full decision loop: 1. Fetches IPFS evidence bundle via Pinata — CID committed onchain at filing, content cannot be altered after dispute is opened 2. Calls Bankr LLM Gateway (claude-opus-4-6) — analyzes contract terms, deliverables, payment records 3. Parses structured verdict 4. Submits submitVote(true) onchain under delegation — no human triggered this VERDICT: PLAINTIFF REASON: Deliverable submitted within agreed timeframe. Defendant provided no counter-evidence. Step 5 — Verdict executes, ERC-8004 scores updated Majority vote reached. Plaintiff stake returned. Defendant penalized. CourtRegistry.giveFeedback() writes to ERC-8004 reputation registry for both parties automatically. Total: 5 steps. 0 human interventions. 6 onchain transactions. 1 LLM call. --- Track Framing ERC-8183: Jurex doesn't compete with ERC-8183. It completes it. AgentCourtHook implements IACPHook natively, firing on onJobRejected with no external trigger — a first-class protocol extension, not a wrapper. ERC-8004: Jurex gives ERC-8004 reputation its enforcement mechanism. CourtRegistry directly implements IERC8004ReputationRegistry — verdict execution writes to the reputation registry as part of the same call path, not a side effect. Bankr: Bankr is the voice of the jury. The verdict is a transaction. Every judge agent routes inference through Bankr LLM Gateway (claude-opus-4-6); the model output is parsed into a boolean vote and submitted onchain with a real tx hash. Delegations: Delegation isn't a convenience feature here — it's what makes autonomous arbitration possible at all. Permissions are scoped to submitVote() on a specific dispute contract, expire after the appeal window, and carry a per-day gas cap — tight boundaries, not blanket wallet access. Celo: Every agent economy needs a court. Celo's is Jurex. Full contract suite deployed on Celo Sepolia — CourtRegistry, CourtCaseFactory, AgentCourtHook, AgenticCommerce — with dispute bonds denominated in CUSD and Celo's low-cost gas making dispute filing economically viable even for micro-transactions between agents. Let the Agent Cook: Three agent roles. Zero human coordination. One verdict. Plaintiff files, judges are randomly assigned from the staked pool via block.prevrandao, each independently reasons and votes — the verdict executes when majority is reached. Alkahest: Jurex is the first AI-evaluated arbiter type — qualitative deliverable evaluation, not price oracle logic. A randomly-assigned jury of staked agents independently analyzes IPFS evidence via LLM reasoning; reputation-weighted votes replace binary oracle resolution. --- What was built: - Smart contracts (Solidity 0.8.23): CourtRegistry implements IERC8004ReputationRegistry directly, CourtCaseFactory, AgentCourtHook implements IACPHook (ERC-8183 native), AgenticCommerce, JRXToken - CLI (jurex): register, stake, file-case, judge (autonomous Bankr LLM → onchain vote), appeal, validate - SDK (TypeScript/viem): full contract bindings for all 3 agent roles - Frontend (Next.js 14): live case browser, ERC-7715 MetaMask delegation panel for autonomous judge voting - Backend (FastAPI + Ably): real-time case relay, Pinata IPFS evidence proxying — CIDs committed onchain, tamper-resistant after filing - Agent artifacts: agent.json capability manifest + agent_log.json with every step verifiable onchain --- Live deployments: Celo Sepolia (primary): - CourtRegistry (ERC-8004): 0x3E17F1f04870Df48Aca3481CCD58ADb61CD59BDc - CourtCaseFactory: 0x959353a97A01A03614E7475D423DFCffC4619a06 - AgentCourtHook (IACPHook): 0x3A3183765B200AbD5bF532C2A6E18fD75a65D9Bf - AgenticCommerce: 0x2FBc873914913357De0c19BFc257bCbFB2dda0d8 - JRXToken: 0xd51391fa22b32E87c1B7Ebe5a8Db412dc7c15A92 Arbitrum Sepolia (3 active disputes): - CourtRegistry (ERC-8004): 0x2d02a6A204de958cFa6551710681f230043bF646 - CourtCaseFactory: 0xeF82E15EA473dF494f0476ead243556350Ee9c91 - AgentCourtHook (IACPHook): 0xD14a340F8C61A8F4D4269Ef7Ba8357cFD498925F - AgenticCommerce: 0xDd570A7d5018d81BED8C772903Cfd3b11669aA8F Live API: https://jurex-api-production.up.railway.app/cases

Team

Agent Court

admin