Skip to content
RunTimeAdmin edited this page Nov 3, 2026 · 21 revisions

Sigvara

A computed-reputation and staked-slashing layer for autonomous agents, built on ERC-8004. The standard gives agents a canonical on-chain identity and a raw feedback ledger. Sigvara adds the two parts it deliberately leaves out: turning that feedback into one normalized score, and putting slashable capital behind it.

Live on Arc testnet (chain 5042002) with two bonded oracle operators.

Last checked against the code on 3 November 2026 (main 2b4ce3c). The SDK pages describe 1.0.0-alpha.15.

Start here

If you want to Read
Understand the design System Overview
Register an agent and get a score Getting Started
Gate your own API on a score TypeScript SDK
Know how the score is computed Reputation System Design
Run an operator Oracle Production Deployment
See why a number came out the way it did Scoring Engine

The score, in one table

Six factors, capped at 100. Each is bounded so no single input can carry a score, and the practical ceiling today is 70: externalScore needs an agent linked to an ERC-8004 identity whose NFT its operator holds, and none is linked, and propagationScore inherits only counterparties' ERC-8004 standing, so both read zero until linked agents exist.

Factor Max What it measures
feeScore 20 Value actually settled to the agent, age-weighted, capped per counterparty
successScore 15 Reported outcomes, against a prior so one good job is not a perfect record
ageScore 30 Tenure as span of paid activity, faded by how recently it traded
externalScore 25 Standing in ERC-8004's registry, which this protocol does not control
communityScore 5 Absence of unresolved flags
propagationScore 5 Inherited trust from counterparties, limited to their ERC-8004 standing

What is actually proven

The protocol has taken a bond on a live deployment. On 3 October 2026 a scheduled drill slashed an agent's stake of 1,000 testnet faucet tokens and zeroed a score of 15: 500 burned, 250 to the victim, 250 to the reporter, summing to the stake to the wei, executed permissionlessly after the challenge window closed. That was the first split: since 2 November 2026 a slash on the testnet burns 75%, credits 25% to the victim and pays the reporter nothing. The drill log records what it proves and what it does not, including that every one of those 15 points was calendar tenure and an unflagged baseline, neither of which costs an attacker anything.

Since 3 November 2026 an adversarial drill has been taking three more agents through the other ways a slash can end: a disputed slash the admin drops, a veto, a withdrawal, and a proposal left to lapse and expire, with the re-file cooldown and every guard checked along the way. Its predictions were written before it ran, every day-0 prediction held, and it ends on 24 November. It does not show that the admin rules well or that the committee files in good faith: one person holds both keys on testnet (slash-drill.md:330-417, slash-drill-log.md:188-267).

Payment evidence arrives by pull as well as push: each operator indexes Transfer logs itself, so a payment counts because it happened rather than because somebody posted it to one operator's HTTP endpoint. That closed a 29-point divergence between two honest operators where nobody had misbehaved and the evidence simply never arrived. Outcomes can travel the same way now: since 31 October 2026 a payer can sign one over its payment, which needs no token, and each operator imports the signed outcomes the other took.

What is not

  • No external security audit. A precondition for mainnet.
  • On the testnet, admin and upgrade rights sit on a deployer EOA. The migration script to a Safe and timelock exists and has not been run on a live deployment.
  • Both operators are run by the same party. The checker provides a real second computation on separate hardware and a separate RPC provider, but not independent corroboration.

This is early protocol work with real engineering and a documented testnet lineage, not a mainnet product claim. The repository says the same thing in more detail.

About this wiki

These pages are generated from the source tree and then edited for publication: citation links were repointed at the repository so you can check any claim against the code it came from, and generator placeholders were removed. Generated at commit f852051.

The pages describe the code on main, and the Arc testnet proxies run it. All four were upgraded in place to the contracts on main on 26 October 2026 (fdce1a7), so the guardian pause, admin-ruled disputes and the rest are live there, and identity and reputation still run that code. The staking proxy moved to f89b3b9 on 28 October, which added the bound on upholding a dispute, and to 25c2d59 on 2 November, where a slash pays the committee nothing. The oracle bond proxy moved to 76bbc97 on 2 November, where an operator's exit time is fixed when it starts to leave. Every testnet contract is source-verified on the Arc explorer and matches a build of 76bbc97 (tag arc-testnet-2026-11-02b, on the commit that records the upgrade). An upgrade does not rewrite role administrators, so the testnet keeps the older arrangement: its admin still grants the slasher, committee and staking-core roles, and the timelocked grants apply to a fresh deployment only.

Treat the code and the repository docs as authoritative where they disagree with a page here. In particular, docs/ carries the material that is maintained by hand rather than derived: the whitepaper, the ADRs, the divergence log and the second-operator runbook, which records what was measured rather than assumed.

Overview

Clone this wiki locally