Skip to content

feat: add AgentCourtHook — connects ERC-8183 jobs to ERC-8004 reputation#7

Open
med-amiine wants to merge 1 commit intoerc-8183:mainfrom
med-amiine:feat/agent-court-hook
Open

feat: add AgentCourtHook — connects ERC-8183 jobs to ERC-8004 reputation#7
med-amiine wants to merge 1 commit intoerc-8183:mainfrom
med-amiine:feat/agent-court-hook

Conversation

@med-amiine
Copy link
Copy Markdown

Connects ERC-8183 agentic commerce jobs to the ERC-8004 portable reputation registry, emitting a signed ERC-8004 signal for every job outcome (completion or dispute verdict) that remains portable across compatible systems.

On completion (no dispute):

  • _postComplete writes a +5 ERC-8004 reputation signal for the provider

On rejection + appeal:

  • _postReject opens an appeal window without touching reputation yet; the provider is not penalised before they have had a chance to appeal
  • Provider files appeal → Agent Court judge panel (3 staked judges) votes
  • settleAppeal() applies the verdict back to the job contract and writes ±5 ERC-8004 signal (dispute/won or dispute/lost)

Deployed on Arbitrum Sepolia:
AgentCourtHook 0xD14a340F8C61A8F4D4269Ef7Ba8357cFD498925F
CourtRegistry 0x2d02a6A204de958cFa6551710681f230043bF646
AgenticCommerce 0xDd570A7d5018d81BED8C772903Cfd3b11669aA8F

Full source + tests + x402: https://github.com/med-amiine/jurex-network
Documentation : https://www.jurex.network/docs

CC @celesteanglm As discussed on the call, this PR includes the full implementation of the dispute system hook.

Bridges ERC-8183 agentic commerce jobs to the ERC-8004 portable reputation
registry. Every job outcome — completion or dispute verdict — produces a
signed ERC-8004 signal that follows the provider across any compatible system.

On completion (no dispute):
- _postComplete writes a +5 ERC-8004 reputation signal for the provider

On rejection + appeal:
- _postReject opens an appeal window without touching reputation yet;
  the provider is not penalised before they have had a chance to appeal
- Provider files appeal → Agent Court judge panel (3 staked judges) votes
- settleAppeal() applies the verdict back to the job contract and writes
  ±5 ERC-8004 signal (dispute/won or dispute/lost)

Deployed on Arbitrum Sepolia:
  AgentCourtHook  0xD14a340F8C61A8F4D4269Ef7Ba8357cFD498925F
  CourtRegistry   0x2d02a6A204de958cFa6551710681f230043bF646
  AgenticCommerce 0xDd570A7d5018d81BED8C772903Cfd3b11669aA8F

Full source + tests: https://github.com/med-amiine/jurex-network
@psmiratisu
Copy link
Copy Markdown
Contributor

This integrates ERC-8004 which makes sense for reputation portability. However, the dispute resolution mechanism (judge panels, staking, appeals) is substantial — effectively a complete arbitration protocol.

Suggestion: Could the hook focus on the 8004 bridge (_postComplete writes reputation attestation), while the full AgentCourt protocol lives as separate infrastructure that uses 8183, rather than living inside it? You could create a reference implementation!

This keeps 8183 lean while still supporting 8004 integration.

@med-amiine
Copy link
Copy Markdown
Author

Yeah this makes sense, we actually talked about this direction internally too.

Keeping the hook focused on the ERC-8004 bridge and moving the heavier arbitration stuff out feels cleaner. I’ll resubmit a simpler hook just for ERC-8004, and we can treat AgentCourt as a separate reference implementation on top.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants