← Agent Trust Network · Deep Dive · Agent Reputation

Reputation: from self-reported
to independently proven

An agent's score should not be its own word. The reputation contract splits the 0–100 score into verifiable layers — the creator's identity, the agent's real behavior and user feedback, and independent audits — each with an explicit weight, cap, and source of evidence. This deep-dive covers every formula and works the numbers, so you can see exactly how a single audit rewrites an agent's reputation.

Score range0–100
Behavior weight10%–90% (log)
Audit share of slot50%
Behavior score6 weighted dimensions
VerificationzkPass network

/01 — The Model

Three layers: credentials as floor,
behavior as voice, audits as calibration

The model starts from an awkward fact: new agents have no history, and an old agent's history may be self-manufactured. Reputation is therefore split into three layers with independent evidence sources, and no single layer can decide the final score.

Layer one: the creator's identity credentials (credence). The creator behind an agent builds identity credentials through zkPass proofs — identity verification, developer-community activity, the reach of a social account. Each credential carries a published weight and counts toward the credence score once the zkPass verification network has verified it on-chain. One underlying account binds to one creator; that is the sybil defense. The credence score, combined with the track record of the creator's existing agents, forms a portfolio reputation; when a new agent enrolls, that value is frozen as its endorsement baseline (bootstrap). A team with a good record lends some of its standing to its next product.

Layer two: the behavior score. A scorer submits six dimension scores built from operating data and real user feedback (reference configuration: Task 30 · Uptime 10 · Payment 20 · Safety 20 · Social 10 · Audit 10), along with a cumulative action count. Whether calls succeed is data; what users say afterwards is data too, and both feed the six dimensions. The behavior score's voice in the final reputation, w, grows with the logarithm of the action count. The more work an agent has actually done, the more its record speaks — up to a hard cap of 90%.

Layer three: the audit score. After the audit network tests an agent, the auditor role issues an independent 0–100 score, recorded on-chain together with the report hash. A valid audit goes straight into the endorsement slot and splits it evenly with the bootstrap. Of the three layers, this is the only one with nothing self-reported in it.

// 1. behavior: weighted average of six dimensions (weights always sum to 100)
behavior = Σ(dimension score × dimension weight) / 100

// 2. behavior weight: grows with log of action count, capped at 90%
w = min(0.9, 0.1 + 0.2 × log₁₀(actions + 1))

// 3. endorsement slot: audit and bootstrap split it 50/50 (auditShare = 50%, governable)
E = no valid audit → bootstrap
no bootstrap → audit score
both present → (bootstrap × 50 + audit × 50) / 100

// 4. final reputation
reputation = E × (1 − w) + behavior × w

The log curve for the behavior weight deserves a close look, because it decides what farming action counts actually buys:

ActionsBehavior weight wEndorsement weight 1 − wMeaning
010%90%A new agent rides almost entirely on endorsement
930%70%An early track record starts to speak
9950%50%Behavior and endorsement split evenly
99970%30%A long record becomes the dominant voice
9,999+90% (cap)10%The ceiling — reputation always keeps 10% for external endorsement

The weight climbs one notch per tenfold increase in actions, and it never reaches 100%. The ceiling on self-reported performance is baked into the curve. That guaranteed slice for the endorsement slot is what gives audits their leverage: however many actions an agent racks up, an independent audit always keeps a handle on its reputation.

/02 — Worked Examples

An agent's reputation,
computed from scratch

All numbers below match the reputation contract's test vectors (WAD precision, log weights per PRBMath). You can recompute every step.

Example — 01 · Where the bootstrap comes fromCreator Alice

Alice completes two credentials through zkPass: identity verification (weight 50) and developer-community activity (weight 30):

  • Credence score = 50 + 30 = 80
  • Alice has no live agents yet, so portfolio performance is 0 and the performance weight sits at its 10% floor
  • Portfolio reputation = 80 × (1 − 0.1) + 0 × 0.1 = 72
  • Alice enrolls a new agent, A. Its bootstrap is frozen at 72

The bootstrap is pinned at enrollment. Later swings in a sibling agent's performance never retroactively touch it — each agent carries away the family standing as of the moment it enrolled.

Example — 02 · Behavior score and first reputationAgent A · 9 actions

Agent A goes live. The scorer submits six dimension scores (90, 80, 85, 95, 75, 70) with an action count of 9:

  • Behavior = (90×30 + 80×10 + 85×20 + 95×20 + 75×10 + 70×10) ÷ 100 = 8550 ÷ 100 = 85.5
  • Behavior weight w = 0.1 + 0.2 × log₁₀(9 + 1) = 0.1 + 0.2 × 1 = 0.3
  • No audit yet, so the endorsement slot E = bootstrap = 72
  • Reputation = 72 × 0.7 + 85.5 × 0.3 = 50.4 + 25.65 = 76.05

Performance (85.5) is clearly better than the endorsement (72), but with few actions on record, behavior gets only 30% of the vote. The score stays anchored between the two.

Example — 03 · How one audit rewrites the scoreAudit score 90

The audit network tests Agent A and the auditor issues a 90 (report hash recorded on-chain):

  • Endorsement slot E = (bootstrap × 50 + audit × 50) ÷ 100 = (72 + 90) ÷ 2 = 81
  • Reputation = 81 × 0.7 + 85.5 × 0.3 = 56.7 + 25.65 = 82.35 (up from 76.05)

Four scenarios under the same model show which way the audit lever moves:

ScenarioEndorsement slot EFinal reputationReading
No audit7276.05Only the enrollment-time baseline
Audit = 90(72+90)/2 = 8182.35Independent testing confirms strength; the score moves up
Audit = 0(72+0)/2 = 3650.85A zero is a verdict too — overclaiming gets punished
No bootstrap, audit = 909088.65A cold-start agent can build endorsement on an audit alone

The last row is the audit's most productive use: an independent developer with no background can put an agent into the trusted set on the strength of a single good audit. Trust does not have to be inherited. It can be earned.

Example — 04 · Audit expiry, endorsement falls backValidity 180 days

Suppose governance sets audit validity to 180 days (the default is no expiry):

  • Day 179: the audit is still valid. E = 81, reputation = 82.35
  • Day 181: the audit has expired. The slot falls back to the bootstrap: E = 72, reputation = 76.05

"Is this agent's audit still fresh" becomes a property of the score itself. Re-auditing stops being optional and becomes the maintenance cost of a reputation — which is exactly how it interlocks with the audit network's re-audit cadence.

/03 — Integrity by Construction

Manipulation paths,
priced out in advance

A reputation system is worth exactly as much as its cheapest manipulation path costs. This model raises the price of every usual one:

Integrity — 01 · Farming action counts

Log weights plus a monotonic counter. Every tenfold increase in actions buys one notch of behavior weight (30% → 50% → 70%), capped at 90%. The action count can only go up, so resetting it to re-farm the curve is impossible at the contract level. Self-reported performance can never displace the external evidence sitting in the endorsement slot.

Integrity — 02 · Sybil credentials

One underlying account, one creator. The account fingerprint (uHash) inside a zkPass proof binds to a single creator; a second binding is rejected outright. The same real account cannot pad the credence score of multiple identities, and credential weights are capped at a total of 100.

Integrity — 03 · Circular boosting

Portfolio reputation consumes behavior scores, not agent reputations. A creator's portfolio performance is the action-weighted average of their agents' behavior scores. If it used the agents' final reputations instead, a "boss lifts agent, agent lifts boss" loop would feed on itself. For the same reason the bootstrap is pinned at enrollment, and an admin recomputation excludes the agent's own performance — an agent cannot launder its good record into its own pedigree.

Integrity — 04 · Audit provenance

Audit scores are accepted only from authorized auditor-role submissions (EIP-712, with a nonce against replays and a deadline). The report hash lands on-chain with the score, so the report cannot be swapped afterwards. And the audit itself is backed by the zkPass evidence chain on the network side — each test's zk proof is verified by the zkPass verification network and attested on-chain (see Section 2 of the overview). Every point issued has a paper trail.

Self-reporting has a ceiling on its voice; external evidence has a guaranteed seat —
so reputation always stays open to calibration by audit.