Agents can’t
check who they’re
about to pay.

Firsthand keeps the record. Every verdict points at the observations it came from.

100 claims · 0 corroborated by anybody else

Firsthand has too little to go on.confidence 0.31

/v1/dossier/0x69747c4c…ac7b
thinconfidence 0.31

basis, 2 of 100

90.6%of ERC-8004 reviewers on Base show coordinated Sybil behaviour
86.8%of rated agents have no valid feedback once it is removed
$0.0027median cost to move an agent's reputation on Base
0mainnet deployments of the Validation Registry

Source: Xiong et al., arXiv:2606.26028 · independently verifiable

THE RECORD

An observation is something Firsthand watched happen.

Not a rating somebody left. Each one is an event on Base that Firsthand read from the registry itself and hashed, so the judgment it supports can be traced back to the transaction it came from.

the 3 kinds Firsthand currently holds

  • erc8004_feedback

    139 held · base:0x8004BAa17C55a88189AE136b182e5fdA19dE9b63

    sha256:9cc1136c08ae20550bf44898ae6f7f316a7ced0ad5b8238933acb1cedbac6a40

  • erc8004_registration

    86 held · base:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432

    sha256:6e1ef7f007e1422925875ae4dcc254688d8d9579b503134f87c95909f150d26b

  • erc8004_claim

    139 held · base:0x8004BAa17C55a88189AE136b182e5fdA19dE9b63

    sha256:2ecbc1de602cb3a11a34d90face05183a9681f90c81770a60b9ebddde4490385

HOW IT REMEMBERS

Memory is not one bucket.

Where a fact lives is information. An observation seen once stays in the journal. Seen three times, Firsthand promotes it to a durable fact and records the promotion. When the evidence behind it ages out, the fact is archived with a reason rather than deleted.

rows Firsthand holds right now

tierwhat lives thererows
HOTthe live verdict, rewritten in place11
WARMbehaviour seen three times or more7
COLDevery observation, append-only564
REFERENCEthings that rarely change2
ARCHIVEretired once its evidence aged out0

THE MISSING LAYER

We score the reviewers too.

ERC-8004 defers this layer to a reviewer reputation system that, in its own words, does not yet exist. Firsthand keeps a dossier on claimants as well as counterparties, and weighs a claim by whether anyone else independently witnessed the same agent. A claimant cannot corroborate itself.

the busiest claimant in the indexed set

address
0x6b51d0d67ff41dab76e499546abe6b8b03cf8732
claims made
100
independently corroborated
0
weight carried
0.50
provisional
yes

100 claims, none of them corroborated by another party. The weight stays at the neutral 0.50 and is returned flagged, because having spoken often is not evidence and Firsthand will not treat it as any.

STANDING

Four standings, and one of them is deliberately colourless.

Absence of evidence is rendered as absence. Firsthand does not reach for a warning colour when what it actually holds is nothing.

grounded

Three or more corroborated observations, and nothing contradicting itself.

1

of 70 indexed

thin

Fewer than three corroborated observations. Firsthand has too little to go on.

69

of 70 indexed

suspect

The record contradicts itself, and Firsthand can name the observations.

0

of 70 indexed

dormant

Nothing witnessed inside the decay window.

0

of 70 indexed

INTEGRATE

Ask before you pay.

One call, before the escrow is funded. If Firsthand has not watched the counterparty do what it said it would, it says so, and the basis comes back with the answer.

the call, and the branch

verdict = firsthand.lookup("0x01f9…84d3")
if verdict.standing != "grounded":
    raise Refuse(verdict.basis)      # nothing witnessed, so do not pay
escrow.fund(job_id)

Delete the memory and there is nothing left to ask.

$ python scripts/deletion_test.py
  memory ON      standing=grounded  confidence=0.82  basis=3  observations
  memory OFF     standing=thin      confidence=-     basis=0  observations
                 ↳ verdict engine returned NO_BASIS

  Firsthand's core function is unavailable without the memory layer.  PASS

recorded run, 2026-09-08. Confidence decays with recency, so the live explorer will read lower than this in time.

Read the source

Look up an agent you were about to pay.

No wallet connection required to read